Función FsRtlGetNextFileLock (ntifs.h)

La rutina FsRtlGetNextFileLock se usa para enumerar los bloqueos de intervalo de bytes que existen actualmente para un archivo especificado.

Sintaxis

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

Parámetros

[in] FileLock

Puntero a la estructura FILE_LOCK del archivo. Esta estructura debe haberse inicializado mediante una llamada anterior a FsRtlAllocateFileLock o FsRtlInitializeFileLock.

[in] Restart

Se establece en TRUE si la enumeración se inicia al principio de la lista de bloqueos de intervalo de bytes. Establezca en FALSE si reanuda la enumeración de una llamada anterior.

Para enumerar todos los bloqueos de intervalo de bytes para un archivo determinado, use FsRtlGetNextFileLock como se indica a continuación:

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

Valor devuelto

FsRtlGetNextFileLock devuelve un puntero a la estructura FILE_LOCK_INFO para el siguiente bloqueo de intervalo de bytes, si existe alguno. Si no hay más bloqueos de intervalo de bytes para este archivo, FsRtlGetNextFileLock devuelve NULL.

Comentarios

Los bloqueos de intervalo de bytes no se enumeran en ningún orden determinado.

Tenga en cuenta que, dado que el estado de enumeración actual se almacena en la estructura de FILE_LOCK, los llamadores deben tener cuidado de sincronizar las llamadas a FsRtlGetNextFileLock y evitar modificar cualquiera de las estructuras que devuelve. Si varios subprocesos intentan usar FsRtlGetNextFileLock al mismo tiempo, los resultados serán impredecibles y la enumeración no se completará de forma confiable.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport)

Consulte también

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock