FSCTL_OPLOCK_BREAK_ACKNOWLEDGE código de control
El código de control FSCTL_OPLOCK_BREAK_ACKNOWLEDGE 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 del interbloqueo de operación y que, si el interbloqueo es un interbloqueo de nivel 1 que se interrumpió en el nivel 2, quiere el interbloqueo de nivel 2.
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_OPLOCK_BREAK_ACKNOWLEDGE, consulte la documentación de Microsoft Windows SDK.
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_OPLOCK_BREAK_ACKNOWLEDGE.
Irp: solo FsRtlOplockFsctrl . IRP para una solicitud IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode para la operación debe ser FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.
OpenCount: no se usa con esta operación; se establece en cero.
FltOplockFsctrl devuelve FLT_PREOP_PENDING para esta operación cuando se interrumpe un interbloqueo de nivel 1 en el nivel 2 y se ha concedido el interbloqueo de nivel 2. De lo contrario, devuelve FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl devuelve uno de los siguientes valores NTSTATUS para esta operación:
Código | Significado |
---|---|
STATUS_SUCCESS | Se reconoce la interrupción de interbloqueo. No se mantienen los interbloqueos restantes. |
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. |
STATUS_PENDING | Se reconoce la interrupción de interbloqueo. A cambio, el remitente del código de control de FSCTL_OPLOCK_BREAK_ACKNOWLEDGE contiene un interbloqueo de nivel 2. Se trata de un código de éxito. |
Tipo de requisito | Requisito |
---|---|
Encabezado | Ntifs.h (incluya Ntifs.h o Fltkernel.h) |
FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL