OID_PNP_CAPABILITIES
Il OID_PNP_CAPABILITIES OID richiede a un driver miniport di restituire le funzionalità di riattivazione della scheda di rete o richiede a un driver intermedio di restituire le funzionalità di riattivazione del driver intermedio. Le funzionalità di riattivazione vengono formattate come struttura NDIS_PNP_CAPABILITIES, definita come segue:
typedef struct _NDIS_PNP_CAPABILITIES {
ULONG Flags;
NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
I membri di questa struttura contengono le informazioni seguenti:
Bandiere
NDIS_DEVICE_WAKE_UP_ENABLE
NDIS imposta questo flag se il driver miniport sottostante supporta una o più funzionalità di riattivazione. I driver del protocollo possono testare questo flag per determinare se un driver miniport sottostante ha funzionalità di riattivazione. I driver miniport non devono accedere a questo flag.
RiattivazioneCapabilities
Struttura NDIS_PM_WAKE_UP_CAPABILITIES che specifica le funzionalità di riattivazione della scheda di rete del driver miniport. La struttura NDIS_PM_WAKE_UP_CAPABILITIES è definita come segue:
typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
I membri di questa struttura contengono le informazioni seguenti:
MinMagicPacketWakeUp
Specifica lo stato di alimentazione del dispositivo più basso da cui la scheda di rete del driver miniport può segnalare una riattivazione sulla ricezione di un pacchetto magic. Un pacchetto magic è un pacchetto che contiene 16 copie contigue dell'indirizzo Ethernet della scheda di rete ricevente. Lo stato di alimentazione del dispositivo viene specificato come uno dei valori di NDIS_DEVICE_POWER_STATE seguenti:
NdisDeviceStateUnspecified
La scheda di rete non supporta riattivazioni magic-pacchetti.
NdisDeviceStateD0
La scheda di rete può segnalare una riattivazione magic-pacchetti dallo stato di alimentazione del dispositivo D0. Poiché D0 è lo stato completamente alimentato, questo non causa un riattivazione, ma può essere usato come evento di runtime.
NdisDeviceStateD1
La scheda di rete può segnalare una riattivazione di pacchetti magic dagli stati di alimentazione del dispositivo D1 e D0.
NdisDeviceStateD2
La scheda di rete può segnalare una riattivazione di pacchetti magic dagli stati del dispositivo D2, D1 e D0.
NdisDeviceStateD3
La scheda di rete può segnalare una riattivazione magic-pacchetti dagli stati di alimentazione del dispositivo D3, D2, D1 e D0.
MinPatternWakeUp
Specifica lo stato di alimentazione del dispositivo più basso da cui la scheda di rete del driver miniport può segnalare un evento di riattivazione in ricezione di un frame di rete che contiene un modello specificato dal driver del protocollo. Lo stato di alimentazione viene specificato come uno dei valori di NDIS_DEVICE_POWER_STATE seguenti:
NdisDeviceStateUnspecified
La scheda di rete non supporta la riattivazione pattern-match.
NdisDeviceStateD0
La scheda di rete può segnalare una riattivazione modello-corrispondenza dallo stato di alimentazione del dispositivo D0. Poiché D0 è lo stato completamente alimentato, questo non causa un riattivazione, ma può essere usato come evento di runtime.
NdisDeviceStateD1
La scheda di rete può segnalare una riattivazione modello-corrispondenza dagli stati di alimentazione del dispositivo D1 e D0.
NdisDeviceStateD2
La scheda di rete può segnalare una riattivazione del modello da stati di alimentazione del dispositivo D2, D1 e D0.
NdisDeviceStateD3
La scheda di rete può segnalare una riattivazione modello-corrispondenza dagli stati di alimentazione del dispositivo D3, D2, D1 e D0.
MinLinkChangeWakeUp
Riservato. NDIS ignora questo membro.
Per i driver miniport
Dopo aver completato l'inizializzazione del driver miniport, sia il driver del protocollo che l'NDIS possono eseguire query sul driver miniport con questo OID per determinare quanto segue:
Indica se il driver miniport è compatibile con IL PM.
Le funzionalità della scheda di rete indicano gli eventi di riattivazione della rete.
Se il driver miniport restituisce NDIS_STATUS_SUCCESS a una query di OID_PNP_CAPABILITIES , NDIS considera il driver miniport in grado di essere a conoscenza del pm. Se il driver miniport restituisce NDIS_STATUS_NOT_SUPPORTED, NDIS considera il driver miniport legacy che non è a conoscenza del PM.
Quando si chiama NdisMSetAttributesEx, un driver miniport che non supporta le funzionalità di riattivazione, ma che può salvare e ripristinare lo stato della scheda di rete in una transizione allo stato di alimentazione può impostare il flag di NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND . L'impostazione di questo flag impedisce a NDIS di chiamare la funzione MiniportHalt del driver prima che il sistema passi a uno stato di bassa potenza (sospensione). Tuttavia, se il driver miniport restituisce NDIS_STATUS_NOT_SUPPORTED in risposta a una query OID_PNP_CAPABILITIES, NDIS ignora il flag di NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND e arresta la scheda di rete se il sistema entra in uno stato di bassa potenza.
Una scheda di rete del driver miniport può supportare qualsiasi combinazione di eventi di riattivazione, inclusi gli eventi di riattivazione. Un driver miniport può comunque supportare la gestione delle energia anche se la scheda di rete non può segnalare eventi di riattivazione. In questo caso, gli unici ID di gestione energia supportati dal driver miniport oltre a OID_PNP_CAPABILITIES sono OID_PNP_QUERY_POWER e OID_PNP_SET_POWER.
Se una scheda di rete di un driver miniport non supporta un particolare evento di riattivazione, il driver miniport deve indicare un valore NDIS_DEVICE_POWER_STATEdi NdisDeviceStateUnspecified per l'evento di riattivazione nella struttura NDIS_PM_WAKE_UP_CAPABILITIES .
OID_PNP_CAPABILITIES indica solo le funzionalità di riattivazione di una scheda di rete del driver miniport; non abilita tali funzionalità. OID_PNP_ENABLE_WAKE_UP viene usato per abilitare le funzionalità di riattivazione di una scheda di rete.
Per i driver intermedi
Se la scheda di rete sottostante è con riconoscimento pm, il driver intermedio deve restituire NDIS_STATUS_SUCCESS a una query di OID_PNP_CAPABILITIES . Nella struttura NDIS_PM_WAKE_UP_CAPABILITIES restituita da questo OID, il driver intermedio deve specificare uno stato di alimentazione del dispositivo di NdisDeviceStateUnspecified per ogni funzionalità di riattivazione ( MinMagicPacketWakeUp o MinPatternWakeUp). Tale risposta indica che il driver intermedio è a conoscenza del pm, ma non gestisce un dispositivo fisico.
Se la scheda di rete sottostante non è a conoscenza del pm, il driver intermedio deve restituire NDIS_STATUS_NOT_SUPPORTED a una query di OID_PNP_CAPABILITIES .
Nota Per informazioni su come NDIS 6.20 e versioni successive i driver miniport segnalano funzionalità di risparmio energia, vedere Creazione di report sulle funzionalità di Power Management.
Requisiti
Versione |
Supportato in NDIS 6.0 e NDIS 6.1. Per NDIS 6.20 e versioni successive , usare OID_PM_CURRENT_CAPABILITIES invece. |
Intestazione |
Ntddndis.h (include Ndis.h) |