Возможности управления питанием отчетов

Драйверы miniport, поддерживающие NDIS 6.20 и более поздние версии NDIS, сообщают о своих возможностях управления питанием оборудования во время инициализации. NDIS сообщает о текущих возможностях драйверов протокола NDIS во время операции привязки. Однако NDIS может скрыть некоторые возможности от драйвера протокола. Например, NDIS может сообщать о различных возможностях, когда пользователь отключает некоторые или все возможности управления питанием.

Обратите внимание, что текущие возможности управления питанием, которые NDIS сообщает драйверу протокола, не обязательно совпадают с аппаратными возможностями, которые драйвер мини-порта сообщил в NDIS.

Если драйвер NDIS 6.1 или более ранней версии связан с драйвером протокола NDIS 6.20, NDIS преобразует возможности управления питанием в формат, поддерживаемый драйвером протокола NDIS 6.20. NDIS также преобразует возможности управления питанием, которые отчеты драйвера минипорта NDIS 6.20, в формат, поддерживаемый драйверами NDIS 6.1 и более ранних версий.

Аппаратные возможности, которые сообщает драйвер мини-порта, можно включить или отключить в параметрах INF-файла. Дополнительные сведения о параметрах INF-файла управления питанием см. в разделе Стандартизированные ключевые слова INF для управления питанием.

Во время инициализации мини-порта драйвер мини-порта инициализирует структуру NDIS_PM_CAPABILITIES с помощью возможностей управления питанием базового оборудования. Драйвер мини-порта задает элемент PowerManagementCapabilitiesEx структуры NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES , чтобы указать на структуру NDIS_PM_CAPABILITIES .

Структура NDIS_PM_CAPABILITIES содержит следующие сведения:

Flags
Для NDIS 6.20 этот элемент зарезервирован для NDIS.

Начиная с NDIS 6.30, определены следующие флаги:

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED
Если этот флаг установлен, сетевой адаптер может сохранить полученный пакет, который вызвал событие пробуждения адаптера.

Дополнительные сведения об этой возможности управления питанием см. в разделе Индикаторы состояния причины пробуждения NDIS.

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED
Если этот флаг установлен, драйвер мини-порта поддерживает выборочную приостановку NDIS для сетевых адаптеров.

Дополнительные сведения об этой возможности управления питанием см. в разделе Выборочная приостановка NDIS.

SupportedWoLPacketPatterns
Содержит флаги, указывающие шаблоны пакетов пробуждения по локальной сети (WOL), поддерживаемые сетевым адаптером. Например, сетевой адаптер может создать событие пробуждения при получении растрового изображения, магического пакета WOL или сообщения идентификатора запроса EAP по локальной сети (EAPOL). Полный список шаблонов, поддерживаемых в текущей операционной системе, см. на странице справочника по NDIS_PM_CAPABILITIES .

NumTotalWoLPatterns
Значение ULONG , содержащее общее количество шаблонов WOL, поддерживаемых сетевым адаптером. Это сумма "число поддерживаемых шаблонов протоколов WOL" и "количество поддерживаемых шаблонов точечного изображения WOL".

Например, если драйвер поддерживает 8 гибких растровых шаблонов, IPv4 TCP SYN (с помощью предустановленного фильтра) и магический пакет, вы будете сообщать 9 в NumTotalWoLPatterns. (8 растровых изображений + 1 IPv4 TCP SYN = 9)

Примечание Общее количество шаблонов WOL не включает шаблон пробуждения волшебного пакета.

Дополнительные сведения о шаблонах протоколов WOL см. в разделе NDIS_PM_WOL_PATTERN.

MaxWolPatternSize
Содержит максимальное количество байтов, которое можно сравнить с шаблоном.

MaxWoLPatternOffset
Содержит количество байтов в пакете, который может быть проверен, который начинается с начала заголовка MAC.

MaxWoLPacketSaveBuffer
Содержит количество байтов шаблона протокола WOL, которое драйвер мини-порта может сохранить в буфер и указать на стек драйверов.

SupportedProtocolOffloads
Содержит флаги, указывающие функции разгрузки протокола управления питанием, поддерживаемые сетевым адаптером. Драйверы мини-портов используют эти флаги, чтобы сообщить о возможностях разгрузки протокола с низким энергопотреблением сетевого адаптера. Например, сетевой адаптер может поддерживать разгрузку IPv4 ARP, IPv6 Neighbor Solicitation (NS) или IEEE 802.11 secure network (RSN) с 4-х и двухсторонним подтверждением. Полный список разгрузки протокола, поддерживаемых в текущей операционной системе, см. на странице справочника по NDIS_PM_CAPABILITIES .

NumArpOffloadIPv4Addresses
Содержит количество IPv4-адресов разгрузки ARP.

NumNSOffloadIPv6Addresses
Содержит количество IPv6-запросов разгрузки NS, поддерживаемых сетевым адаптером.

MinMagicPacketWakeUp
Указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения при получении магического пакета. ( Магический пакет — это пакет, содержащий 16 непрерывных копий ethernet-адреса принимающего сетевого адаптера.)

MinPatternWakeUp
Указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения при получении сетевого кадра, содержащего шаблон, заданный драйвером протокола.

MinLinkChangeWakeUp
Указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения при изменении связи (подключение к мультимедиа или отключение).

SupportedWakeUpEvents
Указывает независимые от мультимедиа события пробуждения, поддерживаемые сетевым адаптером. Эти события не относятся к типу мультимедиа. Например, эти события пробуждения включают события изменения ссылок.

MediaSpecificWakeUpEvents
Указывает события пробуждения для конкретного носителя, поддерживаемые сетевым адаптером. Например, к этим событиям относятся:

  • Сетевой адаптер 802.11 не связан с точкой доступа (AP).

  • Сетевой адаптер мобильной широкополосной связи (МБ) обнаруживает изменение состояния регистрации в службе MB.

Если драйвер мини-порта поддерживает разгрузку протоколов в сетевой адаптер в состоянии низкого энергопотребления, он должен поддерживать то же состояние низкого энергопотребления для разгрузки протокола, что и для события соответствия шаблону WOL; значение, указанное в элементе MinPatternWakeUp или MinMagicPacketWakeUp .

NDIS инициализирует структуру NDIS_PM_CAPABILITIES с доступными в настоящее время возможностями управления питанием базового сетевого адаптера и передает ему драйверы протоколов, лежащие выше, во время операции привязки. NDIS задает элемент PowerManagementCapabilitiesEx структуры NDIS_BIND_PARAMETERS , чтобы указать на структуру NDIS_PM_CAPABILITIES.

Для получения возможностей аппаратного управления питанием сетевого адаптера драйверы могут использовать запрос OID_PM_HARDWARE_CAPABILITIES OID. NDIS обрабатывает этот запрос OID от имени драйвера мини-порта. Драйверы мини-портов NDIS не требуются для поддержки запроса OID OID_PM_HARDWARE_CAPABILITIES.

Избыточные драйверы могут использовать OID_PM_CURRENT_CAPABILITIES OID для запроса доступных в настоящее время возможностей управления питанием сетевого адаптера. NDIS обрабатывает этот запрос OID от имени драйвера мини-порта. Драйверы мини-портов NDIS не требуются для поддержки запроса OID OID_PM_CURRENT_CAPABILITIES.