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