struttura NDIS_PM_PROTOCOL_OFFLOAD (ntddndis.h)
La struttura NDIS_PM_PROTOCOL_OFFLOAD specifica i parametri per l'offload di un protocollo a basso consumo in una scheda di rete.
Sintassi
typedef struct _NDIS_PM_PROTOCOL_OFFLOAD {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG ProtocolOffloadId;
ULONG NextProtocolOffloadOffset;
union {
struct {
ULONG Flags;
UCHAR RemoteIPv4Address[4];
UCHAR HostIPv4Address[4];
UCHAR MacAddress[6];
} IPv4ARPParameters;
struct {
ULONG Flags;
UCHAR RemoteIPv6Address[16];
UCHAR SolicitedNodeIPv6Address[16];
UCHAR MacAddress[6];
UCHAR TargetIPv6Addresses[2][16];
} IPv6NSParameters;
struct {
ULONG Flags;
UCHAR KCK[DOT11_RSN_KCK_LENGTH];
UCHAR KEK[DOT11_RSN_KEK_LENGTH];
ULONGLONG KeyReplayCounter;
} Dot11RSNRekeyParameters;
struct {
ULONG Flags;
ULONGLONG KeyReplayCounter;
ULONG AuthAlgo;
ULONG KCKLength;
ULONG KEKLength;
UCHAR KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
UCHAR KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH];
} Dot11RSNRekeyParametersV2;
} ProtocolOffloadParameters;
_PROTOCOL_OFFLOAD_PARAMETERS _PROTOCOL_OFFLOAD_PARAMETERS;
} NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_PM_PROTOCOL_OFFLOAD . Il driver imposta il membro Type su NDIS_OBJECT_TYPE_DEFAULT.
Per indicare la versione della struttura NDIS_PM_PROTOCOL_OFFLOAD , impostare il membro Revision di Header su uno dei valori seguenti:
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2
Aggiunta della struttura Dot11RSNRekeyParametersV2 per NDIS 6.84.
Impostare il membro Size su NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2.
NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1
Versione originale per NDIS 6.20 e versioni successive.
Impostare il membro Size su NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.
Flags
Valore ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.
Priority
Valore ULONG che contiene la priorità dell'offload del protocollo. Se un driver overlying aggiunge un offload di protocollo con priorità più alta quando non sono disponibili risorse per altri offload di protocollo, NDIS potrebbe rimuovere un offload del protocollo con priorità inferiore per liberare risorse. I driver Miniport devono ignorare questo membro. I driver di protocollo possono fornire qualsiasi valore all'interno dell'intervallo predefinito. I valori seguenti sono predefiniti:
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST
Specifica l'offload del protocollo con priorità più bassa.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL
Specifica un normale offload del protocollo di priorità.
NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST
Specifica l'offload del protocollo con priorità più alta.
ProtocolOffloadType
Un NDIS_PM_PROTOCOL_OFFLOAD_TYPE valore che contiene il tipo di offload del protocollo.
FriendlyName
Struttura NDIS_PM_COUNTED_STRING che contiene la descrizione leggibile dell'offload del protocollo a basso consumo.
ProtocolOffloadId
Valore ULONG che contiene un valore fornito da NDIS che identifica il protocollo offloaded. Prima che NDIS invii la richiesta OID OID_PM_ADD_PROTOCOL_OFFLOAD ai driver NDIS sottostanti o completi la richiesta al driver overlying, NDIS imposta ProtocolOffloadId su un valore univoco tra gli offload del protocollo in una scheda di rete.
NextProtocolOffloadOffset
Valore ULONG che contiene un offset, espresso in byte. Il membro NextProtocolOffloadOffset di ogni struttura NDIS_PM_PROTOCOL_OFFLOAD in un elenco viene impostato sull'offset (dall'inizio della richiesta OID InformationBuffer) della struttura NDIS_PM_PROTOCOL_OFFLOAD successiva nell'elenco. Se NextProtocolOffloadOffset è zero, la struttura corrente è l'ultima struttura nell'elenco.
ProtocolOffloadParameters
Unione che contiene le strutture membro seguenti:
ProtocolOffloadParameters.IPv4ARPParameters
Struttura che contiene i parametri ARP IPv4. Questa struttura contiene i membri seguenti:
ProtocolOffloadParameters.IPv4ARPParameters.Flags
Valore ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.
ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]
Matrice UCHAR che contiene un indirizzo IPv4 facoltativo. Questo indirizzo rappresenta il campo Source Protocol Address (SPA) della richiesta ARP.
Se la richiesta ARP in ingresso ha un valore SPA corrispondente a questo indirizzo IPv4, la scheda di rete invia una risposta ARP quando si trova in uno stato di alimentazione insufficiente. Se questo membro è zero, la scheda di rete deve rispondere alle richieste ARP da qualsiasi indirizzo IPv4 remoto.
Per altre informazioni sul protocollo ARP, vedere RFC 826.
ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]
Matrice UCHAR che contiene l'indirizzo IPv4. Quando invia la risposta ARP, la scheda di rete usa questo membro per il campo SPA della risposta.
ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]
Matrice UCHAR che contiene un indirizzo MAC (Media Access Control). La scheda di rete usa questo indirizzo MAC per il campo Source Hardware Address (SHA) del pacchetto di risposta ARP generato.
ProtocolOffloadParameters.IPv6NSParameters
Struttura che contiene i parametri IPv6 Neighbor Solicitation (NS). Questa struttura contiene i membri seguenti:
ProtocolOffloadParameters.IPv6NSParameters.Flags
Valore ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.
ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]
Matrice UCHAR che contiene un indirizzo IPv6 facoltativo. Questo indirizzo rappresenta il campo Indirizzo di origine nell'intestazione IPv6 del messaggio NS.
Se il messaggio NS in ingresso ha un valore di indirizzo di origine corrispondente a questo indirizzo IPv6, la scheda di rete invia un messaggio di annuncio adiacente (NA) quando si trova in uno stato di alimentazione insufficiente. Se questo membro è zero, la scheda di rete deve rispondere ai messaggi NS da qualsiasi indirizzo IPv6 remoto.
Per altre informazioni sui messaggi NS E NA IPv6, vedere RFC 4861.
ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]
Matrice UCHAR che contiene l'indirizzo IPv6 del nodo richiesto. Per altre informazioni su questo tipo di indirizzo IPv6, vedere Indirizzi IPv6 multicast.
ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]
Matrice UCHAR che contiene l'indirizzo MAC. Quando invia il messaggio NA, la scheda di rete usa questa matrice per il campo TLLA (Link-Layer Address) di destinazione del messaggio NA.
ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]
Matrice UCHAR che contiene uno o due indirizzi IPv6. Se contiene un solo indirizzo, tale indirizzo viene archiviato nel primo elemento della matrice e il secondo elemento viene riempito con zeri.
I driver Miniport devono utilizzare tutti gli indirizzi nella matrice.
Questi indirizzi rappresentano il campo Indirizzo di destinazione di un messaggio NS. Se uno di questi indirizzi corrisponde al campo Indirizzo di destinazione di un messaggio NS in ingresso, la scheda di rete invia un messaggio NA in risposta.
ProtocolOffloadParameters.Dot11RSNRekeyParameters
Struttura che contiene parametri handshake IEEE 802.11i Robust Security Network (RSN). Questa struttura contiene i membri seguenti:
ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags
Valore ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]
Matrice UCHAR che contiene una chiave di conferma della chiave IEEE 802.11 (KCK).
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]
Matrice UCHAR che contiene una chiave di crittografia della chiave IEEE 802.11 (KEK).
ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter
Valore di ULONGLONG che contiene un contatore di riproduzione.
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2
Struttura che contiene i parametri di handshake RSN (Robust Security Network) IEEE 802.11i. Disponibile in NDIS 6.84 e versioni successive. Questa struttura contiene i membri seguenti:
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.Flags
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KeyReplayCounter
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.AuthAlgo
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEKLength
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KCK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
ProtocolOffloadParameters.Dot11RSNRekeyParametersV2.KEK[DOT11_RSN_MAX_CIPHER_KEY_LENGTH]
_PROTOCOL_OFFLOAD_PARAMETERS
Commenti
La struttura NDIS_PM_PROTOCOL_OFFLOAD viene usata nella OID_PM_ADD_PROTOCOL_OFFLOAD e OID_PM_PROTOCOL_OFFLOAD_LIST Oid.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.20 e versioni successive. |
Intestazione | ntddndis.h (include Ntddndis.h) |