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) |