NDIS_PM_CAPABILITIES struttura (ntddndis.h)

La struttura NDIS_PM_CAPABILITIES specifica le funzionalità di risparmio energia di una scheda di rete.

Sintassi

typedef struct _NDIS_PM_CAPABILITIES {
  NDIS_OBJECT_HEADER      Header;
  ULONG                   Flags;
  ULONG                   SupportedWoLPacketPatterns;
  ULONG                   NumTotalWoLPatterns;
  ULONG                   MaxWoLPatternSize;
  ULONG                   MaxWoLPatternOffset;
  ULONG                   MaxWoLPacketSaveBuffer;
  ULONG                   SupportedProtocolOffloads;
  ULONG                   NumArpOffloadIPv4Addresses;
  ULONG                   NumNSOffloadIPv6Addresses;
  NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
  NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
  NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
  ULONG                   SupportedWakeUpEvents;
  ULONG                   MediaSpecificWakeUpEvents;
} NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;

Members

Header

Tipo, revisione e dimensione della struttura NDIS_PM_CAPABILITIES . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il driver miniport deve impostare il membro Type di Intestazione su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_PM_CAPABILITIES , il driver deve impostare il membro Revisionedell'intestazione sul valore seguente:

NDIS_PM_CAPABILITIES_REVISION_2

Aggiunta di varie modifiche per NDIS 6.30.

Impostare il membro Size su NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2.

NDIS_PM_CAPABILITIES_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro Size su NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1.

Flags

Valore ULONG che contiene un OR bit per bit di flag. Per NDIS 6.20, questo membro è riservato per NDIS.

A partire da NDIS 6.30, vengono definiti i flag seguenti:

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED

Se questo flag è impostato, la scheda di rete deve essere in grado di salvare il pacchetto ricevuto che ha causato la generazione di un evento di riattivazione.

Se questo flag è impostato, il driver miniport deve essere in grado di eseguire le operazioni seguenti con questo pacchetto dopo la transizione della scheda di rete a uno stato full-power:

  • Il driver miniport deve essere in grado di indicare il pacchetto chiamando NdisMIndicateReceiveNetBufferLists.
  • Il driver miniport deve essere in grado di emettere un'indicazione di stato NDIS_STATUS_PM_WAKE_REASON e deve passare il pacchetto con l'indicazione.
Per altre informazioni su questa funzionalità di risparmio energia, vedere Indicazioni sullo stato della riattivazione di NDIS.

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED

Se questo flag è impostato, il driver miniport supporta la sospensione selettiva di NDIS per le schede di rete.

Per altre informazioni su questa funzionalità di risparmio energia, vedere Sospensione selettiva di NDIS.

SupportedWoLPacketPatterns

Valore ULONG che contiene un or bit per bit di flag che specificano i modelli wol (wake-on-LAN) supportati da una scheda di rete. I driver Miniport usano questi flag per annunciare modelli WOL basati su pacchetti supportati da una scheda di rete.

Per altre informazioni su questo membro, vedere la sezione Osservazioni. Per altre informazioni sui modelli WOL, vedere NDIS_PM_WOL_PATTERN.

NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED

La scheda di rete può generare un evento di riattivazione quando riceve un pacchetto che corrisponde a un modello bitmap configurato.

NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED

La scheda di rete può generare un evento di riattivazione quando riceve un pacchetto magic WOL. Un pacchetto magic contiene all'interno del payload una stringa di sei byte con un valore di 0xFF, seguito immediatamente da 16 copie contigue dell'indirizzo Ethernet della scheda di rete ricevente.

NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED

La scheda di rete può generare un evento di riattivazione quando riceve un pacchetto TCP SYN IPv4. Gli host remoti inviano pacchetti TCP SYN per avviare una connessione TCP al computer locale.

NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED

La scheda di rete può generare un evento di riattivazione quando riceve un pacchetto TCP SYN IPv6.

NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED

Se questo flag è impostato, la scheda di rete supporta come valori jolly qualsiasi valore con riempimento zero o non specificato, valori per indirizzi IPv4 e porte TCP/UDP in un modello WOL. In questo modo, il valore jolly corrisponde a qualsiasi indirizzo IPv4 e a qualsiasi valore di porta del pacchetto in ingresso nella posizione specificata dal modello WOL.

Quando una scheda di rete supporta una riattivazione basata su IPv4 su modello di pacchetto LAN, ad esempio un modello TCP SYN IPv4, deve supportare la generazione di un evento di riattivazione se gli indirizzi IPv4 e i valori di porta del pacchetto in ingresso corrispondono a quelli specificati nel modello di riattivazione.

Tuttavia, se il flag di NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED è impostato, la scheda di rete può generare anche un evento di riattivazione se le condizioni di corrispondenza del modello seguenti sono vere:

  • Qualsiasi valore del pacchetto in ingresso nella posizione specificata dal modello WOL è una corrispondenza, se il modello WOL per tale posizione contiene un valore jolly.
  • Un valore del pacchetto in ingresso nella posizione specificata dal modello WOL è una corrispondenza se il modello WOL per tale posizione contiene un valore diverso da zero che equivale al valore del pacchetto.
Il driver miniport deve limitare gli eventi di riattivazione agli indirizzi E alle porte IPv4 specificati, a meno che un driver overlying non consenta questa funzionalità.
Nota I valori con caratteri jolly abilitati da questo flag possono includere indirizzi di origine e destinazione IPv4 non specificati, nonché porte di origine e destinazione non specificate.
 

NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED

Se questo flag è impostato, la scheda di rete supporta come valori jolly qualsiasi valore con riempimento zero o non specificato, valori per indirizzi IPv6 e porte TCP/UDP in un modello WOL. In questo modo, il valore jolly corrisponde a qualsiasi indirizzo IPv6 e a qualsiasi valore di porta del pacchetto in ingresso nella posizione specificata dal modello WOL.

Quando una scheda di rete supporta una riattivazione basata su IPv6 in base al modello di pacchetto LAN, ad esempio un modello TCP SYN IPv6, deve supportare la generazione di un evento di riattivazione se gli indirizzi IPv6 e i valori di porta del pacchetto in ingresso corrispondono a quelli specificati nel modello di riattivazione.

Tuttavia, se il flag di NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED è impostato, la scheda di rete può generare anche un evento di riattivazione se le condizioni di corrispondenza dei modelli seguenti sono vere:

  • Qualsiasi valore del pacchetto in ingresso nella posizione specificata dal modello WOL è una corrispondenza, se il modello WOL per tale posizione contiene un valore jolly.
  • Un valore del pacchetto in ingresso nella posizione specificata dal modello WOL è una corrispondenza se il modello WOL per tale posizione contiene un valore diverso da zero che equivale al valore del pacchetto.
Il driver miniport deve limitare gli eventi di riattivazione agli indirizzi E alle porte IPv6 specificati, a meno che un driver overlying non consenta questa funzionalità.
Nota I valori jolly abilitati da questo flag possono includere indirizzi di origine e destinazione non specificati, nonché porte di origine e destinazione non specificate.
 

NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED

La scheda di rete può generare un evento di riattivazione quando riceve un messaggio di identificatore di richiesta EAPOL.

NumTotalWoLPatterns

Valore ULONG che contiene il numero totale di modelli WOL supportati da una scheda di rete. Si tratta della somma di "numero di modelli di protocollo WOL supportati" e "numero di modelli bitmap WOL supportati".

Ad esempio, se il driver supporta 8 modelli di bitmap flessibili, IPv4 TCP SYN (tramite filtro preimpostato) e pacchetti magic, si segnala 9 in NumTotalWoLPatterns. (8 bitmap + 1 IPv4 TCP SYN = 9)

Nota Il numero totale di modelli WOL non include il modello di riattivazione del pacchetto magico.
 
Per altre informazioni sui modelli di protocollo WOL, vedere NDIS_PM_WOL_PATTERN.

MaxWoLPatternSize

Valore ULONG che contiene il numero massimo di byte che possono essere confrontati con un modello.

MaxWoLPatternOffset

Valore ULONG che contiene il numero di byte in un pacchetto che può essere esaminato, a partire dall'inizio dell'intestazione MAC.

MaxWoLPacketSaveBuffer

Valore ULONG contenente il numero di byte di un pacchetto WOL che un driver miniport può salvare in un buffer e indicare lo stack di driver. Questo valore deve essere minore o uguale alle dimensioni, in byte, dell'unità di trasmissione massima (MTU) per i supporti di rete. Il driver segnala le dimensioni MTU tramite richieste di query OID di OID_GEN_MAXIMUM_FRAME_SIZE.

Nota Questo membro viene ignorato in NDIS 6.20 e versioni precedenti di NDIS. A partire da NDIS 6.30, questo membro deve contenere un valore diverso da zero se il flag di NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED è impostato nel membro Flags .
 

SupportedProtocolOffloads

Valore ULONG che contiene un OR bit per bit di flag che specificano le funzionalità di offload del protocollo supportate da una scheda di rete. I driver Miniport usano questi flag per segnalare le funzionalità di offload del protocollo di alimentazione bassa di una scheda di rete.

NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED

Se questo bit è impostato, la scheda di rete può rispondere ai pacchetti ARP IPv4 mentre si trova in uno stato di bassa potenza

Per altre informazioni sul protocollo ARP, vedere RFC 826.

NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED

Se questo bit è impostato, la scheda di rete può rispondere ai pacchetti IPv6 Neighbor Solicitation (NS) mentre si trova in uno stato di bassa potenza.

Per altre informazioni sui messaggi NS IPv6, vedere RFC 4861.

NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED

La scheda di rete può rispondere alle richieste di ri-chiave IEEE 802.11i Robust Security Network (RSN) mentre si trova in uno stato di bassa potenza.

NumArpOffloadIPv4Addresses

Valore ULONG che contiene il numero di indirizzi IPv4 supportati dall'adattatore per l'offload ARP.

NumNSOffloadIPv6Addresses

Valore ULONG contenente il numero di richieste di offload NS IPv6 supportate dall'adattatore. Questo deve essere almeno 2.

Nota Nonostante il nome, NumNSOffloadIPv6Addresses contiene il numero di richieste supportate, non indirizzi.
 

MinMagicPacketWakeUp

Specifica lo stato di alimentazione del dispositivo più basso da cui una scheda di rete può segnalare un evento di riattivazione alla ricezione di un pacchetto magic. Un pacchetto magic contiene all'interno del payload una stringa di sei byte con un valore di 0xFF, seguito immediatamente da 16 copie contigue dell'indirizzo MAC della scheda di rete ricevente.

Nota Gli stati di alimentazione del dispositivo vengono specificati da un valore di Dx, dove D0 è lo stato di alimentazione del dispositivo più alto e D3 è lo stato di alimentazione del dispositivo più basso.
 
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 la riattivazione dei pacchetti magic.

Nota Se il membro MinMagicPacketWakeUp è impostato su questo valore, il flag NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED non deve essere impostato nel membro SupportedWoLPacketPatterns .
 

NdisDeviceStateD0

La scheda di rete può segnalare una riattivazione di pacchetti magic dallo stato di alimentazione del dispositivo D0. Poiché D0 è lo stato completamente alimentato, questa operazione non causa una riattivazione, ma può essere usata come evento di runtime.

Nota A partire da NDIS 6.20, la segnalazione di un pacchetto magic di riattivazione da NdisDeviceStateD0 non è più supportata.
 

NdisDeviceStateD1

La scheda di rete può segnalare la riattivazione di un pacchetto magic da uno stato di alimentazione del dispositivo D1.

NdisDeviceStateD2

La scheda di rete può segnalare la riattivazione di un pacchetto magic da uno stato del dispositivo D2.

NdisDeviceStateD3

La scheda di rete può segnalare la riattivazione di un pacchetto magico da uno stato di alimentazione del dispositivo D3.

MinPatternWakeUp

Specifica lo stato di alimentazione del dispositivo più basso da cui una scheda di rete può segnalare un evento di riattivazione alla 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 riattivazioni pattern-match.

Nota Se il membro MinPatternWakeUp è impostato su questo valore, è possibile impostare solo il flag NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED nel membro SupportedWoLPacketPatterns .
 

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, questa operazione non causa una riattivazione, ma può essere usata come evento di runtime.

Nota A partire da NDIS 6.20, la segnalazione di una riattivazione pattern-match da NdisDeviceStateD0 non è più supportata.
 

NdisDeviceStateD1

La scheda di rete può segnalare una riattivazione pattern-match da uno stato di alimentazione del dispositivo D1.

NdisDeviceStateD2

La scheda di rete può segnalare una riattivazione pattern-match da uno stato di alimentazione del dispositivo D2.

NdisDeviceStateD3

La scheda di rete può segnalare una riattivazione pattern-match da uno stato di alimentazione del dispositivo D3.

MinLinkChangeWakeUp

A partire da NDIS 6.20, questo membro specifica lo stato di alimentazione del dispositivo più basso da cui una scheda di rete può segnalare un evento di riattivazione quando lo stato del collegamento passa dal supporto disconnesso al supporto connesso.

A partire da NDIS 6.30, questo membro specifica lo stato di alimentazione del dispositivo più basso da cui una scheda di rete può segnalare eventi di riattivazione. Questi eventi vengono specificati nel membro SupportedWakeUpEvents .

Lo stato di alimentazione viene specificato come uno dei valori di NDIS_DEVICE_POWER_STATE seguenti:

NdisDeviceStateUnspecified

La scheda di rete non supporta le riattivazioni delle modifiche dei collegamenti.

Nota Se il membro MinLinkChangeWakeUp è impostato su questo valore, il membroSupportedWakeUpEvents deve essere impostato su zero.
 

NdisDeviceStateD0

La scheda di rete può segnalare una modifica della riattivazione del collegamento dallo stato di alimentazione del dispositivo D0. Poiché D0 è lo stato completamente alimentato, questa operazione non causa una riattivazione, ma può essere usata come evento di runtime.

Nota A partire da NDIS 6.20, la segnalazione di una modifica del collegamento da NdisDeviceStateD0 non è più supportata.
 

NdisDeviceStateD1

La scheda di rete può segnalare una modifica della riattivazione del collegamento da uno stato di alimentazione del dispositivo D1.

NdisDeviceStateD2

La scheda di rete può segnalare una modifica della riattivazione del collegamento da uno stato di alimentazione del dispositivo D2.

NdisDeviceStateD3

La scheda di rete può segnalare una modifica della riattivazione del collegamento da uno stato di alimentazione del dispositivo D3.

SupportedWakeUpEvents

Valore ULONG che contiene un OR bit per bit di flag. Questi flag specificano gli eventi di riattivazione indipendenti dai supporti supportati da una scheda di rete. Questi eventi non sono specifici del tipo di supporto.

A partire da NDIS 6.30, vengono definiti i flag seguenti:

NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED

Se questo flag è impostato, la scheda di rete può generare un evento di riattivazione quando diventa connesso all'interfaccia di rete.

NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED

Se questo flag è impostato, la scheda di rete può generare un evento di riattivazione quando viene disconnesso all'interfaccia di rete.

MediaSpecificWakeUpEvents

Valore ULONG che contiene un OR bit per bit di flag. Questi flag specificano gli eventi di riattivazione specifici del supporto supportati da una scheda di rete.

A partire da NDIS 6.30, vengono definiti i flag seguenti:

NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED

Se questo flag è impostato, la scheda di rete 802.11 può generare un evento di riattivazione se rileva un identificatore SSID (Service Set Identifier) specificato tramite un offload dell'elenco di rete (NLO).

Per altre informazioni su NLO, vedere Offload dell'elenco reti Wi-Fi.

NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED

Se questo flag è impostato, la scheda di rete 802.11 può generare un evento di riattivazione se si dissocia con il punto di accesso (AP).

NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED

Se questo flag è impostato, la scheda di rete 802.11 può generare un evento di riattivazione se si verifica un errore durante l'handshake della chiave temporanea del gruppo RSN IEEE 802.11i con l'AP.

NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED

Se questo flag è impostato, la scheda di rete 802.11 può generare un evento di riattivazione se riceve il primo frame dell'handshake a 4 vie IEEE 802.11i RSN con l'API. Questo handshake viene eseguito quando l'adapter esegue l'autenticazione con l'API.

NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED

Se questo flag è impostato, la scheda di rete mobile broadband (MB) può generare un evento di riattivazione se lo stato di registrazione al servizio MB è stato modificato.

NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED

Se questo flag è impostato, la scheda di rete MB può generare un evento di riattivazione se il servizio MB deve ricevere una notifica sulla ricezione di un messaggio SMS (Short Message Service). L'adattatore genera questo evento di riattivazione dopo il completamento di una richiesta di query OID_WWAN_SMS_READ precedentemente rilasciata o l'arrivo di un nuovo messaggio di classe-0 (flash/alert) dal provider di rete come notifica degli eventi.

NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED

Se questo flag è impostato, la scheda di rete MB può generare un evento di riattivazione se riceve un messaggio USSD (Unstructured Supplement Service Data).

Commenti

La struttura NDIS_PM_CAPABILITIES viene usata nel membro PowerManagementCapabilitiesEx del NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES e strutture di NDIS_BIND_PARAMETERS e in NDIS_STATUS_PM_CAPABILITIES_CHANGE indicazione dello stato.

Durante l'inizializzazione del miniport, il driver miniport inizializza una struttura NDIS_PM_CAPABILITIES con le funzionalità di risparmio energia dell'hardware della scheda di rete. Il driver miniport imposta quindi il membro PowerManagementCapabilitiesEx della struttura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES in modo che punti alla struttura NDIS_PM_CAPABILITIES inizializzata.

Un driver eccessivamente non deve tentare di abilitare le funzionalità non supportate da una scheda di rete. Per consentire a un driver eccessivamente di determinare le funzionalità offerte da una scheda di rete, NDIS fornisce le funzionalità nel membro PowerManagementCapabilitiesEx della struttura NDIS_BIND_PARAMETERS.

Nota I driver NDIS 6.20 devono usare il membro PowerManagementCapabilitiesEx anziché il membro PowerManagementCapabilities .
 
Il membro SupportedProtocolOffloads contiene flag che specificano le funzionalità di offload del protocollo supportate da una scheda di rete. La scheda di rete gestisce questi protocolli in uno stato a basso consumo. Ad esempio, se l'hardware della scheda di rete può gestire i pacchetti ARP IPv4 per lo stack di driver mentre si trova in uno stato di bassa potenza, il driver miniport imposta il bit NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED in SupportedProtocolOffloads.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.20 e versioni successive.
Intestazione ntddndis.h (include Ntddndis.h)

Vedi anche

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_PM_WOL_PATTERN

NDIS_STATUS_PM_CAPABILITIES_CHANGE

NDIS_STATUS_PM_WAKE_REASON

NdisMIndicateReceiveNetBufferLists

NdisMIndicateStatusEx