VhfDelete 函数 (vhf.h)
HID 源设备驱动程序调用此方法以删除 VHF 设备。
语法
void VhfDelete(
[in] VHFHANDLE VhfHandle,
[in] BOOLEAN Wait
);
参数
[in] VhfHandle
HID 源驱动程序在上一次调用中收到的虚拟 HID 设备的句柄,VhfCreate。
[in] Wait
在删除设备后同步返回 TRUE。 在这种情况下,虚拟 HID 框架(VHF)不会返回,直到设备报告为 PnP 管理器缺失,EvtVhfCleanup 回调函数返回。
FALSE 是保留的,不应传递。 有关详细信息,请参阅“备注”。
返回值
没有
言论
在调用 VhfDelete 之前,HID 源驱动程序必须停止为虚拟 HID Framework (VHF) 发起新请求。
若要同步调用 VhfDelete,请在PASSIVE_LEVEL调用,Wait 参数设置为 TRUE。 在这种情况下,在完成删除后,它会同步返回。 如果 HID 源驱动程序使用 VHF 注册了 EvtVhfCleanup 回调函数,则会在 VhfDelete 返回之前调用该回调。 可以在同一线程上调用该函数。
VhfDelete 不能以异步方式(Wait 参数设置为 FALSE)或高于 PASSIVE_LEVEL 的任何 IRQL 调用。 这样做可能会导致未定义的行为。
KMDF 驱动程序何时应调用此函数没有任何限制。 建议从与 VhfCreate 调用匹配的函数中调用它。 例如,如果从 EvtDriverDeviceAdd调用 VhfCreate,则从 EvtDeviceCleanupCallback同步调用 VhfDelete。 VhfDelete 可以在 VHFHANDLE 上调用,而无需之前调用 VhfStart。
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | vhf.h |
库 | VhfKm.lib |
IRQL | 等待为 TRUE,PASSIVE_LEVEL |
另请参阅
使用虚拟 HID 框架(VHF) 编写 HID 源驱动程序