次の方法で共有


VhfDelete 関数 (vhf.h)

HID ソース デバイス ドライバーは、このメソッドを呼び出して、VHF デバイスを削除します。

構文

void VhfDelete(
  [in] VHFHANDLE VhfHandle,
  [in] BOOLEAN   Wait
);

パラメーター

[in] VhfHandle

VhfCreateへの前の呼び出しで HID ソース ドライバーが受信した仮想 HID デバイスへのハンドル。

[in] Wait

デバイスを削除した後に同期的に返す場合は TRUE。 この場合、デバイスが PnP マネージャーに不足していると報告され、EvtVhfCleanup コールバック関数が返 まで、Virtual HID Framework (VHF) は戻りません。

FALSE は予約されており、渡すべきではありません。 詳細については、「解説」を参照してください。

戻り値

何一つ

備考

HID ソース ドライバーは、VhfDelete を呼び出す直前に、仮想 HID Framework (VHF)新しい要求の開始を停止する必要があります。

VhfDelete を同期的に呼び出すには、Wait パラメーターを TRUE に設定してPASSIVE_LEVELで呼び出します。 この場合、削除が完了すると同期的に返されます。 HID ソース ドライバーが VHF EvtVhfCleanup コールバック関数を登録している場合は、VhfDelete が返 前にそのコールバックを呼び出します。 関数は、同じスレッドで呼び出される可能性があります。

VhfDelete は、非同期 (WAIT パラメーターを FALSE に設定) または PASSIVE_LEVEL より高い IRQL で呼び出すことはできません。 これを行うと、未定義の動作が発生する可能性があります。

KMDF ドライバーがこの関数を呼び出すタイミングに制限はありません。 VhfCreate 呼び出しに一致する関数から呼び出することをお勧めします。 たとえば、VhfCreate EvtDriverDeviceAdd から呼び出場合は、EvtDeviceCleanupCallbackから同期的に VhfDelete 呼び出します。 VhfDelete は、以前に VhfStart 呼び出すことなく、VHFHANDLE で呼び出される場合があります。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー vhf.h
ライブラリ VhfKm.lib
IRQL 待機は TRUE、PASSIVE_LEVEL

関連項目

Virtual HID Framework (VHF) を使用して HID ソース ドライバーを作成する