电源管理的必需和可选 OID

对于微型端口驱动程序,支持电源管理需要支持电源管理对象标识符 (OID)。 有关微型端口驱动程序如何处理对 OID 的查询和设置的详细说明,请参阅获取和设置微型端口驱动程序信息和 NDIS 对 WMI 的支持

微型端口驱动程序的电源管理支持分为两个级别:

  1. 微型端口驱动程序可支持网络适配器在不同电源状态之间转换。 此支持是最低级别的电源管理支持。 有关网络适配器的设备电源状态说明,请参阅网络适配器的设备电源状态

  2. 微型端口驱动程序还可以支持一个或多个网络唤醒事件

微型端口驱动程序会在初始化过程中报告电源管理功能。 有关初始化期间报告的电源管理功能的详细信息,请参阅 NDIS_MINIPORT_ADAPTER_ATTRIBUTES 和相关属性结构。

微型端口驱动程序必须直接支持以下 OID 或在属性中支持以下 OID,网络适配器才能在电源状态之间进行转换:

  • OID_PNP_CAPABILITIES

    中间驱动程序必须响应此 OID 查询。 NDIS 代表物理网络适配器响应 OID_PNP_CAPABILITIES 请求。 有关在中间驱动程序中响应此 OID 的详细信息,请参阅在中间驱动程序中处理 PnP 事件和电源管理事件

  • OID_PNP_QUERY_POWER

    此 OID 指定了网络适配器应准备转换到的设备电源状态。 微型端口驱动程序在响应 OID_PNP_QUERY_POWER 查询时必须始终返回 NDIS_STATUS_SUCCESS。 通过响应此 OID 请求返回 NDIS_STATUS_SUCCESS,微型端口驱动程序保证在收到后续 OID_PNP_SET_POWER 请求时将网络适配器转换为指定的设备电源状态。 在这种情况下,微型端口驱动程序不得采取任何影响转换的措施。

  • OID_PNP_SET_POWER

    此 OID 表示网络适配器必须转换到指定的设备电源状态。 微型端口驱动程序必须在返回 NDIS_STATUS_SUCCESS 之前将网络适配器设置为指定状态。 微型端口驱动程序必须始终返回 NDIS_STATUS_SUCCESS 以响应此 OID。 如果 OID_PNP_SET_POWER 将网络适配器设置为工作电源状态,而微型端口驱动程序未通过此 OID,则 NDIS 认为设备处于不可恢复状态。

要支持网络唤醒事件,微型端口驱动程序还必须支持 OID_PNP_ENABLE_WAKE_UP OID。 协议驱动程序和 NDIS 都使用该 OID 来启用网络适配器的唤醒功能。 有关详细信息,请参阅启用唤醒事件

要支持网络唤醒帧(请参阅网络唤醒事件),微型端口驱动程序还必须支持以下与唤醒事件相关的 OID:

  • OID_PNP_ADD_WAKE_UP_PATTERN

    协议驱动程序使用此 OID 将唤醒模式添加到网络适配器或微型端口驱动程序或两者共同维护的列表中。

  • OID_PNP_REMOVE_WAKE_UP_PATTERN

    协议驱动程序使用该 OID 删除之前使用 OID_PNP_ADD_WAKE_UP_PATTERN 指定的唤醒模式。

支持网络唤醒事件的 NDIS 微型端口驱动程序可选择支持以下与唤醒事件相关的统计 OID:

  • OID_PNP_WAKE_UP_ERROR

    协议驱动程序查询此 OID,以确定微型端口驱动程序网络适配器发出的错误唤醒信号的次数。

  • OID_PNP_WAKE_UP_OK

    协议驱动程序查询此 OID,以确定微型端口驱动程序网络适配器发出的有效唤醒信号的数量。