IoStartNextPacketByKey 関数 (ntifs.h)
IoStartNextPacketByKey ルーチンは、指定した並べ替えキー値に従って、指定したデバイス オブジェクトの関連付けられているデバイス キューから次の I/O 要求パケットをデキューし、その IRP を使用してドライバーの StartIo ルーチンを呼び出します。
構文
void IoStartNextPacketByKey(
[in] PDEVICE_OBJECT DeviceObject,
[in] BOOLEAN Cancelable,
[in] ULONG Key
);
パラメーター
[in] DeviceObject
IRP がデキューされるデバイス オブジェクトへのポインター。
[in] Cancelable
デバイス キュー内の IRP を取り消すことができるかどうかを指定します。
[in] Key
キューから削除するエントリを決定する並べ替えキーを指定します。
戻り値
何一つ
備考
ターゲット デバイス オブジェクトのデバイス キューに現在 IRP がない場合、このルーチンは単に呼び出し元に制御を返します。
ドライバーが IoStartPacketを呼び出したときにキャンセル ルーチンへのポインター渡した場合は、このルーチンの Cancelable パラメーターに TRUE を渡す必要があります。 Cancelable が TRUE の場合、I/O マネージャーはキャンセル スピン ロックを使用して、デバイス キューと現在の IRP を保護します。
StartIo ルーチンを持たないドライバーは、IoStartNextPacketByKeyを呼び出すことはできません。
IoStartNextPacketByKey の呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 通常、このルーチンは、デバイス ドライバーの DpcForIsr または CustomDpcルーチンから呼び出され、どちらも IRQL = DISPATCH_LEVEL で実行されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
関連項目
IoStartPacketの