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