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.
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.
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.
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)
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.
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.
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.
NdisDeviceStateUnspecified
La scheda di rete non supporta la riattivazione dei pacchetti magic.
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.
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.
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.
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.
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.
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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.20 e versioni successive. |
Intestazione | ntddndis.h (include Ntddndis.h) |