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

The NDIS_PM_CAPABILITIES structure specifies power management capabilities of a network adapter.

Syntax

typedef struct _NDIS_PM_CAPABILITIES {
  NDIS_OBJECT_HEADER      Header;
  ULONG                   Flags;
  ULONG                   SupportedWoLPacketPatterns;
  ULONG                   NumTotalWoLPatterns;
  ULONG                   MaxWoLPatternSize;
  ULONG                   MaxWoLPatternOffset;
  ULONG                   MaxWoLPacketSaveBuffer;
  ULONG                   SupportedProtocolOffloads;
  ULONG                   NumArpOffloadIPv4Addresses;
  ULONG                   NumNSOffloadIPv6Addresses;
  NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
  NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
  NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
  ULONG                   SupportedWakeUpEvents;
  ULONG                   MediaSpecificWakeUpEvents;
} NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;

Members

Header

The type, revision, and size of the NDIS_PM_CAPABILITIES structure. This member is formatted as an NDIS_OBJECT_HEADER structure.

The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_PM_CAPABILITIES structure, the driver must set the Revision member of Header to the following value:

NDIS_PM_CAPABILITIES_REVISION_2

Добавлены различные изменения для NDIS 6.30.

Set the Size member to NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2.

NDIS_PM_CAPABILITIES_REVISION_1

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

Set the Size member to NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1.

Flags

A ULONG value that contains a bitwise OR of flags. Для NDIS 6.20 этот член зарезервирован для NDIS.

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

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED

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

Если этот флаг задан, минипорт-драйвер должен иметь возможность выполнять следующие действия с этим пакетом после перехода сетевого адаптера в состояние полной мощности:

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

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED

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

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

SupportedWoLPacketPatterns

Значение ULONG, содержащее побитовое ЗНАЧЕНИЕ ИЛИ флагов, указывающее шаблоны пробуждения по локальной сети (WOL), поддерживаемые сетевым адаптером. Мини-порты используют эти флаги для объявления шаблонов WOL на основе пакетов, поддерживаемых сетевым адаптером.

Дополнительные сведения об этом члене см. в разделе "Примечания". For more information about WOL patterns, see NDIS_PM_WOL_PATTERN.

NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED

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

NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED

Сетевой адаптер может создать событие пробуждения при получении магического пакета WOL. A magic packet contains within its payload a string of six bytes with a value of 0xFF, followed immediately by 16 contiguous copies of the receiving network adapter's Ethernet address.

NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED

Сетевой адаптер может создать событие пробуждения при получении пакета ПРОТОКОЛА TCP SYN IPv4. Удаленные узлы отправляют пакеты TCP SYN для запуска TCP-подключения к локальному компьютеру.

NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED

Сетевой адаптер может создать событие пробуждения при получении пакета TCP SYN IPv6.

NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED

If this flag is set, the network adapter supports as wildcard values any zero-filled, or unspecified, values for IPv4 addresses and TCP/UDP ports in a WOL pattern. Таким образом, подстановочный знак соответствует любому адресу IPv4 и любому значению порта входящего пакета в расположении, указанном шаблоном WOL.

Если сетевой адаптер поддерживает пробуждение на основе IPv4 на основе шаблона пакета ЛОКАЛЬНОй сети, например шаблона IPv4 TCP SYN, он должен поддерживать создание события пробуждения, если IPv4-адреса и значения портов входящего пакета соответствуют тем, которые указаны в шаблоне пробуждения.

Однако если установлен флаг NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED, сетевой адаптер также может создать событие пробуждения, если выполняются следующие условия сопоставления шаблонов:

  • Любое значение из входящего пакета в расположении, заданном шаблоном WOL, совпадает, если шаблон WOL для этого расположения содержит подстановочное значение.
  • Значение из входящего пакета в расположении, заданном шаблоном WOL, совпадает, если шаблон WOL для этого расположения содержит ненулевое значение, равное значению пакета.
Минипорт-драйвер должен ограничить события пробуждения указанными IPv4-адресами и портами, если этот драйвер не включает эту возможность.
Note Wildcard values that are enabled by this flag can include unspecified IPv4 source and destination addresses, as well as unspecified source and destination ports.
 

NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED

If this flag is set, the network adapter supports as wildcard values any zero-filled, or unspecified, values for IPv6 addresses and TCP/UDP ports in a WOL pattern. Таким образом, подстановочный знак соответствует любому адресу IPv6 и любому значению порта входящего пакета в расположении, указанном шаблоном WOL.

Если сетевой адаптер поддерживает образец пробуждения на основе IPv6 на основе шаблона пакета ЛОКАЛЬНОй сети, например шаблон IPv6 TCP SYN, он должен поддерживать создание события пробуждения, если IPv6-адреса и значения портов входящего пакета соответствуют тем, которые указаны в шаблоне пробуждения.

Однако если установлен флаг NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED, сетевой адаптер также может создать событие пробуждения, если выполняются следующие условия сопоставления шаблонов:

  • Любое значение из входящего пакета в расположении, заданном шаблоном WOL, совпадает, если шаблон WOL для этого расположения содержит подстановочное значение.
  • Значение из входящего пакета в расположении, заданном шаблоном WOL, совпадает, если шаблон WOL для этого расположения содержит ненулевое значение, равное значению пакета.
Минипорт-драйвер должен ограничить события пробуждения указанными IPv6-адресами и портами, если этот драйвер не включает эту возможность.
Note Wildcard values that are enabled by this flag can include unspecified IPv6 source and destination addresses, as well as unspecified source and destination ports.
 

NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED

Сетевой адаптер может создать событие пробуждения при получении сообщения идентификатора запроса EAPOL.

NumTotalWoLPatterns

A ULONG value that contains the total number of WOL patterns that a network adapter supports. Это сумма "число поддерживаемых шаблонов протокола WOL" и "число поддерживаемых шаблонов растрового изображения WOL".

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

Note The total number of WOL patterns does not include the magic packet wake-up pattern.
 
For more information about WOL protocol patterns, see NDIS_PM_WOL_PATTERN.

MaxWoLPatternSize

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

MaxWoLPatternOffset

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

MaxWoLPacketSaveBuffer

Значение ULONG, содержащее количество байтов пакета WOL, которое мини-драйвер может сохранить в буфере и указать стек драйверов. Это значение должно быть меньше или равно размеру (в байтах) максимальной единицы передачи (MTU) для сетевого носителя. The driver reports the MTU size through OID query requests of OID_GEN_MAXIMUM_FRAME_SIZE.

Note This member is ignored in NDIS 6.20 and earlier versions of NDIS. Starting with NDIS 6.30, this member must contain a nonzero value if the NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED flag is set in the Flags member.
 

SupportedProtocolOffloads

A ULONG value that contains a bitwise OR of flags that specify the protocol offload features that a network adapter supports. Минипорт драйверы используют эти флаги для сообщения о поддержке разгрузки протокола с низким энергопотреблением сетевого адаптера.

NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED

Если этот бит задан, сетевой адаптер может реагировать на пакеты ARP IPv4, пока он находится в состоянии низкой мощности.

Дополнительные сведения о протоколе ARP см. в rfC 826.

NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED

Если этот бит задан, сетевой адаптер может реагировать на пакеты IPv6-соседского запроса (NS), пока он находится в состоянии низкой мощности.

For more information about IPv6 NS messages, see RFC 4861.

NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED

Сетевой адаптер может реагировать на запросы повторного ключа сети безопасности IEEE 802.11i, пока он находится в состоянии низкой мощности.

NumArpOffloadIPv4Addresses

A ULONG value that contains the number of IPv4 addresses that the adapter supports for ARP offload.

NumNSOffloadIPv6Addresses

A ULONG value that contains the number of IPv6 NS offload requests that the adapter supports. Это должно быть не менее 2.

Note Despite its name, the NumNSOffloadIPv6Addresses contains the number of supported requests, not addresses.
 

MinMagicPacketWakeUp

Указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения при получении магического пакета. A magic packet contains within its payload a string of six bytes with a value of 0xFF, followed immediately by 16 contiguous copies of the receiving network adapter's MAC address.

Note Device power states are specified by a value of Dx, where D0 is the highest device power state and D3 is the lowest device power state.
 
The device power state is specified as one of the following NDIS_DEVICE_POWER_STATE values:

NdisDeviceStateUnspecified

Сетевой адаптер не поддерживает пробуждения волшебных пакетов.

Note If the MinMagicPacketWakeUp member is set to this value, the NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED flag must not be set in the SupportedWoLPacketPatterns member.
 

NdisDeviceStateD0

Сетевой адаптер может сигнализировать о пробуждении волшебного пакета из состояния питания устройства D0. Так как D0 является полностью управляемым состоянием, это не приводит к пробуждению, но может использоваться в качестве события во время выполнения.

Note Starting with NDIS 6.20, signaling a magic packet wake-up from NdisDeviceStateD0 is no longer supported.
 

NdisDeviceStateD1

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

NdisDeviceStateD2

Сетевой адаптер может сигнализировать о пробуждении волшебного пакета из состояния устройства D2.

NdisDeviceStateD3

Сетевой адаптер может сигнализировать о пробуждении волшебного пакета из состояния питания устройства D3.

MinPatternWakeUp

Указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения при получении сетевого кадра, содержащего шаблон, указанный драйвером протокола. The power state is specified as one of the following NDIS_DEVICE_POWER_STATE values:

NdisDeviceStateUnspecified

Сетевой адаптер не поддерживает пробуждения по шаблону.

Note If the MinPatternWakeUp member is set to this value, only the NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED flag can be set in the SupportedWoLPacketPatterns member.
 

NdisDeviceStateD0

Сетевой адаптер может сигнализировать о пробуждении по шаблону из состояния питания устройства D0. Так как D0 является полностью управляемым состоянием, это не приводит к пробуждению, но может использоваться в качестве события времени выполнения.

Note Starting with NDIS 6.20, signaling a pattern-match wake-up from NdisDeviceStateD0 is no longer supported.
 

NdisDeviceStateD1

Сетевой адаптер может сигнализировать о пробуждении по шаблону из состояния питания устройства D1.

NdisDeviceStateD2

Сетевой адаптер может сигнализировать о пробуждении в соответствии с шаблоном из состояния питания устройства D2.

NdisDeviceStateD3

Сетевой адаптер может сигнализировать о пробуждении в соответствии с шаблоном из состояния питания устройства D3.

MinLinkChangeWakeUp

Начиная с версии NDIS 6.20, этот элемент указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событии пробуждения, когда состояние связи изменяется от носителя, отключенного к подключенным к носителю.

Начиная с NDIS 6.30, этот элемент указывает наименьшее состояние питания устройства, из которого сетевой адаптер может сигнализировать о событиях пробуждения. These events are specified in the SupportedWakeUpEvents member.

The power state is specified as one of the following NDIS_DEVICE_POWER_STATE values:

NdisDeviceStateUnspecified

Сетевой адаптер не поддерживает изменения связи пробуждения.

Note If the MinLinkChangeWakeUp member is set to this value, theSupportedWakeUpEvents member must be set to zero.
 

NdisDeviceStateD0

Сетевой адаптер может сигнализировать об изменении связи от состояния питания устройства D0. Так как D0 является полностью управляемым состоянием, это не приводит к пробуждению, но может использоваться в качестве события времени выполнения.

Note Starting with NDIS 6.20, signaling a link change wake-up from NdisDeviceStateD0 is no longer supported.
 

NdisDeviceStateD1

Сетевой адаптер может сигнализировать об изменении связи из состояния питания устройства D1.

NdisDeviceStateD2

Сетевой адаптер может сигнализировать об изменении связи из состояния питания устройства D2.

NdisDeviceStateD3

Сетевой адаптер может сигнализировать об изменении связи из состояния питания устройства D3.

SupportedWakeUpEvents

A ULONG value that contains a bitwise OR of flags. Эти флаги указывают события пробуждения, независимые от мультимедиа, поддерживаемые сетевым адаптером. Эти события не связаны с типами медиаконтента.

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

NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED

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

NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED

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

MediaSpecificWakeUpEvents

A ULONG value that contains a bitwise OR of flags. Эти флаги указывают события пробуждения для конкретного носителя, поддерживаемые сетевым адаптером.

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

NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED

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

Дополнительные сведения о NLO см. в разделе Wi-Fi Разгрузка списка сети.

NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED

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

NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED

Если этот флаг задан, сетевой адаптер 802.11 может создать событие пробуждения, если он сталкивается с ошибкой во время подтверждения группы RSN IEEE 802.11i RSN с временным ключом (GTK).

NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED

Если этот флаг задан, сетевой адаптер 802.11 может создать событие пробуждения, если он получает первый кадр подтверждения IEEE 802.11i RSN 4-го пути с помощью AP. Это подтверждение выполняется при проверке подлинности адаптера с помощью AP.

NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED

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

NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED

Если этот флаг задан, сетевой адаптер МБ может создать событие пробуждения, если служба MB должна получать уведомление о получении сообщения службы коротких сообщений (SMS). The adapter generates this wake-up event either after the completion of a previously issued OID_WWAN_SMS_READ query request, or the arrival of a new class-0 (flash/alert) message from the network provider as an event notification.

NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED

Если этот флаг задан, сетевой адаптер МБ может создать событие пробуждения, если оно получает сообщение "Неструктурированные дополнительные данные службы" (USSD).

Remarks

The NDIS_PM_CAPABILITIES structure is used in the PowerManagementCapabilitiesEx member of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES and NDIS_BIND_PARAMETERS structures and in the NDIS_STATUS_PM_CAPABILITIES_CHANGE status indication.

During miniport initialization, the miniport driver initializes an NDIS_PM_CAPABILITIES structure with the power management capabilities of the network adapter hardware. The miniport driver then sets the PowerManagementCapabilitiesEx member of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure to point to the initialized NDIS_PM_CAPABILITIES structure.

Не следует пытаться включить возможности, которые сетевой адаптер не поддерживает. To allow an overlying driver to determine what capabilities a network adapter provides, NDIS provides the capabilities in the PowerManagementCapabilitiesEx member of the NDIS_BIND_PARAMETERS structure.

Note NDIS 6.20 drivers must use the PowerManagementCapabilitiesEx member instead of the PowerManagementCapabilities member.
 
The SupportedProtocolOffloads member contains flags that specify the protocol offload features that a network adapter supports. Сетевой адаптер обрабатывает эти протоколы в состоянии низкой мощности. For example, if the network adapter hardware can handle IPv4 ARP packets for the driver stack while it is in a low power state, the miniport driver sets the NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED bit in SupportedProtocolOffloads.

Requirements

Requirement Value
Минимальный поддерживаемый клиент Поддерживается в NDIS 6.20 и более поздних версиях.
Header ntddndis.h (include Ntddndis.h)

See also

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_PM_WOL_PATTERN

NDIS_STATUS_PM_CAPABILITIES_CHANGE

NDIS_STATUS_PM_WAKE_REASON

NdisMIndicateReceiveNetBufferLists

NdisMIndicateStatusEx