次の方法で共有


IWDFRemoteTarget::CloseForQueryRemove メソッド (wudfddi.h)

[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。

CloseForQueryRemove メソッドは、オペレーティング システムによってデバイスの削除が許可される可能性があるため、リモート I/O ターゲットを閉じます。

構文

HRESULT CloseForQueryRemove();

戻り値

CloseForQueryRemove メソッドは常にS_OKを返します。

注釈

ドライバーが IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove コールバック関数を提供する場合、デバイスを削除できることを示す TRUE を返す場合、コールバック関数は CloseForQueryRemove を呼び出す必要があります。

CloseForQueryRemove メソッドは、ドライバーが I/O ターゲットに送信したすべての I/O 要求を完了または取り消します。

ドライバーが CloseForQueryRemove を呼び出した後、ドライバーは IWDFRemoteTarget::Reopen を呼び出すまで I/O 要求を I/O ターゲットに送信できません。

CloseForQueryRemove メソッドの詳細については、「UMDF での一般的な I/O ターゲットの状態の制御」を参照してください。

次のコード例は、CloseForQueryRemove を呼び出す IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove コールバック関数を示しています。

BOOL
STDMETHODCALLTYPE
CMyRemoteTarget::OnRemoteTargetQueryRemove(
    __in IWDFRemoteTarget  *FxTarget
    )
{
    //
    // Here, do any driver-specific actions that your driver requires
    // to stop sending I/O requests to the I/O target.
    //
...
    //
    // Close the target.
    //
    FxTarget->CloseForQueryRemove();

    //
    // Return TRUE if you want to allow removal of the device.
    //
    return TRUE;
}

要件

要件
サポート終了 UMDF 2.0 以降では使用できません。
対象プラットフォーム デスクトップ
最小 UMDF バージョン 1.9
Header wudfddi.h (Wudfddi.h を含む)
[DLL] WUDFx.dll

こちらもご覧ください

IWDFRemoteTarget

IWDFRemoteTarget::Close