FSCTL_OPLOCK_BREAK_NOTIFY código de control

El código de control FSCTL_OPLOCK_BREAK_NOTIFY permite que la aplicación que realiza la llamada espere a que se complete una interrupción de bloqueo oportunista (oplock).

Esta operación solo es útil para una interrupción de interbloqueo que ya se inició cuando se abrió el identificador del autor de la llamada. El identificador debe haberse abierto con FILE_COMPLETE_IF_OPLOCKED. Esta operación no tiene sentido si se mantiene actualmente un interbloqueo y no se ha iniciado la interrupción de oplock.

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 FSCTL_OPLOCK_BREAK_NOTIFY, consulte la documentación de Microsoft Windows SDK.

Parámetros

Oplock
Puntero de objeto oplock oplock 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_NOTIFY.

Irp
FsRtlOplockFsctrl solo. IRP para una solicitud IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode para la operación debe ser FSCTL_OPLOCK_BREAK_NOTIFY.

OpenCount
No se usa con esta operación; se establece en cero.

Bloque de estado

FltOplockFsctrl devuelve FLT_PREOP_PENDING si la interrupción de oplock está en curso y el IRP se completará cuando se complete la interrupción de oplock. (En este caso, el IRP puede completarse con STATUS_SUCCESS o STATUS_CANCELLED). De lo contrario, FltOplockFsctrl devuelve FLT_PREOP_COMPLETE.

FsRtlOplockFsctrl devuelve uno de los siguientes valores NTSTATUS para esta operación:

Término Descripción

STATUS_SUCCESS

No se ha mantenido ningún oplock con este identificador, o se mantiene un interbloqueo y no se ha iniciado la interrupción de oplock.

STATUS_INVALID_OPLOCK_PROTOCOL

El IRP se canceló antes de que se completara la operación de FSCTL_OPLOCK_BREAK_NOTIFY.

STATUS_PENDING

La interrupción de oplock está en marcha. El IRP se completará cuando se complete la interrupción del interbloqueo de operación. El IRP puede completarse con STATUS_SUCCESS o STATUS_CANCELLED. Se trata de un código correcto.

Requisitos

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_ACKNOWLEDGE

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL