Freigeben über


IoIsOperationSynchronous-Funktion (ntifs.h)

Die IoIsOperationSynchronous-Routine bestimmt, ob ein bestimmter IRP eine synchrone oder asynchrone E/A-Anforderung darstellt.

Syntax

BOOLEAN IoIsOperationSynchronous(
  [in] PIRP Irp
);

Parameter

[in] Irp

Zeiger auf den IRP für den Vorgang.

Rückgabewert

IoIsOperationSynchronous gibt TRUE zurück, wenn der Vorgang synchron ist, andernfalls FALSE.

Hinweise

IoIsOperationSynchronous bestimmt gemäß den folgenden Bedingungen, ob ein bestimmter IRP einen synchronen oder asynchronen E/A-Vorgang anfordert:

  • Wenn der IRP asynchrone E/A-Paging-E/A anfordert, ist der Vorgang asynchron, auch wenn eine der anderen Bedingungen zutrifft.

  • Wenn der IRP synchrone E/A-Paging-E/A anfordert, ist der Vorgang synchron.

  • Wenn das Dateiobjekt für synchrone E/A geöffnet wurde, ist der Vorgang synchron.

  • Wenn das IRP_SYNCHRONOUS_API-Flag in der IRP festgelegt ist, ist der Vorgang synchron. Dieses Flag wird für Vorgänge wie ZwQueryInformationFile und ZwSetInformationFile festgelegt, die immer synchron sind, auch wenn sie für ein Dateiobjekt ausgeführt werden, das für asynchrone E/A-Vorgänge geöffnet wurde.

  • Wenn keine der oben genannten Bedingungen zutrifft, ist der Vorgang asynchron.

IoIsOperationSynchronous gibt auch TRUE zurück, wenn der IRP eine IOCTL- oder FSCTL-Anforderung mit einem E/A- oder Dateisystemsteuerungscode enthält, der mit METHOD_BUFFERED definiert wurde, auch wenn das Dateiobjekt für asynchrone E/A geöffnet wurde. Eine solche Anforderung wird wahrscheinlich synchron vom Dateisystem gestellt, aber dies gilt nicht unbedingt in allen Fällen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

IRP

IoBuildSynchronousFsdRequest

IoCreateFile

IoCreateFileEx

IoCreateFileSpecifyDeviceObjectHint

ZwCreateFile

ZwQueryInformationFile

ZwSetInformationFile