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; en caso contrario, FALSE.

Comentarios

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 se establece en irP, la operación es sincrónica. Esta marca se establece para las 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 verdadera, 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 este tipo de solicitud se realice sincrónicamente por el sistema de archivos, pero esto no es necesariamente cierto en todos los casos.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel

Consulte también

IRP

IoBuildSynchronousFsdRequest

IoCreateFile

IoCreateFileEx

IoCreateFileSpecifyDeviceObjectHint

ZwCreateFile

ZwQueryInformationFile

ZwSetInformationFile