次の方法で共有


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 ターゲットの状態の制御」を参照してください。

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

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
ヘッダー wudfddi.h (Wudfddi.h を含む)
DLL WUDFx.dll

関連項目

IWDFRemoteTarget

IWDFRemoteTarget::Close