FSCTL_OPBATCH_ACK_CLOSE_PENDING código de control
El código de control FSCTL_OPBATCH_ACK_CLOSE_PENDING responde a la notificación de que se ha interrumpido un bloqueo oportunista (oplock) exclusivo (nivel 1, lote o filtro) en un archivo. Una aplicación cliente envía este código de control para indicar que reconoce la interrupción de interbloqueo y está a punto de cerrar el identificador de archivo.
En el caso de una interrupción de interbloqueo por lotes o filtro, el autor de la llamada debe cerrar su identificador de archivo después de enviar este código de control. De lo contrario, el sistema bloqueará la espera de que se cierre el identificador de archivo.
Este código de control no está diseñado para usarse con interbloqueos de nivel 1. Sin embargo, para una interrupción de interbloqueo de nivel 1, el sistema trata este código de control como una confirmación completa de la interrupción y el autor de la llamada no es necesario para cerrar el identificador de archivo.
Este código de control rara vez se usa. Cuando se notifica a una aplicación cliente una interrupción de interbloqueo para un archivo y cierra su identificador para el archivo, el sistema trata el identificador de archivo cerca como una confirmación completa de la interrupción de interbloqueo de operación. Por lo tanto, nunca es necesario enviar este código de control.
Para procesar este código de control, un minifiltro llama a FltOplockFsctrl con los parámetros siguientes. Un sistema de archivos o un controlador de filtro heredado llama a FsRtlOplockFsctrl.
Para obtener más información sobre el bloqueo oportunista y sobre el código de control de FSCTL_OPBATCH_ACK_CLOSE_PENDING, consulte la documentación de Microsoft Windows SDK.
Parámetros
Oplock: puntero de objeto oplock opaco para el archivo.
CallbackData: FltOplockFsctrl solo. Estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) para una solicitud IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode para la operación debe ser FSCTL_OPBATCH_ACK_CLOSE_PENDING.
Irp: solo FsRtlOplockFsctrl . IRP para una solicitud IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode para la operación debe ser FSCTL_OPBATCH_ACK_CLOSE_PENDING.
OpenCount: no se usa con esta operación; se establece en cero.
Bloque de estado
FltOplockFsctrl siempre devuelve FLT_PREOP_COMPLETE para esta operación.
FsRtlOplockFsctrl devuelve uno de los siguientes valores NTSTATUS para esta operación:
Código | Significado |
---|---|
STATUS_SUCCESS | El interbloqueo mantenido por este identificador estaba en proceso de romperse. |
STATUS_INVALID_OPLOCK_PROTOCOL | Este identificador no ha mantenido ningún interbloqueo o la interrupción del interbloqueo no está actualmente en curso. Se trata de un código de error. |
Requisitos
Tipo de requisito | Requisito |
---|---|
Encabezado | Ntifs.h (incluya Ntifs.h o Fltkernel.h) |
Consulte también
FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL