Share via


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.

Nota Quando invia una risposta ARP, la scheda di rete deve sempre usare questo indirizzo MAC nel payload ARP. Tuttavia, deve usare l'indirizzo MAC corrente della scheda di rete come indirizzo di origine nell'intestazione MAC.
 

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.

Nota Quando invia un messaggio NA, la scheda di rete deve sempre utilizzare questo indirizzo MAC nel campo TLLA del messaggio NA. Tuttavia, deve usare l'indirizzo MAC corrente della scheda di rete come indirizzo di origine nell'intestazione MAC.
 

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)

Vedi anche

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_PROTOCOL_OFFLOAD_TYPE

OID_PM_ADD_PROTOCOL_OFFLOAD

OID_PM_PROTOCOL_OFFLOAD_LIST