estructura NDIS_PM_WOL_PATTERN (ntddndis.h)
La estructura NDIS_PM_WOL_PATTERN define un patrón wake-on-LAN (WOL).
Sintaxis
typedef struct _NDIS_PM_WOL_PATTERN {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG Priority;
NDIS_PM_WOL_PACKET WoLPacketType;
NDIS_PM_COUNTED_STRING FriendlyName;
ULONG PatternId;
ULONG NextWoLPatternOffset;
union {
struct {
ULONG Flags;
UCHAR IPv4SourceAddress[4];
UCHAR IPv4DestAddress[4];
USHORT TCPSourcePortNumber;
USHORT TCPDestPortNumber;
} IPv4TcpSynParameters;
struct {
ULONG Flags;
UCHAR IPv6SourceAddress[16];
UCHAR IPv6DestAddress[16];
USHORT TCPSourcePortNumber;
USHORT TCPDestPortNumber;
} IPv6TcpSynParameters;
struct {
ULONG Flags;
} EapolRequestIdMessageParameters;
struct {
ULONG Flags;
ULONG MaskOffset;
ULONG MaskSize;
ULONG PatternOffset;
ULONG PatternSize;
} WoLBitMapPattern;
} WoLPattern;
_WOL_PATTERN _WOL_PATTERN;
} NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN;
Miembros
Header
Tipo, revisión y tamaño de la estructura de NDIS_PM_WOL_PATTERN . Este miembro tiene formato de estructura NDIS_OBJECT_HEADER .
El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NDIS_PM_WOL_PATTERN , el controlador debe establecer el miembro Revision de Header en el siguiente valor:
NDIS_PM_WOL_PATTERN_REVISION_2
Revisiones realizadas en la enumeración NDIS_PM_WOL_PACKET para NDIS 6.30.
Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2.
NDIS_PM_WOL_PATTERN_REVISION_1
Versión original de NDIS 6.20.
Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1.
Flags
Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.
Priority
Valor ULONG que contiene la prioridad del patrón WOL. Si un controlador de exceso agrega un patrón WOL de mayor prioridad cuando no hay recursos disponibles para más patrones WOL, el NDIS podría quitar un patrón WOL de prioridad inferior para liberar recursos. Los controladores de minipuerto deben ignorar este miembro. Un controlador de protocolo puede especificar cualquier prioridad que esté dentro del intervalo predefinido. Los valores siguientes están predefinidos:
NDIS_PM_WOL_PRIORITY_LOWEST
Especifica el patrón WOL de prioridad más baja.
NDIS_PM_WOL_PRIORITY_NORMAL
Especifica un patrón WOL de prioridad normal.
NDIS_PM_WOL_PRIORITY_HIGHEST
Especifica el patrón WOL de prioridad más alta.
WoLPacketType
Valor de enumeración NDIS_PM_WOL_PACKET que especifica el tipo del paquete WOL.
FriendlyName
Estructura NDIS_PM_COUNTED_STRING que contiene la descripción legible del usuario del paquete WOL.
PatternId
Valor ULONG que contiene un valor proporcionado por NDIS que identifica el patrón WOL. Antes de que NDIS envíe la solicitud de OID de OID_PM_ADD_WOL_PATTERN a los controladores NDIS subyacentes o complete la solicitud al controlador de exceso, NDIS establece PatternId en un valor único entre los patrones WOL en un adaptador de red.
NextWoLPatternOffset
Valor de ULONG que contiene un desplazamiento, en bytes. El miembro NextWoLPatternOffset de cada estructura de NDIS_PM_WOL_PATTERN de una lista se establece en el desplazamiento (desde el principio de la solicitud OID InformationBuffer) de la siguiente estructura de NDIS_PM_WOL_PATTERN de la lista. Si NextWoLPatternOffset es cero, la estructura actual es la última estructura de la lista.
WoLPattern
Unión que contiene las siguientes estructuras miembro.
WoLPattern.IPv4TcpSynParameters
Estructura que contiene información de TCP SYN de IPv4. Esta estructura contiene los siguientes miembros:
WoLPattern.IPv4TcpSynParameters.Flags
Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.
WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]
Dirección de origen IPv4 en el paquete TCP SYN.
WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]
Dirección de destino IPv4 en el paquete TCP SYN.
WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber
Número de puerto de origen TCP en el paquete TCP SYN.
WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber
Número de puerto de destino TCP en el paquete TCP SYN.
WoLPattern.IPv6TcpSynParameters
Estructura que contiene información de TCP SYN de IPv6. Esta estructura contiene los siguientes miembros:
WoLPattern.IPv6TcpSynParameters.Flags
Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.
WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]
Dirección de origen IPv6 en el paquete TCP SYN.
WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]
Dirección de destino IPv6 en el paquete TCP SYN.
WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber
Puerto de origen TCP en el paquete TCP SYN.
WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber
Puerto de destino TCP en el paquete TCP SYN.
WoLPattern.EapolRequestIdMessageParameters
Estructura que contiene los parámetros de mensaje de identidad de solicitud EAPOL 802.1X. Esta estructura contiene los siguientes miembros:
WoLPattern.EapolRequestIdMessageParameters.Flags
Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.
WoLPattern.WoLBitMapPattern
Estructura que especifica un patrón de mapa de bits WOL. Para obtener más información sobre los patrones de mapa de bits, vea la sección Comentarios. La estructura tiene los siguientes miembros:
WoLPattern.WoLBitMapPattern.Flags
Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.
WoLPattern.WoLBitMapPattern.MaskOffset
Desplazamiento, en bytes, para un búfer de máscara desde el principio de la estructura de NDIS_PM_WOL_PATTERN.
La máscara especifica qué bytes de los paquetes entrantes deben coincidir con el patrón de mapa de bits. Cada bit de la máscara de bits corresponde a un byte en el patrón. Si un bit es cero, el byte correspondiente del paquete entrante no debe coincidir con el patrón. Si el bit es uno, el adaptador de red compara el byte con el paquete entrante con el byte especificado en el patrón .
WoLPattern.WoLBitMapPattern.MaskSize
Tamaño, en bytes, de la máscara.
WoLPattern.WoLBitMapPattern.PatternOffset
Desplazamiento, en bytes, para un búfer de patrones desde el principio de la estructura NDIS_PM_WOL_PATTERN.
WoLPattern.WoLBitMapPattern.PatternSize
Tamaño, en bytes, del patrón.
_WOL_PATTERN
Comentarios
La estructura NDIS_PM_WOL_PATTERN se usa en las solicitudes OID de OID_PM_ADD_WOL_PATTERN y OID_PM_WOL_PATTERN_LIST .
Un controlador de capa superior puede especificar un patrón WOL genérico con el miembro WoLBitMapPattern . Un patrón de mapa de bits se especifica como una secuencia de bytes y un mapa de bits de máscara. Cada bit de la máscara corresponde a un byte del patrón y especifica si el byte correspondiente del paquete entrante debe coincidir con el byte correspondiente en el patrón. Si todos los bytes comparados por el adaptador de red coinciden, el paquete es una coincidencia y el adaptador de red debe generar un evento de reactivación.
Un controlador de capa superior puede especificar un valor de dirección IPv4 y puerto TCP sin especificar en la estructura de miembros IPv4TcpSynParameters . Si la marca de NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED se establece en el miembro EnabledWoLPacketPatterns del NDIS_PM_PARAMETERS, el adaptador de red debe usar el valor de puerto o dirección no especificado para que coincida con cualquier dirección IPv4 de origen o destino o valor de puerto TCP en el paquete TCP SYN de IPv4.
Del mismo modo, un controlador de capa superior puede especificar una dirección IPv6 no especificada y valores de puerto TCP en la estructura de miembros IPv6TcpSynParameters . Si la marca de NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED está establecida en el miembro EnabledWoLPacketPatterns del NDIS_PM_PARAMETERS, el adaptador de red debe usar el valor de puerto o dirección no especificado para que coincida con cualquier dirección IPv6 de origen o destino o valor de puerto TCP en el paquete TCP SYN de IPv4.
El controlador de capa superior establece las marcas de NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED y NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED mediante la emisión de una solicitud de conjunto del OID de OID_PM_PARAMETERS .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.20 y versiones posteriores. |
Encabezado | ntddndis.h (incluya Ntddndis.h) |