报告 NDIS 选择性挂起功能

从 NDIS 6.30 开始,微型端口驱动程序必须报告驱动程序是否已启用对 NDIS 选择性挂起的支持。 通过 *SelectiveSuspend 标准化 INF 关键字 (keyword) 的设置启用或禁用对 NDIS 选择性挂起的支持。 有关此 INF 关键字 (keyword) 的详细信息,请参阅 NDIS 选择性挂起的标准化 INF 关键字

当 NDIS 调用驱动程序的 MiniportInitializeEx 函数时,微型端口驱动程序通过以下步骤报告其对 NDIS 选择性挂起支持的支持:

  1. 驱动程序使用基础硬件的电源管理功能初始化 NDIS_PM_CAPABILITIES 结构。

    如果驱动程序启用对 NDIS 选择性挂起的支持,则必须按如下所示设置 NDIS_PM_CAPABILITIES 结构的成员:

    • 微型端口驱动程序必须为结构的 Header 成员中的NDIS_PM_CAPABILITIES结构的修订和长度指定NDIS_PM_CAPABILITIES_REVISION_2和NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2
    • 如果 *SelectiveSuspend 关键字 (keyword) 的值为 1,则会启用对 NDIS 选择性挂起的微型端口驱动程序支持。 微型端口驱动程序通过在此结构的 Flags 成员中设置 NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED 标志来报告此情况。
  2. 初始化NDIS_PM_CAPABILITIES结构后,微型端口驱动程序会将 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 结构的 PowerManagementCapabilitiesEx 成员设置为指向已初始化的 NDIS_PM_CAPABILITIES 结构。 当微型端口驱动程序调用 NdisMSetMiniportAttributes 函数时,微型端口驱动程序将指针传递到 MiniportAttributes 参数中的NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES结构。

微型端口驱动程序用于报告 NDIS 选择性挂起的支持状态的方法基于用于报告电源管理功能的 NDIS 6.20 方法。 有关此方法的详细信息,请参阅 Reporting Power Management Capabilities

有关适配器初始化过程的详细信息,请参阅 初始化微型端口适配器