estrutura NDIS_PM_PROTOCOL_OFFLOAD (ntddndis.h)

A estrutura NDIS_PM_PROTOCOL_OFFLOAD especifica parâmetros para um descarregamento de protocolo de baixa potência para um adaptador de rede.

Sintaxe

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;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de NDIS_PM_PROTOCOL_OFFLOAD . O driver define o membro Type como NDIS_OBJECT_TYPE_DEFAULT.

Para indicar a versão da estrutura NDIS_PM_PROTOCOL_OFFLOAD , defina o membro Revision de Header como um dos seguintes valores:

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2

Adicionada a estrutura Dot11RSNRekeyParametersV2 para NDIS 6.84.

Defina o membro Size como NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2.

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1

Versão original do NDIS 6.20 e posterior.

Defina o membro Size como NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para NDIS.

Priority

Um valor ULONG que contém a prioridade do descarregamento de protocolo. Se um driver de sobreposição adicionar um descarregamento de protocolo de prioridade mais alta quando não houver recursos disponíveis para mais descarregamentos de protocolo, o NDIS poderá remover um descarregamento de protocolo de prioridade mais baixa para liberar recursos. Os drivers de miniporta devem ignorar esse membro. Os drivers de protocolo podem fornecer qualquer valor dentro do intervalo predefinido. Os seguintes valores são predefinidos:

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST

Especifica o descarregamento de protocolo de prioridade mais baixa.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL

Especifica um descarregamento de protocolo de prioridade normal.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST

Especifica o descarregamento de protocolo de prioridade mais alta.

ProtocolOffloadType

Uma NDIS_PM_PROTOCOL_OFFLOAD_TYPE valor que contém o tipo de descarregamento de protocolo.

FriendlyName

Uma estrutura NDIS_PM_COUNTED_STRING que contém a descrição legível pelo usuário do descarregamento de protocolo de baixa energia.

ProtocolOffloadId

Um valor ULONG que contém um valor fornecido pelo NDIS que identifica o protocolo descarregado. Antes que o NDIS envie a solicitação OID OID_PM_ADD_PROTOCOL_OFFLOAD para os drivers de NDIS subjacentes ou conclua a solicitação para o driver subjacente, o NDIS define ProtocolOffloadId como um valor exclusivo entre os descarregamentos de protocolo em um adaptador de rede.

NextProtocolOffloadOffset

Um valor ULONG que contém um deslocamento, em bytes. O membro NextProtocolOffloadOffset de cada estrutura NDIS_PM_PROTOCOL_OFFLOAD em uma lista é definido como o deslocamento (desde o início da solicitação OID InformationBuffer) da próxima estrutura NDIS_PM_PROTOCOL_OFFLOAD na lista. Se NextProtocolOffloadOffset for zero, a estrutura atual será a última estrutura na lista.

ProtocolOffloadParameters

Uma união que contém as seguintes estruturas de membro:

ProtocolOffloadParameters.IPv4ARPParameters

Uma estrutura que contém parâmetros ARP IPv4. Essa estrutura contém os seguintes membros:

ProtocolOffloadParameters.IPv4ARPParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para NDIS.

ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]

Uma matriz UCHAR que contém um endereço IPv4 opcional. Esse endereço representa o campo SPA (Endereço do Protocolo de Origem) da solicitação ARP.

Se a solicitação ARP de entrada tiver um valor SPA que corresponda a esse endereço IPv4, o adaptador de rede enviará uma resposta ARP quando estiver em um estado de baixa energia. Se esse membro for zero, o adaptador de rede deverá responder a solicitações ARP de qualquer endereço IPv4 remoto.

Para obter mais informações sobre o protocolo ARP, consulte RFC 826.

ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]

Uma matriz UCHAR que contém o endereço IPv4. Quando ele envia a resposta ARP, o adaptador de rede usa esse membro para o campo SPA da resposta.

ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]

Uma matriz UCHAR que contém um endereço MAC (controle de acesso à mídia). O adaptador de rede usa esse endereço MAC para o campo SHA (Endereço de Hardware de Origem) do pacote de resposta ARP que ele gera.

Nota Quando ele envia uma resposta ARP, o adaptador de rede sempre deve usar esse endereço MAC no conteúdo do ARP. No entanto, ele deve usar o endereço MAC atual do adaptador de rede como o endereço de origem no cabeçalho MAC.
 

ProtocolOffloadParameters.IPv6NSParameters

Uma estrutura que contém parâmetros de Solicitação de Vizinho (NS) IPv6. Essa estrutura contém os seguintes membros:

ProtocolOffloadParameters.IPv6NSParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para NDIS.

ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]

Uma matriz UCHAR que contém um endereço IPv6 opcional. Esse endereço representa o campo Endereço de Origem no cabeçalho IPv6 da mensagem NS.

Se a mensagem NS de entrada tiver um valor de Endereço de Origem que corresponda a esse endereço IPv6, o adaptador de rede enviará uma mensagem de anúncio vizinho (NA) quando estiver em um estado de baixa energia. Se esse membro for zero, o adaptador de rede deverá responder a mensagens NS de qualquer endereço IPv6 remoto.

Para obter mais informações sobre mensagens IPv6 NS e NA, consulte RFC 4861.

ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]

Uma matriz UCHAR que contém o endereço IPv6 do nó solicitado. Para obter mais informações sobre esse tipo de endereço IPv6, consulte Endereços IPv6 multicast.

ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]

Uma matriz UCHAR que contém o endereço MAC. Quando ele envia a mensagem NA, o adaptador de rede usa essa matriz para o campo TLLA (endereço de camada de link) de destino da mensagem NA.

Nota Quando ele envia uma mensagem NA, o adaptador de rede sempre deve usar esse endereço MAC no campo TLLA da mensagem NA. No entanto, ele deve usar o endereço MAC atual do adaptador de rede como o endereço de origem no cabeçalho MAC.
 

ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]

Uma matriz UCHAR que contém um ou dois endereços IPv6. Se ele contiver apenas um endereço, esse endereço será armazenado no primeiro elemento na matriz e o segundo elemento será preenchido com zeros.

Os drivers de miniporto devem consumir todos os endereços na matriz.

Esses endereços representam o campo Endereço de Destino de uma mensagem NS. Se um desses endereços corresponder ao campo Endereço de Destino de uma mensagem NS de entrada, o adaptador de rede enviará uma mensagem NA em resposta.

ProtocolOffloadParameters.Dot11RSNRekeyParameters

Uma estrutura que contém parâmetros de handshake RSN (Rede de Segurança Robusta) do IEEE 802.11i. Essa estrutura contém os seguintes membros:

ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para NDIS.

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]

Uma matriz UCHAR que contém uma KCK (chave de confirmação de chave) IEEE 802.11.

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]

Uma matriz UCHAR que contém uma KEK (chave de criptografia de chave) IEEE 802.11.

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter

Um valor ULONGLONG que contém um contador de reprodução.

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2

Uma estrutura que contém parâmetros de handshake V2 IEEE 802.11i RSN (Robust Security Network). Disponível no NDIS 6.84 e posterior. Essa estrutura contém os seguintes membros:

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

Comentários

A estrutura NDIS_PM_PROTOCOL_OFFLOAD é usada no OID_PM_ADD_PROTOCOL_OFFLOAD e OID_PM_PROTOCOL_OFFLOAD_LIST Oids.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.20 e posterior.
Cabeçalho ntddndis.h (inclua Ntddndis.h)

Confira também

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_PROTOCOL_OFFLOAD_TYPE

OID_PM_ADD_PROTOCOL_OFFLOAD

OID_PM_PROTOCOL_OFFLOAD_LIST