IoCancelIrp 関数 (wdm.h)

IoCancelIrp ルーチンは、特定の IRP のキャンセル ビットを設定し、ある場合は IRP のキャンセル ルーチンを呼び出します。

構文

BOOLEAN IoCancelIrp(
  [in] PIRP Irp
);

パラメーター

[in] Irp

取り消す IRP へのポインター。

戻り値

IOCancelIrp は、IRP にキャンセル ルーチンがあり、このルーチンが呼び出された場合 に TRUE を 返します。 それ以外の場合は、 FALSE を返します。 どちらの場合も、IRP のキャンセル ビットは TRUE に設定 されます。 詳細については、「解説」を参照してください。

注釈

IRP にキャンセル ルーチンがある場合、 IoCancelIrp はキャンセル ビットを設定し、キャンセル ルーチンを呼び出します。

Irp-CancelRoutine> が NULL であるため、IRP が取り消し可能でない場合、IoCancelIrp は IRP のキャンセル ビットを設定し、FALSE を返します。 IRP は、取り消し可能になったときに後で取り消す必要があります。

IRP を所有していないドライバーが IoCancelIrp を呼び出すと、結果は予測できません。 取り消しビットが設定されている場合でも、IRP は正常な状態で完了する可能性があります。

中間ドライバーは、そのドライバーが呼び出しで渡された IRP を作成しない限り、 任意に IoCancelIrp を呼び出さないでください。 それ以外の場合、中間ドライバーは、一部の上位レベルのドライバーが独自の目的で追跡している IRP を取り消す可能性があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)

こちらもご覧ください

IoSetCancelRoutine