FSCTL_OPBATCH_ACK_CLOSE_PENDING código de control

El FSCTL_OPBATCH_ACK_CLOSE_PENDING control responde a la notificación de que se ha roto un bloqueo oportunista exclusivo (nivel 1, lote o filtro) en un archivo. Una aplicación cliente envía este código de control para indicar que confirma la interrupción del bloqueo operativo y está a punto de cerrar el identificador de archivo.

Para una interrupción de bloqueo de operación 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 se bloqueará a la espera de que se cierre el identificador de archivo.

Este código de control no está pensado para usarse con bloqueos de operación de nivel 1. No obstante, para una interrupción de bloqueo de operación de nivel 1, el sistema trata este código de control como una confirmación completa de la interrupción y no es necesario que el autor de la llamada cierre el identificador de archivo.

Este código de control rara vez se usa. Cuando una aplicación cliente recibe una notificación de una interrupción de bloqueo de operación para un archivo y cierra su identificador para el archivo, el sistema trata el identificador de archivo close como una confirmación completa de la interrupción del bloqueo operativo. 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 FSCTL_OPBATCH_ACK_CLOSE_PENDING de control, consulte la documentación Microsoft Windows SDK datos.

Parámetros

Oplock
Puntero de objeto oplock oplock oplock para el archivo.

CallbackData
FltOplockFsctrl only. Estructura de datos de devolución FLT_CALLBACK_DATA de llamada para una IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode de la operación debe FSCTL_OPBATCH_ACK_CLOSE_PENDING.

Irp
FsRtlOplockFsctrl only. IRP para una IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode de la operación debe 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:

Término Descripción

STATUS_SUCCESS

El bloqueo de operación mantenido por este identificador estaba en proceso de ser roto.

STATUS_INVALID_OPLOCK_PROTOCOL

Este identificador no ha mantenido ningún bloqueo de operación o la interrupción del bloqueo no está en curso actualmente. Se trata de un código de error.

Requisitos

Encabezado

Ntifs.h (incluya Ntifs.h o Fltkernel.h)

Vea también

FLT_CALLBACK_DATA

FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

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