Compartilhar via


Função FsRtlInitializeFileLock (ntifs.h)

A rotina FsRtlInitializeFileLock inicializa uma estrutura FILE_LOCK.

Sintaxe

void FsRtlInitializeFileLock(
  [in]           PFILE_LOCK                 FileLock,
  [in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
  [in, optional] PUNLOCK_ROUTINE            UnlockRoutine
);

Parâmetros

[in] FileLock

Ponteiro para uma estrutura de FILE_LOCK não inicializada.

[in, optional] CompleteLockIrpRoutine

Ponteiro para uma rotina de retorno de chamada digitada PCOMPLETE_LOCK_IRP_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

Nenhum

Observações

FsRtlInitializeFileLock inicializa uma estrutura de FILE_LOCK não inicializada.

É um erro de programação chamar FsRtlInitializeFileLock para uma estrutura de FILE_LOCK que já foi inicializada pelo FsRtlInitializeFile LockFltAllocateFileLock ou , a menos que a estrutura não tenha sido inicializada por uma chamada subsequente para FsRtlUninitializeFileLock.

Depois de inicializada, a estrutura FILE_LOCK pode ser usada para bloquear um intervalo de bytes em um arquivo chamando FsRtlProcessFileLock ouFsRtlFastLock. FsRtlProcessFileLock processos bloqueiam IRPs. FsRtlFastLock executa bloqueio não IRP.

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

Os minifiltros devem chamar FltInitializeFileLock em vez de FsRtlInitializeFileLock.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport)

Consulte também

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE