Función FltAllocateFileLock (fltkernel.h)
La rutina 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_ROUTINE que 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_ROUTINE que 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.
Comentarios
FltAllocateFileLock asigna una nueva estructura de FILE_LOCK del grupo paginado y 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 anular inicializar llamando a FltUninitializeFileLock. La estructura de FILE_LOCK sin inicializar se puede inicializar para su reutilización mediante una llamada 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 | Value |
---|---|
Cliente mínimo compatible | Windows XP SP2 |
Servidor mínimo compatible | Windows Server 2003 SP1 |
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |