Leer en inglés

Compartir a través de


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.

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_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.

Bloque de estado

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.

Requisitos

Tipo de requisito Requisito
Encabezado Ntifs.h (incluya Ntifs.h o Fltkernel.h)

Consulte también

FLT_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL