次の方法で共有


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 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する hwStorPortProhibitedDDDIs(storport) する

関連項目

IoSetCancelRoutine