Partager via


structure NDIS_PM_WOL_PATTERN (ntddndis.h)

La structure NDIS_PM_WOL_PATTERN définit un modèle WOL (wake-on-LAN).

Syntaxe

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;

Membres

Header

Type, révision et taille de la structure NDIS_PM_WOL_PATTERN . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .

Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NDIS_PM_WOL_PATTERN , le pilote doit définir le membre Revision de Header sur la valeur suivante :

NDIS_PM_WOL_PATTERN_REVISION_2

Révisions apportées à l’énumération NDIS_PM_WOL_PACKET pour NDIS 6.30.

Définissez le membre Taille sur NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2.

NDIS_PM_WOL_PATTERN_REVISION_1

Version d’origine de NDIS 6.20.

Définissez le membre Taille sur NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1.

Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

Priority

Valeur ULONG qui contient la priorité du modèle WOL. Si un pilote overlying ajoute un modèle WOL de priorité plus élevée quand aucune ressource n’est disponible pour plus de modèles WOL, NDIS peut supprimer un modèle WOL de priorité inférieure pour libérer des ressources. Les pilotes miniport doivent ignorer ce membre. Un pilote de protocole peut spécifier n’importe quelle priorité qui se trouve dans la plage prédéfinie. Les valeurs suivantes sont prédéfinies :

NDIS_PM_WOL_PRIORITY_LOWEST

Spécifie le modèle WOL de priorité la plus basse.

NDIS_PM_WOL_PRIORITY_NORMAL

Spécifie un modèle WOL de priorité normale.

NDIS_PM_WOL_PRIORITY_HIGHEST

Spécifie le modèle WOL de priorité la plus élevée.

WoLPacketType

Valeur d’énumération NDIS_PM_WOL_PACKET qui spécifie le type du paquet WOL.

FriendlyName

Structure NDIS_PM_COUNTED_STRING qui contient la description lisible par l’utilisateur du paquet WOL.

PatternId

Valeur ULONG qui contient une valeur fournie par NDIS qui identifie le modèle WOL. Avant que NDIS envoie la requête OID OID_PM_ADD_WOL_PATTERN aux pilotes NDIS sous-jacents ou termine la demande au pilote de sur-insertion, NDIS définit PatternId sur une valeur unique parmi les modèles WOL d’une carte réseau.

NextWoLPatternOffset

Valeur ULONG qui contient un décalage, en octets. Le membre NextWoLPatternOffset de chaque structure NDIS_PM_WOL_PATTERN dans une liste est défini sur le décalage (à partir du début de la requête OID InformationBuffer) de la structure NDIS_PM_WOL_PATTERN suivante dans la liste. Si NextWoLPatternOffset est égal à zéro, la structure actuelle est la dernière structure de la liste.

WoLPattern

Union qui contient les structures membres suivantes.

WoLPattern.IPv4TcpSynParameters

Structure qui contient des informations TCP SYN IPv4. Cette structure contient les membres suivants :

WoLPattern.IPv4TcpSynParameters.Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

Adresse source IPv4 dans le paquet TCP SYN.

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

Adresse de destination IPv4 dans le paquet TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

Numéro de port source TCP dans le paquet TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

Numéro de port de destination TCP dans le paquet TCP SYN.

WoLPattern.IPv6TcpSynParameters

Structure qui contient des informations TCP SYN IPv6. Cette structure contient les membres suivants :

WoLPattern.IPv6TcpSynParameters.Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

Adresse source IPv6 dans le paquet TCP SYN.

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

Adresse de destination IPv6 dans le paquet TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

Port source TCP dans le paquet TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

Port de destination TCP dans le paquet TCP SYN.

WoLPattern.EapolRequestIdMessageParameters

Structure qui contient les paramètres de message d’identité de requête EAPOL 802.1X. Cette structure contient les membres suivants :

WoLPattern.EapolRequestIdMessageParameters.Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

WoLPattern.WoLBitMapPattern

Structure qui spécifie un modèle bitmap WOL. Pour plus d’informations sur les modèles bitmap, consultez la section Remarques. La structure a les membres suivants :

WoLPattern.WoLBitMapPattern.Flags

Valeur ULONG qui contient un OR au niveau du bit d’indicateurs. Ce membre est réservé à NDIS.

WoLPattern.WoLBitMapPattern.MaskOffset

Décalage, en octets, d’une mémoire tampon de masque à partir du début de la structure NDIS_PM_WOL_PATTERN.

Le masque spécifie les octets dans les paquets entrants qui doivent être mis en correspondance avec le modèle bitmap. Chaque bit du masque de bits correspond à un octet dans le modèle. Si un bit est égal à zéro, l’octet correspondant dans le paquet entrant ne doit pas être mis en correspondance avec le modèle. Si le bit est un, la carte réseau compare l’octet au paquet entrant avec l’octet spécifié dans le modèle.

WoLPattern.WoLBitMapPattern.MaskSize

Taille, en octets, du masque.

WoLPattern.WoLBitMapPattern.PatternOffset

Décalage, en octets, d’une mémoire tampon de modèle à partir du début de la structure NDIS_PM_WOL_PATTERN.

WoLPattern.WoLBitMapPattern.PatternSize

Taille, en octets, du modèle.

_WOL_PATTERN

Remarques

La structure NDIS_PM_WOL_PATTERN est utilisée dans les requêtes OID OID_PM_ADD_WOL_PATTERN et OID_PM_WOL_PATTERN_LIST .

Un pilote de couche supérieure peut spécifier un modèle WOL générique avec le membre WoLBitMapPattern . Un modèle bitmap est spécifié sous la forme d’une séquence d’octets et d’une bitmap de masque. Chaque bit du masque correspond à un octet dans le modèle et spécifie si l’octet correspondant dans le paquet entrant doit être mis en correspondance avec l’octet correspondant dans le modèle. Si tous les octets comparés par la carte réseau correspondent, le paquet est une correspondance et la carte réseau doit générer un événement de mise en éveil.

Un pilote de couche supérieure peut spécifier une adresse IPv4 et des valeurs de port TCP vides ou non spécifiées dans la structure de membre IPv4TcpSynParameters . Si l’indicateur NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED est défini dans le membre EnabledWoLPacketPatterns de l’NDIS_PM_PARAMETERS, la carte réseau doit utiliser l’adresse ou la valeur de port non spécifiée pour correspondre à une adresse IPv4 source ou de destination ou à une valeur de port TCP dans le paquet SYN TCP IPv4.

De même, un pilote de couche supérieure peut spécifier une adresse IPv6 et des valeurs de port TCP non spécifiées dans la structure de membre IPv6TcpSynParameters . Si l’indicateur NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED est défini dans le membre EnabledWoLPacketPatterns du NDIS_PM_PARAMETERS, la carte réseau doit utiliser l’adresse ou la valeur de port non spécifiée pour correspondre à une adresse IPv6 source ou de destination ou à une valeur de port TCP dans le paquet SYN TCP IPv4.

Le pilote de couche supérieure définit les indicateurs NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED et NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED en émettant une demande de jeu de l’OID OID_PM_PARAMETERS .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
En-tête ntddndis.h (include Ntddndis.h)

Voir aussi

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST