estrutura NDIS_PM_WOL_PATTERN (ntddndis.h)

A estrutura NDIS_PM_WOL_PATTERN define um padrão WOL (wake-on-LAN).

Sintaxe

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;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NDIS_PM_WOL_PATTERN . Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .

O driver de miniporte deve definir o membro Tipo de Cabeçalho como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura NDIS_PM_WOL_PATTERN , o driver deve definir o membro Revision de Header para o seguinte valor:

NDIS_PM_WOL_PATTERN_REVISION_2

Revisões feitas na enumeração NDIS_PM_WOL_PACKET para NDIS 6.30.

Defina o membro Size como NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2.

NDIS_PM_WOL_PATTERN_REVISION_1

Versão original do NDIS 6.20.

Defina o membro Size como NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para o NDIS.

Priority

Um valor ULONG que contém a prioridade do padrão WOL. Se um driver subjacente adicionar um padrão WOL de prioridade mais alta quando não houver recursos disponíveis para mais padrões WOL, o NDIS poderá remover um padrão WOL de prioridade mais baixa para liberar recursos. Os drivers de miniport devem ignorar esse membro. Um driver de protocolo pode especificar qualquer prioridade que esteja dentro do intervalo predefinido. Os seguintes valores são predefinidos:

NDIS_PM_WOL_PRIORITY_LOWEST

Especifica o padrão WOL de prioridade mais baixa.

NDIS_PM_WOL_PRIORITY_NORMAL

Especifica um padrão WOL de prioridade normal.

NDIS_PM_WOL_PRIORITY_HIGHEST

Especifica o padrão WOL de prioridade mais alta.

WoLPacketType

Um valor de enumeração NDIS_PM_WOL_PACKET que especifica o tipo do pacote WOL.

FriendlyName

Uma estrutura NDIS_PM_COUNTED_STRING que contém a descrição legível pelo usuário do pacote WOL.

PatternId

Um valor ULONG que contém um valor fornecido por NDIS que identifica o padrão WOL. Antes que o NDIS envie a solicitação OID OID_PM_ADD_WOL_PATTERN para os drivers NDIS subjacentes ou conclua a solicitação para o driver sobreposto, o NDIS define PatternId como um valor exclusivo entre os padrões WOL em um adaptador de rede.

NextWoLPatternOffset

Um valor ULONG que contém um deslocamento, em bytes. O membro NextWoLPatternOffset de cada estrutura NDIS_PM_WOL_PATTERN em uma lista é definido como o deslocamento (desde o início da solicitação OID InformationBuffer) da próxima estrutura NDIS_PM_WOL_PATTERN na lista. Se NextWoLPatternOffset for zero, a estrutura atual será a última estrutura na lista.

WoLPattern

Uma união que contém as estruturas de membro a seguir.

WoLPattern.IPv4TcpSynParameters

Uma estrutura que contém informações do SYN do TCP IPv4. Essa estrutura contém os seguintes membros:

WoLPattern.IPv4TcpSynParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para o NDIS.

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

O endereço de origem IPv4 no pacote TCP SYN.

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

O endereço de destino IPv4 no pacote TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

O número da porta de origem TCP no pacote TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

O número da porta de destino TCP no pacote TCP SYN.

WoLPattern.IPv6TcpSynParameters

Uma estrutura que contém informações do IPv6 TCP SYN. Essa estrutura contém os seguintes membros:

WoLPattern.IPv6TcpSynParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para o NDIS.

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

O endereço de origem IPv6 no pacote TCP SYN.

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

O endereço de destino IPv6 no pacote TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

A porta de origem TCP no pacote TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

A porta de destino TCP no pacote TCP SYN.

WoLPattern.EapolRequestIdMessageParameters

Uma estrutura que contém parâmetros de mensagem de identidade de solicitação EAPOL 802.1X. Essa estrutura contém os seguintes membros:

WoLPattern.EapolRequestIdMessageParameters.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para o NDIS.

WoLPattern.WoLBitMapPattern

Uma estrutura que especifica um padrão de bitmap WOL. Para obter mais informações sobre padrões de bitmap, consulte a seção Comentários. A estrutura tem os seguintes membros:

WoLPattern.WoLBitMapPattern.Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse membro é reservado para o NDIS.

WoLPattern.WoLBitMapPattern.MaskOffset

O deslocamento, em bytes, para um buffer de máscara desde o início da estrutura NDIS_PM_WOL_PATTERN.

A máscara especifica quais bytes em pacotes de entrada devem ser correspondidos com o padrão de bitmap. Cada bit na máscara de bits corresponde a um byte no padrão. Se um bit for zero, o byte correspondente no pacote de entrada não deverá ser correspondente ao padrão. Se o bit for um, o adaptador de rede comparará o byte com o pacote de entrada com o byte especificado no padrão.

WoLPattern.WoLBitMapPattern.MaskSize

O tamanho, em bytes, da máscara.

WoLPattern.WoLBitMapPattern.PatternOffset

O deslocamento, em bytes, para um buffer de padrão desde o início da estrutura NDIS_PM_WOL_PATTERN.

WoLPattern.WoLBitMapPattern.PatternSize

O tamanho, em bytes, do padrão.

_WOL_PATTERN

Comentários

A estrutura de NDIS_PM_WOL_PATTERN é usada nas solicitações OID OID_PM_ADD_WOL_PATTERN e OID_PM_WOL_PATTERN_LIST .

Um driver de camada superior pode especificar um padrão WOL genérico com o membro WoLBitMapPattern . Um padrão de bitmap é especificado como uma sequência de bytes e um bitmap de máscara. Cada bit na máscara corresponde a um byte no padrão e especifica se o byte correspondente no pacote de entrada deve ser correspondido com o byte correspondente no padrão. Se todos os bytes comparados pelo adaptador de rede corresponderem, o pacote será uma correspondência e o adaptador de rede deverá gerar um evento de ativação.

Um driver de camada superior pode especificar um endereço IPv4 com preenchimento zero ou não especificado e valores de porta TCP na estrutura de membros IPv4TcpSynParameters . Se o sinalizador NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED estiver definido no membro EnabledWoLPacketPatterns do NDIS_PM_PARAMETERS, o adaptador de rede deverá usar o endereço não especificado ou o valor da porta para corresponder a qualquer endereço IPv4 de origem ou destino ou valor da porta TCP no pacote TCP SYN IPv4.

Da mesma forma, um driver de camada superior pode especificar um endereço IPv6 não especificado e valores de porta TCP na estrutura de membros IPv6TcpSynParameters . Se o sinalizador NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED estiver definido no membro EnabledWoLPacketPatterns do NDIS_PM_PARAMETERS, o adaptador de rede deverá usar o endereço não especificado ou o valor da porta para corresponder a qualquer endereço IPv6 de origem ou destino ou valor da porta TCP no pacote TCP SYN IPv4.

O driver de camada superior define os sinalizadores de NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED e NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED emitindo uma solicitação definida do OID OID_PM_PARAMETERS .

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.20 e posterior.
Cabeçalho ntddndis.h (include Ntddndis.h)

Confira também

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST