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

另请参阅

使用虚拟 HID 框架 (VHF) 编写 HID 源驱动程序