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同步调用 VhfDeleteVhfDelete 可以在 VHFHANDLE 上调用,而无需之前调用 VhfStart

要求

要求 价值
目标平台 窗户
标头 vhf.h
VhfKm.lib
IRQL 等待为 TRUE,PASSIVE_LEVEL

另请参阅

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