IoCsqInitialize 関数 (wdm.h)
IoCsqInitialize ルーチンは、ドライバーのキャンセル セーフ IRP キュー ディスパッチ テーブルを初期化します。
構文
NTSTATUS IoCsqInitialize(
[out] PIO_CSQ Csq,
[in] PIO_CSQ_INSERT_IRP CsqInsertIrp,
[in] PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
[in] PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
[in] PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
[in] PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
[in] PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
);
パラメーター
[out] Csq
IoCsqInitializeによって初期化される IO_CSQ 構造体へのポインター。
[in] CsqInsertIrp
ドライバーのキャンセル セーフ IRP キューの CsqInsertIrp 関数 ドライバー定義へのポインター。
[in] CsqRemoveIrp
ドライバーのキャンセル セーフ IRP キューの CsqRemoveIrp 関数 ドライバー定義へのポインター。
[in] CsqPeekNextIrp
ドライバーのキャンセル セーフ IRP キューの CsqPeekNextIrp 関数 ドライバー定義へのポインター。
[in] CsqAcquireLock
ドライバーのキャンセル セーフ IRP キューの CsqAcquireLock 関数 ドライバー定義へのポインター。
[in] CsqReleaseLock
ドライバーのキャンセル セーフ IRP キューの CsqReleaseLock 関数 ドライバー定義へのポインター。
[in] CsqCompleteCanceledIrp
ドライバーのキャンセル セーフ IRP キューの CsqCompleteCanceledIrp 関数 ドライバー定義へのポインター。
戻り値
このルーチンは、成功した場合はSTATUS_SUCCESSを返し、失敗した場合は適切な NTSTATUS エラー コードを返します。
備考
IoCsqInitialize ルーチンは、ドライバーのキャンセル セーフ IRP キューを記述する IO_CSQ 構造体を初期化します。 ドライバーは、IoCsqInitializeEx を使用して、拡張機能を備えた IRP キューを作成することもできます。 詳細については、「Cancel-Safe IRP キューの」を参照してください。
IoCsqXxxルーチン IRP の DriverContext[3] メンバーを使用して IRP コンテキスト情報を保持します。 これらのルーチンを使用して IRP をキューに入れるドライバーは、そのメンバーを未使用のままにする必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP 以降のバージョンの Windows オペレーティング システムで使用できます。 Windows 2000 および Windows 98/Me でも動作する必要があるドライバーは、代わりに Csq.lib にリンクしてルーチンを使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任意のレベル |
関連項目
IoCsqInitializeEx の
IoCsqInsertIrp の
IoCsqInsertIrpEx の