Função FltAllocateFileLock (fltkernel.h)

A rotina FltAllocateFileLock aloca e inicializa uma nova estrutura FILE_LOCK .

Sintaxe

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

Parâmetros

[in, optional] CompleteLockCallbackDataRoutine

Ponteiro para uma rotina de retorno de chamada com tipo PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE a ser chamada quando uma solicitação de IRP_MJ_LOCK_CONTROL for concluída. Esse parâmetro é opcional e pode ser NULL.

[in, optional] UnlockRoutine

Ponteiro para uma rotina de retorno de chamada do tipo PUNLOCK_ROUTINE a ser chamada quando o intervalo de bytes é desbloqueado. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

FltAllocateFileLock retorna um ponteiro para a estrutura de FILE_LOCK recém-alocada.

Comentários

FltAllocateFileLock aloca uma nova estrutura de FILE_LOCK do pool paginado e a inicializa.

A estrutura FILE_LOCK retornada pode ser usada para bloquear um intervalo de bytes em um arquivo chamando FltProcessFileLock.

Quando a estrutura FILE_LOCK não é mais necessária, ela pode não ser inicializada chamando FltUninitializeFileLock. A estrutura de FILE_LOCK não inicializada pode ser inicializada para reutilização chamando FltInitializeFileLock.

Para liberar uma estrutura de FILE_LOCK inicializada, chame FltFreeFileLock.

Quando o parâmetro CallbackData passado para FltProcessFileLock representa uma operação de E/S rápida, o retorno de chamada especificado em CompleteLockCallbackDataRoutine não é invocado. Somente quando a operação de E/S em CallbackData for um IRP e CompleteLockCallbackDataRoutine não for NULL, a rotina de retorno de chamada será chamada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP SP2
Servidor mínimo com suporte Windows Server 2003 SP1
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Confira também

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE