estructura NDIS_PM_PROTOCOL_OFFLOAD (ntddndis.h)

La estructura de NDIS_PM_PROTOCOL_OFFLOAD especifica parámetros para una descarga de protocolo de baja energía en un adaptador de red.

Sintaxis

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;

Miembros

Header

Estructura NDIS_OBJECT_HEADER de la estructura NDIS_PM_PROTOCOL_OFFLOAD . El controlador establece el miembro Type en NDIS_OBJECT_TYPE_DEFAULT.

Para indicar la versión de la estructura de NDIS_PM_PROTOCOL_OFFLOAD , establezca el miembro Revision de Header en uno de los siguientes valores:

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2

Se agregó la estructura Dot11RSNRekeyParametersV2 para NDIS 6.84.

Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_2.

NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1

Versión original para NDIS 6.20 y versiones posteriores.

Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1.

Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.

Priority

Valor de ULONG que contiene la prioridad de la descarga del protocolo. Si un controlador sobreagregar agrega una descarga de protocolo de prioridad más alta cuando no hay recursos disponibles para más descargas de protocolo, NDIS podría quitar una descarga de protocolo de prioridad inferior a los recursos gratuitos. Los controladores de minipuerto deben ignorar este miembro. Los controladores de protocolo pueden proporcionar cualquier valor dentro del intervalo predefinido. Los valores siguientes están predefinidos:

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST

Especifica la descarga del protocolo de prioridad más baja.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL

Especifica una descarga de protocolo de prioridad normal.

NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST

Especifica la descarga del protocolo de prioridad más alta.

ProtocolOffloadType

Una NDIS_PM_PROTOCOL_OFFLOAD_TYPE valor que contiene el tipo de descarga de protocolo.

FriendlyName

Estructura NDIS_PM_COUNTED_STRING que contiene la descripción legible del usuario de la descarga del protocolo de baja energía.

ProtocolOffloadId

Valor de ULONG que contiene un valor proporcionado por NDIS que identifica el protocolo descargado. Antes de que NDIS envíe la solicitud de OID de OID_PM_ADD_PROTOCOL_OFFLOAD a los controladores NDIS subyacentes o complete la solicitud al controlador de exceso, NDIS establece ProtocolOffloadId en un valor único entre las descargas de protocolo en un adaptador de red.

NextProtocolOffloadOffset

Valor de ULONG que contiene un desplazamiento, en bytes. El miembro NextProtocolOffloadOffset de cada estructura de NDIS_PM_PROTOCOL_OFFLOAD de una lista se establece en el desplazamiento (desde el principio de la solicitud OID InformationBuffer) de la siguiente estructura de NDIS_PM_PROTOCOL_OFFLOAD de la lista. Si NextProtocolOffloadOffset es cero, la estructura actual es la última estructura de la lista.

ProtocolOffloadParameters

Unión que contiene las siguientes estructuras miembro:

ProtocolOffloadParameters.IPv4ARPParameters

Estructura que contiene parámetros de ARP IPv4. Esta estructura contiene los siguientes miembros:

ProtocolOffloadParameters.IPv4ARPParameters.Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.

ProtocolOffloadParameters.IPv4ARPParameters.RemoteIPv4Address[4]

Matriz UCHAR que contiene una dirección IPv4 opcional. Esta dirección representa el campo Dirección del protocolo de origen (SPA) de la solicitud ARP.

Si la solicitud de ARP entrante tiene un valor SPA que coincide con esta dirección IPv4, el adaptador de red envía una respuesta ARP cuando está en un estado de baja energía. Si este miembro es cero, el adaptador de red debe responder a las solicitudes de ARP desde cualquier dirección IPv4 remota.

Para obtener más información sobre el protocolo ARP, consulte RFC 826.

ProtocolOffloadParameters.IPv4ARPParameters.HostIPv4Address[4]

Matriz UCHAR que contiene la dirección IPv4. Cuando envía la respuesta ARP, el adaptador de red usa este miembro para el campo SPA de la respuesta.

ProtocolOffloadParameters.IPv4ARPParameters.MacAddress[6]

Matriz UCHAR que contiene una dirección de control de acceso multimedia (MAC). El adaptador de red usa esta dirección MAC para el campo Dirección de hardware de origen (SHA) del paquete de respuesta ARP que genera.

Nota Cuando envía una respuesta ARP, el adaptador de red siempre debe usar esta dirección MAC en la carga de ARP. Sin embargo, debe usar la dirección MAC actual del adaptador de red como dirección de origen en el encabezado MAC.
 

ProtocolOffloadParameters.IPv6NSParameters

Estructura que contiene parámetros de solicitud de vecinos IPv6 (NS). Esta estructura contiene los siguientes miembros:

ProtocolOffloadParameters.IPv6NSParameters.Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.

ProtocolOffloadParameters.IPv6NSParameters.RemoteIPv6Address[16]

Matriz UCHAR que contiene una dirección IPv6 opcional. Esta dirección representa el campo Dirección de origen en el encabezado IPv6 del mensaje NS.

Si el mensaje NS entrante tiene un valor de dirección de origen que coincide con esta dirección IPv6, el adaptador de red envía un mensaje de anuncio de vecino (NA) cuando está en un estado de baja energía. Si este miembro es cero, el adaptador de red debe responder a los mensajes NS desde cualquier dirección IPv6 remota.

Para obtener más información sobre los mensajes NS y NA de IPv6, consulte RFC 4861.

ProtocolOffloadParameters.IPv6NSParameters.SolicitedNodeIPv6Address[16]

Matriz UCHAR que contiene la dirección IPv6 del nodo solicitado. Para obtener más información sobre este tipo de dirección IPv6, consulte Direcciones IPv6 de multidifusión.

ProtocolOffloadParameters.IPv6NSParameters.MacAddress[6]

Matriz UCHAR que contiene la dirección MAC. Cuando envía el mensaje NA, el adaptador de red usa esta matriz para el campo de dirección de capa de vínculo de destino (TLLA) del mensaje NA.

Nota Cuando envía un mensaje NA, el adaptador de red siempre debe usar esta dirección MAC en el campo TLLA del mensaje NA. Sin embargo, debe usar la dirección MAC actual del adaptador de red como dirección de origen en el encabezado MAC.
 

ProtocolOffloadParameters.IPv6NSParameters.TargetIPv6Addresses[2]

Matriz UCHAR que contiene una o dos direcciones IPv6. Si solo contiene una dirección, esa dirección se almacena en el primer elemento de la matriz y el segundo elemento se rellena con ceros.

Los controladores de minipuerto deben consumir todas las direcciones de la matriz.

Estas direcciones representan el campo Dirección de destino de un mensaje NS. Si una de estas direcciones coincide con el campo Dirección de destino de un mensaje NS entrante, el adaptador de red envía un mensaje NA en respuesta.

ProtocolOffloadParameters.Dot11RSNRekeyParameters

Estructura que contiene parámetros de protocolo de enlace IEEE 802.11i Robust Security Network (RSN). Esta estructura contiene los siguientes miembros:

ProtocolOffloadParameters.Dot11RSNRekeyParameters.Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KCK[DOT11_RSN_KCK_LENGTH]

Matriz UCHAR que contiene una clave de confirmación de clave IEEE 802.11 (KCK).

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KEK[DOT11_RSN_KEK_LENGTH]

Matriz UCHAR que contiene una clave de cifrado de clave IEEE 802.11 (KEK).

ProtocolOffloadParameters.Dot11RSNRekeyParameters.KeyReplayCounter

Valor de ULONGLONG que contiene un contador de reproducción.

ProtocolOffloadParameters.Dot11RSNRekeyParametersV2

Estructura que contiene parámetros de protocolo de enlace V2 IEEE 802.11i Robust Security Network (RSN). Disponible en NDIS 6.84 y versiones posteriores. Esta estructura contiene los siguientes miembros:

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

Comentarios

La estructura NDIS_PM_PROTOCOL_OFFLOAD se usa en el OID_PM_ADD_PROTOCOL_OFFLOAD y OID_PM_PROTOCOL_OFFLOAD_LIST Oid.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.20 y versiones posteriores.
Encabezado ntddndis.h (incluya Ntddndis.h)

Consulte también

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_PROTOCOL_OFFLOAD_TYPE

OID_PM_ADD_PROTOCOL_OFFLOAD

OID_PM_PROTOCOL_OFFLOAD_LIST