次の方法で共有


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 CancelIoCancelIoEx、または 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 メソッドを呼び出して要求を完了する必要もあります。

このフレームワークでは 、以前に IWDFIoRequest::MarkCancelable メソッドを呼び出して要求の取り消しを有効にし、IRequestCallbackCancel インターフェイスを登録しない限り、要求を取り消すために OnCancel を呼び出しません。

User-Mode Driver Framework (UMDF) では、キューごとに 1 つの OnCancel メソッドのみを使用できます。 そのため、ドライバーが特定のキューに関連付けられている要求 IWDFIoRequest::MarkCancelable を呼び出して、フレームワークがこれらの要求を取り消せるようにする場合、ドライバーは、同じ要求コールバック オブジェクトの IRequestCallbackCancel インターフェイスへのポインターを渡す必要があります。 その後、各要求を取り消すために、フレームワークは、この要求コールバック オブジェクトの OnCancel メソッドの呼び出しで、要求の IWDFIoRequest インターフェイスへのポインターを渡します。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー wudfddi.h (Wudfddi.h を含む)

関連項目

IRequestCallbackCancel

IWDFIoRequest

IWDFIoRequest::Complete

IWDFIoRequest::MarkCancelable