Compartir a través de


Función IoIsOperationSynchronous (ntifs.h)

La rutina IoIsOperationSynchronous determina si un IRP determinado representa una solicitud de E/S sincrónica o asincrónica.

Sintaxis

BOOLEAN IoIsOperationSynchronous(
  [in] PIRP Irp
);

Parámetros

[in] Irp

Puntero al IRP para la operación.

Valor devuelto

ioIsOperationSynchronous devuelve TRUE si la operación es sincrónica; de lo contrario, FALSE.

Observaciones

ioIsOperationSynchronous determina si un IRP determinado solicita una operación de E/S sincrónica o asincrónica, según las condiciones siguientes:

  • Si el IRP solicita E/S de paginación asincrónica, la operación es asincrónica, incluso si se cumple una de las otras condiciones.

  • Si el IRP solicita E/S de paginación sincrónica, la operación es sincrónica.

  • Si el objeto de archivo se abrió para E/S sincrónica, la operación es sincrónica.

  • Si la marca IRP_SYNCHRONOUS_API está establecida en irP, la operación es sincrónica. Esta marca se establece para operaciones, como ZwQueryInformationFile y ZwSetInformationFile, que siempre son sincrónicas, incluso cuando se realizan en un objeto de archivo que se abrió para E/S asincrónica.

  • Si ninguna de las condiciones anteriores es cierta, la operación es asincrónica.

ioIsOperationSynchronous también devuelve TRUE si irP contiene una solicitud IOCTL o FSCTL con un código de control de sistema de archivos o E/S definido con METHOD_BUFFERED, incluso si el objeto de archivo se abrió para E/S asincrónica. Es probable que el sistema de archivos realice dicha solicitud sincrónica, pero esto no es necesariamente cierto en todos los casos.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Cualquier nivel

Consulte también

irP

IoBuildSynchronousFsdRequest

IoCreateFile

IoCreateFileEx

ioCreateFileSpecifyDeviceObjectHint

ZwCreateFile

ZwQueryInformationFile

ZwSetInformationFile