IoIsOperationSynchronous 関数 (ntifs.h)
IoIsOperationSynchronous ルーチンは、特定の IRP が同期または非同期の I/O 要求を表すかどうかを決定します。
構文
BOOLEAN IoIsOperationSynchronous(
[in] PIRP Irp
);
パラメーター
[in] Irp
操作の IRP へのポインター。
戻り値
IoIsOperationSynchronous は、操作が同期の場合は TRUE を返し、それ以外の場合は FALSE を返します。
備考
IoIsOperationSynchronous は、次の条件に従って、特定の IRP が同期または非同期の I/O 操作を要求するかどうかを決定します。
IRP が非同期ページング I/O を要求する場合、他の条件のいずれかが true の場合でも、操作は非同期です。
IRP が同期ページング I/O を要求した場合、操作は同期です。
同期 I/O 用にファイル オブジェクトが開かれた場合、操作は同期です。
IRP でIRP_SYNCHRONOUS_API フラグが設定されている場合、操作は同期です。 このフラグは、ZwQueryInformationFile や ZwSetInformationFileなどの操作に対して設定されます。非同期 I/O 用に開かれたファイル オブジェクトに対して実行された場合でも、常に同期的です。
上記の条件に該当しない場合、操作は非同期です。
IoIsOperationSynchronous は、ファイル オブジェクトが非同期 I/O 用に開かれた場合でも、METHOD_BUFFERED で定義された I/O またはファイル システム制御コードを含む IOCTL または FSCTL 要求が IRP に含まれている場合にも TRUE を返します。 このような要求はファイル システムによって同期的に行われる可能性がありますが、これは必ずしもすべての場合に当てはまるとは限りません。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任意のレベル |
関連項目
IoBuildSynchronousFsdRequestの
IoCreateFileの
IoCreateFileExの
IoCreateFileSpecifyDeviceObjectHintの