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