Compartilhar via


Função FltAllocateFileLock (fltkernel.h)

A rotina FltAllocateFileLock aloca e inicializa uma nova estrutura de 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_ROUTINEa 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 com tipo PUNLOCK_ROUTINEa ser chamada quando o intervalo de bytes é desbloqueado. Esse parâmetro é opcional e pode ser NULL.

Valor de retorno

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

Observações

FltAllocateFileLock aloca uma nova estrutura de FILE_LOCK do pool de páginas e a inicializa.

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

Quando a estrutura de FILE_LOCK não é mais necessária, ela pode ser não 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 no CallbackData for um IRP e CompleteLockCallbackDataRoutine não for NULL, a rotina de retorno de chamada será chamada.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP SP2
servidor com suporte mínimo Windows Server 2003 SP1
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Consulte também

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE