структура 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) |