FSCTL_REQUEST_OPLOCK_LEVEL_2 código de control
El código de control FSCTL_REQUEST_OPLOCK_LEVEL_2 solicita un bloqueo oportunista de nivel 2 (oplock) en un archivo.
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_REQUEST_OPLOCK_LEVEL_2, 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_REQUEST_OPLOCK_LEVEL_2.
Irp: solo FsRtlOplockFsctrl . IRP para una solicitud IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. El parámetro FsControlCode para la operación debe ser FSCTL_REQUEST_OPLOCK_LEVEL_2.
OpenCount: especifica el estado de bloqueo del archivo. Establezca este parámetro en un valor ULONG distinto de cero si hay bloqueos de intervalo de bytes en el archivo o cero de lo contrario.
Bloque de estado
FltOplockFsctrl devuelve FLT_PREOP_PENDING para esta operación si se concedió el oplock. De lo contrario, devuelve FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl devuelve uno de los siguientes valores NTSTATUS para esta operación:
Código | Significado |
---|---|
STATUS_PENDING | Se concedió el oplock. Se trata de un código correcto. |
STATUS_CANCELLED | El IRP se canceló antes de que se completara la operación de FSCTL_REQUEST_OPLOCK_LEVEL_2. Se trata de un código de error. |
STATUS_OPLOCK_NOT_GRANTED | No se pudo conceder el interbloqueo. 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
FSCTL_OPBATCH_ACK_CLOSE_PENDING