Compartilhar via


Função FsRtlGetNextFileLock (ntifs.h)

A rotina FsRtlGetNextFileLock é usada para enumerar os bloqueios de intervalo de bytes que existem atualmente para um arquivo especificado.

Sintaxe

PFILE_LOCK_INFO FsRtlGetNextFileLock(
  [in] PFILE_LOCK FileLock,
  [in] BOOLEAN    Restart
);

Parâmetros

[in] FileLock

Ponteiro para a estrutura de FILE_LOCK do arquivo. Essa estrutura deve ter sido inicializada por uma chamada anterior para FsRtlAllocateFileLock ou FsRtlInitializeFileLock.

[in] Restart

Defina como VERDADEIRO se a enumeração for iniciar no início da lista de bloqueios de intervalo de bytes. Defina como FALSE se retomar a enumeração de uma chamada anterior.

Para enumerar todos os bloqueios de intervalo de bytes para um determinado arquivo, use FsRtlGetNextFileLock da seguinte maneira:

for (p = FsRtlGetNextFileLock( FileLock, TRUE );
     p != NULL;
     p = FsRtlGetNextFileLock( FileLock, FALSE )) {
        // Process the lock information pointed to by p
}

Valor de retorno

FsRtlGetNextFileLock retorna um ponteiro para a estrutura FILE_LOCK_INFO para o próximo bloqueio de intervalo de bytes, se houver. Se não houver mais bloqueios de intervalo de bytes para esse arquivo, FsRtlGetNextFileLock retornará NULL.

Observações

Os bloqueios de intervalo de bytes não são enumerados em nenhuma ordem específica.

Observe que, como o estado de enumeração atual é armazenado na estrutura FILE_LOCK, os chamadores devem ter cuidado para sincronizar chamadas para FsRtlGetNextFileLock e evitar modificar qualquer uma das estruturas retornadas. Se vários threads tentarem usar FsRtlGetNextFileLock ao mesmo tempo, os resultados serão imprevisíveis e a enumeração não será concluída de forma confiável.

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

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock