NDIS_PM_PARAMETERS 结构 (ntddndis.h)
NDIS_PM_PARAMETERS结构指定为网络适配器启用的当前或新的电源管理硬件功能。
语法
typedef struct _NDIS_PM_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG EnabledWoLPacketPatterns;
ULONG EnabledProtocolOffloads;
ULONG WakeUpFlags;
ULONG MediaSpecificWakeUpEvents;
} NDIS_PM_PARAMETERS, *PNDIS_PM_PARAMETERS;
成员
Header
NDIS_PM_PARAMETERS结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 Header 的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_PM_PARAMETERS 结构的版本,驱动程序必须将 Header 的 Revision 成员设置为以下值:
NDIS_PM_PARAMETERS_REVISION_2
为 NDIS 6.30 添加了各种更改。
将 Size 成员设置为 NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2。
NDIS_PM_PARAMETERS_REVISION_1
NDIS 6.20 的原始版本。
将 Size 成员设置为 NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1。
EnabledWoLPacketPatterns
一个 ULONG 值,该值包含与微型端口驱动程序在 NDIS_PM_CAPABILITIES 结构的 SupportedWoLPacketPatterns 成员中报告的功能对应的按位 OR 标志。 NDIS 使用这些标志启用 LAN 唤醒 (WOL) 模式,网络适配器使用这些模式将本地计算机从低功耗状态唤醒。 有关 WOL 模式的详细信息,请参阅 NDIS_PM_WOL_PATTERN。
使用以下标志:
NDIS_PM_WOL_BITMAP_PATTERN_ENABLED
如果设置了此标志,则网络适配器将启用,以便在收到与配置的位图模式匹配的数据包时生成唤醒事件。
NDIS_PM_WOL_MAGIC_PACKET_ENABLED
如果设置了此标志,则会启用网络适配器,以便在收到 WOL magic 数据包时生成唤醒事件。 幻数据包在其有效负载中包含一个由 6 个字节(值为 0xFF)的字符串,后跟接收网络适配器的媒体访问控制 (MAC) 地址的 16 个连续副本。
NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_ENABLED
如果设置了此标志,则会启用网络适配器,以便在收到 EAPOL 请求标识符消息时生成唤醒事件。
NDIS_PM_WOL_IPV4_TCP_SYN_ENABLED
如果设置了此标志,则会启用网络适配器,以便在收到 IPv4 TCP SYN 数据包时生成唤醒事件。 远程主机发送 TCP SYN 数据包以启动与本地计算机的 TCP 连接。
NDIS_PM_WOL_IPV6_TCP_SYN_ENABLED
如果设置了此标志,则启用网络适配器以在收到 IPv6 TCP SYN 数据包时生成唤醒事件。
NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED
如果设置了此标志,则网络适配器必须将 WOL 模式中 IPv4 地址和 TCP/UDP 端口的任何零填充或未指定的值视为通配符值。 这样,通配符值将匹配 WOL 模式指定位置中传入数据包的任何 IPv4 地址和任何端口值。
如果设置了此标志,则启用网络适配器以生成唤醒事件(如果满足以下模式匹配条件):
- 如果该位置的 WOL 模式包含通配符值,则来自由 WOL 模式指定的位置中的传入数据包的任何值都是匹配的。
- 如果该位置的 WOL 模式包含与数据包的值相等的非零值,则来自由 WOL 模式指定的位置中的传入数据包的值是匹配的。
注意
此标志启用的通配符值可以包括未指定的 IPv4 源和目标地址,以及未指定的源和目标端口。
NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED
如果设置了此标志,则网络适配器必须将 WOL 模式中 IPv6 地址和 TCP/UDP 端口的任何零填充值或未指定的值视为通配符值。 这样,通配符值将匹配 WOL 模式指定位置中传入数据包的任何 IPv6 地址和任何端口值。
如果设置了此标志,则启用网络适配器以生成唤醒事件(如果满足以下模式匹配条件):
- 如果该位置的 WOL 模式包含通配符值,则来自由 WOL 模式指定的位置中的传入数据包的任何值都是匹配的。
- 如果该位置的 WOL 模式包含与数据包的值相等的非零值,则来自由 WOL 模式指定的位置中的传入数据包的值是匹配的。
注意
此标志启用的通配符值可以包括未指定的 IPv6 源和目标地址,以及未指定的源和目标端口。
EnabledProtocolOffloads
一个 ULONG 值,该值包含与微型端口驱动程序在 NDIS_PM_CAPABILITIES 结构的 SupportedProtocolOffloads 成员中报告的功能对应的按位 OR 标志。 NDIS 使用这些标志在网络适配器上启用低功耗协议卸载功能。 使用以下标志:
NDIS_PM_PROTOCOL_OFFLOAD_ARP_ENABLED
如果设置了此位,则超载驱动程序将请求网络适配器启用 ARP 协议卸载功能。 一旦通过 OID_PM_ADD_PROTOCOL_OFFLOAD的一组请求配置了此协议卸载,驱动程序就应该允许网络适配器在处于低功耗状态时响应 IPv4 ARP 数据包。
NDIS_PM_PROTOCOL_OFFLOAD_NS_ENABLED
如果设置了此位,则超载驱动程序将请求网络适配器启用 IPv6 邻居请求 (NS) 协议卸载功能。 一旦OID_PM_ADD_PROTOCOL_OFFLOAD的一组请求配置了此协议 卸载,驱动程序就应该允许网络适配器在处于低功耗状态时响应 NS 数据包。
NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_ENABLED
如果设置了此位,则过载驱动程序将请求网络适配器启用 IEEE 802.11i 可靠安全网络 (RSN) 协议卸载功能。 一旦OID_PM_ADD_PROTOCOL_OFFLOAD的一组请求配置了此协议 卸载,驱动程序就应该允许网络适配器在处于低功耗状态时响应 RSN 重新密钥请求数据包。
WakeUpFlags
包含NDIS_PM_WAKE_ON_ Xxx 标志的按位 OR 的 ULONG 值。 NDIS 使用这些标志在网络适配器上启用唤醒功能。 此成员使用以下标志:
NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED
如果设置了此标志,则网络适配器将启用,以便在链接状态从已断开连接的媒体更改为已连接的媒体时生成唤醒事件。
有关此 WOL 功能的详细信息,请参阅 媒体断开连接时低功耗。
NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_ENABLED
如果设置了此标志,则会启用网络适配器,以便在链接状态从连接到断开连接的媒体的媒体更改时生成唤醒事件。
NDIS_PM_SELECTIVE_SUSPEND_ENABLED
如果设置了此标志,则每当发生以下事件之一时,网络适配器将启用以生成唤醒事件:
- 网络适配器接收与接收数据包筛选器匹配的数据包。 适配器通过 OID_GEN_CURRENT_PACKET_FILTER的 OID 集请求使用这些筛选器进行配置。
- 网络适配器检测需要网络驱动程序堆栈处理的其他外部事件,例如当链接状态更改为媒体断开连接或媒体连接时。
注意
NDIS_PM_SELECTIVE_SUSPEND_ENABLED标志在 NDIS 6.30 及更高版本中可用。
如果设置了此标志,则无法在 WakeUpFlags 成员中设置其他电源管理标志, 并且 EnabledWoLPacketPatterns 成员必须设置为零。
如果 NDIS 设置 NDIS_PM_SELECTIVE_SUSPEND_ENABLED 标志,则会直接向微型端口驱动程序发出 OID_PM_PARAMETERS 的 OID 集请求。 这允许 NDIS 通过筛选网络驱动程序堆栈中的驱动程序来绕过处理。
有关选择性挂起电源管理功能的详细信息,请参阅 NDIS 选择性挂起。
MediaSpecificWakeUpEvents
包含标志的按位 OR 的 ULONG 值。 这些标志指定网络适配器支持的特定于媒体的唤醒事件。
从 NDIS 6.30 开始,定义了以下标志:
NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_ENABLED
如果设置了此标志,则会启用 802.11 网络适配器,以便在检测到通过网络卸载 ( (NLO) 指定的 SSID) 服务集标识符时生成唤醒事件。
有关 NLO 的详细信息,请参阅 Wi-Fi 网络列表卸载。
NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_ENABLED
如果设置了此标志,则启用 802.11 网络适配器,以便在与接入点 (AP) 取消关联时生成唤醒事件。
NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_ENABLED
如果设置了此标志,则启用 802.11 网络适配器,以便在 IEEE 802.11i RSN 组暂时性密钥 (GTK) 与 AP 握手期间遇到错误时生成唤醒事件。
NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_ENABLED
如果设置了此标志,则会启用 802.11 网络适配器,以便在收到 IEEE 802.11i RSN 与 AP 进行 4 路握手的第一帧时生成唤醒事件。 当适配器向 AP 进行身份验证时,会执行此握手。
NDIS_WWAN_WAKE_ON_REGISTER_STATE_ENABLED
如果设置了此标志,则启用移动宽带 (MB) 网络适配器,以便在其注册到 MB 服务的状态发生更改时生成唤醒事件。
NDIS_WWAN_WAKE_ON_SMS_RECEIVE_ENABLED
如果设置了此标志,则当 MB 服务收到短信服务 (短信) 消息时,将启用 MB 网络适配器以生成唤醒事件。 适配器在完成以前发出的 OID_WWAN_SMS_READ 查询请求后生成此唤醒事件,或者新 class-0 (flash/alert) 来自网络提供程序的消息作为事件通知。
NDIS_WWAN_WAKE_ON_USSD_RECEIVE_ENABLED
如果设置了此标志,则 MB 网络适配器在收到非结构化补充服务数据 (USSD) 消息时生成唤醒事件。
NDIS_WWAN_WAKE_ON_PACKET_STATE_ENABLED
如果设置了此标志,则 MB 网络适配器将启用,以便在手机网络数据包数据的可用性发生更改时生成唤醒事件。 此标志是 Windows 10 中的新增标志。
NDIS_WWAN_WAKE_ON_UICC_CHANGE_ENABLED
如果设置了此标志,则启用 MB 网络适配器,以便在插入、删除 UICC (SIM 卡) 卡 或进入错误状态时生成唤醒事件。 此标志是 Windows 10 中的新增标志。
注解
NDIS_PM_PARAMETERS结构指定为 OID_PM_PARAMETERS OID 启用的电源管理硬件功能。 查询OID_PM_PARAMETERS OID 时,此结构提供当前的电源管理配置。 设置OID_PM_PARAMETERS OID 时,此结构指定网络适配器应使用的新电源管理配置。
过度覆盖的驱动程序不应尝试启用网络适配器不支持的功能。 为了使过分驱动程序能够确定网络适配器提供的功能,NDIS 在 NDIS_BIND_PARAMETERS 结构的 PowerManagementCapabilitiesEx 成员中提供这些功能。
注意
NDIS 6.20 及更高版本的驱动程序必须使用 NDIS_BIND_PARAMETERS 结构的 PowerManagementCapabilitiesEx 成员,而不是 PowerManagementCapabilities 成员。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.20 及更高版本中受支持。 |
标头 | ntddndis.h (包括 Ntddndis.h) |