IRequestCallbackCancel::OnCancel メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。
OnCancel メソッドは、アプリケーションが Microsoft Win32 CancelIo、CancelIoEx、または CancelSynchronousIo 関数を介して I/O 操作を取り消したときに呼び出されます。
構文
void OnCancel(
[in] IWDFIoRequest *pWdfRequest
);
パラメーター
[in] pWdfRequest
取り消すフレームワーク要求オブジェクトを表す IWDFIoRequest インターフェイスへのポインター。
戻り値
なし
解説
フレームワークは OnCancel メソッドを呼び出して、 pWdfRequest パラメーターが識別する I/O 要求を取り消します。 ドライバーはまず、I/O 要求を取り消すことができるかどうかを判断する必要があります。 要求を取り消すことができる場合、ドライバーはそれを取り消す必要があります。 要求を取り消す方法の詳細については、「 I/O 要求の取り消し」を参照してください。
ドライバーが要求をキャンセルした場合、ドライバーは、CompletionStatus パラメーターを HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED) に設定して IWDFIoRequest::Complete メソッドを呼び出して要求を完了する必要もあります。
フレームワークは、要求の取り消しを有効にし、IRequestCallbackCancel インターフェイスを登録するために、ドライバーが以前に IWDFIoRequest::MarkCancelable メソッドを呼び出していない限り、要求を取り消すために OnCancel を呼び出しません。
User-Mode Driver Framework (UMDF) では、キューごとに 1 つの OnCancel メソッドのみを使用できます。 そのため、ドライバーが特定のキューに関連付けられている要求に対して IWDFIoRequest::MarkCancelable を呼び出してフレームワークがこれらの要求を取り消せるようにする場合、ドライバーは同じ要求コールバック オブジェクトの IRequestCallbackCancel インターフェイスへのポインターを渡す必要があります。 その後、各要求を取り消すために、フレームワークは、この要求コールバック オブジェクトの OnCancel メソッドの呼び出しで、要求の IWDFIoRequest インターフェイスへのポインターを渡します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | wudfddi.h (Wudfddi.h を含む) |