NFC 电源状态

NFC 类扩展驱动程序充当设备的电源策略所有者,因此它在设备初始化例程期间调用 WdfDeviceInitSetPowerPolicyOwnership (TRUE)

NFC CX 驱动程序支持设备电源状态 D0 和 D3。 以下状态图显示了两种电源状态之间的转换。 处于空闲状态的设备处于 D3 电源状态,其中 NFCC 没有电源。 当单选模式处于活动状态并且 NFP (NFP DDI) 的活动发布或订阅的任何模块(如 NFP)时,SE (模拟模式下从 NFCSE DDI) 或 SmartCard 处于活动状态的安全元素,状态将转换为 D0。 在此转换期间,设备的轮询状态将更新,以满足所有活动模块的要求。

电源状态。

此外,UMDF 的内置空闲检测逻辑用于为设备供电。 在初始化期间,WdfDevice 将为其分配 S0 空闲设置,如下所示:

WdfDeviceAssignS0IdleSettings(
    IdleCannotWakeFromS0,
    PowerDeviceD3,
    IdleTimeout,
    IdleAllowUserControl,
    WdfUseDefault
);

IdleTimeout 默认为 1 秒。 此设置可通过 NFC_CX_CLIENT_CONFIG 中的 PowerIdleTimeout 参数进行配置。 以下状态图演示了使用 WDF 空闲检测方法所隐含的各种电源转换。

客户端驱动程序可以通过 NFC_CX_CLIENT_CONFIG 结构的 IsPowerPolicyOwner 成员选择成为堆栈的电源策略所有者。 这对于 USB 等传输(其中必须配置其他设备电源状态)可能很有用。

电源管理操作。