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 |