次の方法で共有


IWDFIoRequest2::IsCanceled メソッド (wudfddi.h)

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

IsCanceled メソッドは、I/O マネージャーが I/O 要求を取り消そうとしたかどうかを判断します。

構文

BOOL IsCanceled();

戻り値

I/O マネージャーが I/O 要求を取り消そうとした場合、IsCanceledTRUE を返します。 このメソッドは、次のいずれかの理由で FALSE を 返します。

  • I/O マネージャーが要求を取り消そうとしていません。
  • 呼び出し元のドライバーが要求を所有していません。
  • 呼び出し元のドライバーは、 IWDFIoRequest::MarkCancelable メソッドを 呼び出しました。

注釈

ドライバーが IWDFIoRequest::MarkCancelable を呼び出して IRequestCallbackCancel::OnCancel コールバック関数を登録していない場合、I/O マネージャーが I/O 要求を取り消そうとしたかどうかをドライバーが判断する場合、ドライバーは IsCanceled を呼び出すことができます。

ドライバーは、ドライバーが I/O 要求を所有している場合にのみ、要求に対して IsCanceled を呼び出すことができます。 ドライバーが IWDFIoRequest::MarkCancelable を呼び出した場合、IsCanceled を呼び出す前に IWDFIoRequest::UnmarkCancelable を呼び出す必要があります。

IsCanceledTRUE を返す場合、ドライバーは IWDFIoRequest::Complete を呼び出して要求を取り消し、CompletionStatus パラメーターを HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED) に設定します。

IsCanceled の詳細については、「I/O 要求の取り消し」を参照してください。

次のコード例では、 IsCanceledTRUE を返した場合、ドライバーは IWDFIoRequest::Complete を呼び出して I/O 要求を完了し、完了状態は HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED) です。

if (fxRequest2->IsCanceled())
{
    fxRequest2->Complete(HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED));
}
...

要件

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

こちらもご覧ください

IRequestCallbackCancel::OnCancel

IWDFIoRequest2

IWDFIoRequest::MarkCancelable

IWDFIoRequest::UnmarkCancelable