Compartir a través de


Función FltAllocateFileLock (fltkernel.h)

La rutina de FltAllocateFileLock asigna e inicializa una nueva estructura de FILE_LOCK.

Sintaxis

PFILE_LOCK FLTAPI FltAllocateFileLock(
  [in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
  [in, optional] PUNLOCK_ROUTINE                          UnlockRoutine
);

Parámetros

[in, optional] CompleteLockCallbackDataRoutine

Puntero a una rutina de devolución de llamada con tipo PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINEque se llamará cuando se complete una solicitud de IRP_MJ_LOCK_CONTROL. Este parámetro es opcional y puede ser NULL.

[in, optional] UnlockRoutine

Puntero a una rutina de devolución de llamada con tipo PUNLOCK_ROUTINEque se llamará cuando se desbloquea el intervalo de bytes. Este parámetro es opcional y puede ser NULL.

Valor devuelto

fltAllocateFileLock devuelve un puntero a la estructura de FILE_LOCK recién asignada.

Observaciones

FltAllocateFileLock asigna una nueva estructura de FILE_LOCK del grupo paginado e la inicializa.

La estructura de FILE_LOCK devuelta se puede usar para bloquear un intervalo de bytes en un archivo llamando a FltProcessFileLock.

Cuando la estructura de FILE_LOCK ya no es necesaria, se puede no inicializar llamando a FltUninitializeFileLock. A continuación, se puede inicializar la estructura de FILE_LOCK sin inicializar para su reutilización llamando a FltInitializeFileLock.

Para liberar una estructura de FILE_LOCK inicializada, llame a FltFreeFileLock.

Cuando el parámetro CallbackData pasado a FltProcessFileLock representa una operación de E/S rápida, no se invoca la devolución de llamada especificada en CompleteLockCallbackDataRoutine. Solo cuando la operación de E/S en CallbackData es un IRP y CompleteLockCallbackDataRoutine no es NULL, se llamará a la rutina de devolución de llamada.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP SP2
servidor mínimo admitido Windows Server 2003 SP1
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
irQL <= APC_LEVEL

Consulte también

FILE_LOCK

fltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE