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 结构。
微型端口驱动程序必须将 标头 的 类型 成员设置为NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_PM_PARAMETERS 结构的版本,驱动程序必须将 Revision 成员 标头 设置为以下值:
NDIS_PM_PARAMETERS_REVISION_2
为 NDIS 6.30 添加了各种更改。
将 大小 成员设置为NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2。
NDIS_PM_PARAMETERS_REVISION_1
NDIS 6.20 的原始版本。
将 大小 成员设置为NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1。
EnabledWoLPacketPatterns
ULONG 值,该值包含一个按位 或 的标志,这些标志对应于 SupportedWoLPacketPatterns 成员 NDIS_PM_CAPABILITIES 结构中报告的微型端口驱动程序的功能。 NDIS 使用这些标志来启用网络适配器用来从低功率状态唤醒本地计算机的 LAN 唤醒模式。 有关 WOL 模式的详细信息,请参阅 NDIS_PM_WOL_PATTERN。
使用以下标志:
NDIS_PM_WOL_BITMAP_PATTERN_ENABLED
如果设置了此标志,则当网络适配器收到与配置的位图模式匹配的数据包时,将启用网络适配器以生成唤醒事件。
NDIS_PM_WOL_MAGIC_PACKET_ENABLED
如果设置了此标志,则当网络适配器收到 WOL magic 数据包时,将启用网络适配器以生成唤醒事件。 magic 数据包 在其有效负载中包含一个字符串,其值为 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 成员中报告的微型端口驱动程序所报告的标志的按位 或。 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
一个 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 4 向握手时生成唤醒事件。 当适配器使用 AP 进行身份验证时,将执行此握手。
NDIS_WWAN_WAKE_ON_REGISTER_STATE_ENABLED
如果设置了此标志,则会启用移动宽带(MB)网络适配器,以便在其注册状态更改为 MB 服务时生成唤醒事件。
NDIS_WWAN_WAKE_ON_SMS_RECEIVE_ENABLED
如果设置了此标志,则会启用 MB 网络适配器,以便在 MB 服务收到短消息服务(SMS)消息时生成唤醒事件。 适配器在完成以前颁发的 OID_WWAN_SMS_READ 查询请求后或从网络提供程序收到新类 0(闪存/警报)消息作为事件通知后生成此唤醒事件。
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 网络适配器以生成唤醒事件。 此标志是 Windows 10 中的新增标志。
言论
NDIS_PM_PARAMETERS 结构指定为 OID_PM_PARAMETERS OID 启用的电源管理硬件功能。 查询 OID_PM_PARAMETERS OID 时,此结构提供当前的电源管理配置。 设置 OID_PM_PARAMETERS OID 时,此结构指定网络适配器应使用的新电源管理配置。
过度的驱动程序不应尝试启用网络适配器不支持的功能。 若要使过度驱动程序能够确定网络适配器提供的功能,NDIS 提供 PowerManagementCapabilitiesExNDIS_BIND_PARAMETERS 结构的成员中的功能。
注意
NDIS 6.20 及更高版本的驱动程序必须使用 NDIS_BIND_PARAMETERS 结构的 PowerManagementCapabilitiesEx 成员,而不是 PowerManagementCapabilities 成员。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.20 及更高版本中受支持。 |
标头 | ntddndis.h (包括 Ntddndis.h) |