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_SYNCHRONOUS_API フラグが IRP で設定されている場合、操作は同期です。 このフラグは、非同期 I/O 用に開かれたファイル オブジェクトに対して実行された場合でも、常に同期的な ZwQueryInformationFileZwSetInformationFile などの操作に設定されます。

  • 上記の条件に該当しない場合、操作は非同期です。

IoIsOperationSynchronous は、ファイル オブジェクトが非同期 I/O 用に開かれた場合でも、METHOD_BUFFERED で定義された I/O またはファイル システム制御コードを含む IOCTL または FSCTL 要求が IRP に含まれている場合にも TRUE を返します。 このような要求はファイル システムによって同期される可能性がありますが、これは必ずしもすべての場合に当てはまるとは限りません。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル

こちらもご覧ください

Irp

IoBuildSynchronousFsdRequest

IoCreateFile

IoCreateFileEx

IoCreateFileSpecifyDeviceObjectHint

ZwCreateFile

ZwQueryInformationFile

ZwSetInformationFile