Поделиться через


структура NDIS_PM_WOL_PATTERN (ntddndis.h)

Структура NDIS_PM_WOL_PATTERN определяет шаблон пробуждения по локальной сети (WOL).

Синтаксис

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;

Члены

Header

Тип, редакция и размер структуры NDIS_PM_WOL_PATTERN. Этот элемент отформатирован как структура NDIS_OBJECT_HEADER.

Драйвер минипорта должен задать для элемента типазаголовка значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_PM_WOL_PATTERN, драйвер должен задать элемент редакции заголовка следующим значением:

NDIS_PM_WOL_PATTERN_REVISION_2

Изменения, внесенные в перечисление NDIS_PM_WOL_PACKET для NDIS 6.30.

Задайте для элемента размер значение NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2.

NDIS_PM_WOL_PATTERN_REVISION_1

Исходная версия для NDIS 6.20.

Задайте для элемента размер значение NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1.

Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов. Этот элемент зарезервирован для NDIS.

Priority

Значение ULONG, содержащее приоритет шаблона WOL. Если слишком избыточный драйвер добавляет шаблон WOL с более высоким приоритетом, если нет ресурсов, доступных для дополнительных шаблонов WOL, NDIS может удалить шаблон WOL с более низким приоритетом для освобождения ресурсов. Драйверы минипорта должны игнорировать этот элемент. Драйвер протокола может указать любой приоритет, который находится в предопределенном диапазоне. Следующие значения предопределяются:

NDIS_PM_WOL_PRIORITY_LOWEST

Указывает шаблон WOL с наименьшим приоритетом.

NDIS_PM_WOL_PRIORITY_NORMAL

Задает обычный шаблон WOL приоритета.

NDIS_PM_WOL_PRIORITY_HIGHEST

Указывает шаблон WOL с наивысшим приоритетом.

WoLPacketType

Значение перечисления NDIS_PM_WOL_PACKET, указывающее тип пакета WOL.

FriendlyName

Структура NDIS_PM_COUNTED_STRING, содержащая удобочитаемое пользователем описание пакета WOL.

PatternId

Значение ULONG, содержащее предоставленное NDIS значение, определяющее шаблон WOL. Прежде чем NDIS отправляет запрос OID_PM_ADD_WOL_PATTERN OID в базовые драйверы NDIS или завершает запрос к драйверу с превышением, NDIS задает PatternId значением, уникальным среди шаблонов WOL в сетевом адаптере.

NextWoLPatternOffset

Значение ULONG, содержащее смещение в байтах. Элемент NextWoLPatternOffset каждой структуры NDIS_PM_WOL_PATTERN в списке имеет смещение (начиная с начала запроса OID InformationBuffer) следующей структуры NDIS_PM_WOL_PATTERN в списке. Если NextWoLPatternOffset равно нулю, текущая структура является последней структурой в списке.

WoLPattern

Объединение, содержащее следующие структуры элементов.

WoLPattern.IPv4TcpSynParameters

Структура, содержащая сведения О TCP-интерфейсе IPv4. Эта структура содержит следующие элементы:

WoLPattern.IPv4TcpSynParameters.Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов. Этот элемент зарезервирован для NDIS.

WoLPattern.IPv4TcpSynParameters.IPv4SourceAddress[4]

Исходный адрес IPv4 в пакете TCP SYN.

WoLPattern.IPv4TcpSynParameters.IPv4DestAddress[4]

Адрес назначения IPv4 в пакете TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPSourcePortNumber

Номер исходного порта TCP в пакете TCP SYN.

WoLPattern.IPv4TcpSynParameters.TCPDestPortNumber

Номер конечного порта TCP в пакете TCP SYN.

WoLPattern.IPv6TcpSynParameters

Структура, содержащая сведения О TCP-интерфейсе IPv6. Эта структура содержит следующие элементы:

WoLPattern.IPv6TcpSynParameters.Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов. Этот элемент зарезервирован для NDIS.

WoLPattern.IPv6TcpSynParameters.IPv6SourceAddress[16]

Исходный адрес IPv6 в пакете TCP SYN.

WoLPattern.IPv6TcpSynParameters.IPv6DestAddress[16]

Адрес назначения IPv6 в пакете TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPSourcePortNumber

Исходный порт TCP в пакете TCP SYN.

WoLPattern.IPv6TcpSynParameters.TCPDestPortNumber

Порт назначения TCP в пакете TCP SYN.

WoLPattern.EapolRequestIdMessageParameters

Структура, содержащая параметры удостоверений удостоверений запроса 802.1X EAPOL. Эта структура содержит следующие элементы:

WoLPattern.EapolRequestIdMessageParameters.Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов. Этот элемент зарезервирован для NDIS.

WoLPattern.WoLBitMapPattern

Структура, указывающая шаблон растрового изображения WOL. Дополнительные сведения о шаблонах растрового изображения см. в разделе "Примечания". Структура содержит следующие элементы:

WoLPattern.WoLBitMapPattern.Flags

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов. Этот элемент зарезервирован для NDIS.

WoLPattern.WoLBitMapPattern.MaskOffset

Смещение в байтах для буфера маски с начала структуры NDIS_PM_WOL_PATTERN.

Маска указывает, какие байты в входящих пакетах должны соответствовать шаблону растрового изображения. Каждый бит в битовой маске соответствует байту в шаблоне. Если бит равен нулю, соответствующий байт в входящих пакетах не должен соответствовать шаблону. Если бит один, сетевой адаптер сравнивает байт с входящим пакетом с байтом, указанным в шаблоне.

WoLPattern.WoLBitMapPattern.MaskSize

Размер маски в байтах.

WoLPattern.WoLBitMapPattern.PatternOffset

Смещение в байтах для буфера шаблона с начала NDIS_PM_WOL_PATTERN структуры.

WoLPattern.WoLBitMapPattern.PatternSize

Размер шаблона в байтах.

_WOL_PATTERN

Замечания

Структура NDIS_PM_WOL_PATTERN используется в запросах OID_PM_ADD_WOL_PATTERN и OID_PM_WOL_PATTERN_LIST OID.

Драйвер верхнего уровня может указать универсальный шаблон WOL с элементом WoLBitMapPattern. Шаблон растрового изображения указывается в виде последовательности байтов и растрового изображения маски. Каждый бит в маске соответствует байту в шаблоне и указывает, должен ли соответствующий байт в входящих пакетах соответствовать соответствующему байту в шаблоне. Если все байты по сравнению с сетевым адаптером совпадают, пакет соответствует, а сетевой адаптер должен создать событие пробуждения.

Драйвер верхнего уровня может указать нулевые значения или , IPv4-адрес и TCP-порты в IPv4TcpSynParameters структуре элементов. Если флаг NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED задан в EnabledWoLPacketPatterns члена NDIS_PM_PARAMETERS, сетевой адаптер должен использовать неопределенный адрес или значение порта, чтобы соответствовать любому исходному или целевому IPv4-адресу или значению TCP-порта в пакете TCP SYN IPv4.

Аналогичным образом драйвер верхнего слоя может указать непреднамеренные значения IPv6-адреса и TCP-порта в IPv6TcpSynParameters структуре элементов. Если флаг NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED задан в EnabledWoLPacketPatterns члена NDIS_PM_PARAMETERS, сетевой адаптер должен использовать неопределенный адрес или значение порта, чтобы соответствовать любому исходному или целевому IPv6-адресу или значению TCP-порта в пакете TCP SYN IPv4.

Драйвер верхнего слоя задает флаги NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED и NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED путем выдачи набора запроса OID_PM_PARAMETERS OID.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.20 и более поздних версиях.
заголовка ntddndis.h (include Ntddndis.h)

См. также

NDIS_OBJECT_HEADER

NDIS_PM_COUNTED_STRING

NDIS_PM_WOL_PACKET

OID_PM_ADD_WOL_PATTERN

OID_PM_WOL_PATTERN_LIST