Condividi tramite


OID_PNP_CAPABILITIES

L'OID OID_PNP_CAPABILITIES 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:

flag
NDIS_DEVICE_WAKE_UP_ENABLE

NDIS imposta questo flag se il driver miniport sottostante supporta una o più funzionalità di riattivazione. I driver di 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.

WakeUpCapabilities
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 alla ricezione di un pacchetto magic. Un pacchetto magic è un pacchetto contenente 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-packet.

NdisDeviceStateD0
La scheda di rete può segnalare una riattivazione magic-packet 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 magic-packet dagli stati di alimentazione del dispositivo D1 e D0.

NdisDeviceStateD2
La scheda di rete può segnalare una riattivazione magic-packet dagli stati del dispositivo D2, D1 e D0.

NdisDeviceStateD3
La scheda di rete può segnalare una riattivazione magic-packet 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 alla ricezione di un frame di rete che contiene un modello specificato dal driver di 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 di tipo pattern-match 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 pattern-match dagli stati di alimentazione del dispositivo D1 e D0.

NdisDeviceStateD2
La scheda di rete può segnalare una riattivazione pattern-match dagli stati di alimentazione del dispositivo D2, D1 e D0.

NdisDeviceStateD3
La scheda di rete può segnalare una riattivazione pattern-match dagli stati di alimentazione del dispositivo D3, D2, D1 e D0.

MinLinkChangeWakeUp
Riservato. NDIS ignora questo membro.

per i driver miniport

Al termine dell'inizializzazione del driver miniport, sia il driver di protocollo che NDIS possono eseguire query sul driver miniport con questo OID per determinare quanto segue:

  • Indica se il driver miniport è compatibile con PM.

  • Funzionalità della scheda di rete che 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 compatibile con PM. Se il driver miniport restituisce NDIS_STATUS_NOT_SUPPORTED, NDIS considera il driver miniport come driver miniport legacy che non è compatibile con 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 dello 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 di MiniportHalt prima che il sistema passi a uno stato di sospensione insufficiente. Tuttavia, se il driver miniport restituisce NDIS_STATUS_NOT_SUPPORTED in risposta a una query OID_PNP_CAPABILITIES, NDIS ignora il flag NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND e arresta la scheda di rete se il sistema passa a uno stato a basso consumo.

Una scheda di rete di un driver miniport può supportare qualsiasi combinazione di eventi di riattivazione, inclusi gli eventi di riattivazione. Un driver miniport può comunque supportare il risparmio energia anche se la scheda di rete non può segnalare eventi di riattivazione. In questo caso, gli unici ID di risparmio energia supportati dal driver miniport oltre a OID_PNP_CAPABILITIES sono OID_PNP_QUERY_POWER e OID_PNP_SET_POWER.

Se la scheda di rete di un driver miniport non supporta un determinato evento di riattivazione, il driver miniport deve indicare un valore NDIS_DEVICE_POWER_STATE di NdisDeviceStateUnspecified per l'evento di riattivazione nella struttura NDIS_PM_WAKE_UP_CAPABILITIES.

OID_PNP_CAPABILITIES indica solo le funzionalità di riattivazione della scheda di rete di un 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 è compatibile con 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). Una risposta di questo tipo indica che il driver intermedio è compatibile con PM, ma non gestisce un dispositivo fisico.

Se la scheda di rete sottostante non è compatibile con PM, il driver intermedio deve restituire NDIS_STATUS_NOT_SUPPORTED a una query di OID_PNP_CAPABILITIES.

Nota Per informazioni su come i driver miniport NDIS 6.20 e versioni successive segnalano le funzionalità di risparmio energia, vedere Reporting Power Management Capabilities.

Fabbisogno

Versione

Supportato in NDIS 6.0 e NDIS 6.1. Per NDIS 6.20 e versioni successive, usare invece OID_PM_CURRENT_CAPABILITIES.

Intestazione

Ntddndis.h (include Ndis.h)

Vedere anche

NDIS_DEVICE_POWER_STATE

NdisMSetAttributesEx

OID_PM_CURRENT_CAPABILITIES

OID_PNP_ENABLE_WAKE_UP

OID_PNP_QUERY_POWER

OID_PNP_SET_POWER

funzionalità di risparmio energia per la creazione di report