Compartir a través de


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)

Consulte también

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST