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.
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.
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) |