NfcCxHardwareEvent 函数 (nfccx.h)
当发生硬件事件(如 D0Entry 和 D0Exit 回调)以启动或停止设备时,由客户端驱动程序调用。 对于在初始化或启动时需要固件下载的驱动程序,建议将此调用移动到单独的工作项。 但是,客户端驱动程序负责以下事项:
- 在对工作项进行排队之前,客户端驱动程序应获取空闲电源引用。 在工作项完成时,需要删除引用。 这可确保空闲电源管理不会导致驱动程序在工作项运行时进入 D3。
- 客户端驱动程序应将工作项与其他设备回调同步。 这通常是通过 WDF_WORKITEM_CONFIG 中的 AutomaticSerialization 选项实现的,并且 WDFWORKITEM 的父级是 WDFDEVICE,或者让工作项回调显式获取设备锁,即 WdfObjectAcquireLock WDFDEVICE。
- 如果硬件事件调用从工作项失败,客户端驱动程序应重启或解锁驱动程序,以防止其处于错误状态。 这可以使用“重启”或“卸载”选项来实现。
语法
NTSTATUS NfcCxHardwareEvent(
WDFDEVICE Device,
PNFC_CX_HARDWARE_EVENT HardwareEvent
);
参数
Device
框架设备对象的句柄。
HardwareEvent
指向 NFC_CX_HARDWARE_EVENT 结构的指针。
返回值
如果操作成功,该函数将返回STATUS_SUCCESS。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | 不支持 |
目标平台 | 窗户 |
标头 | nfccx.h (包括 Ncidef.h) |
库 | Nfccxstub.lib |
DLL | NfcCx.dll |