Función FsRtlGetNextFileLock (ntifs.h)
La rutina de 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
Establézcalo en TRUE si la enumeración se inicia al principio de la lista de bloqueos de intervalo de bytes. Establézcalo en FALSE si reanuda la enumeración desde 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 de FILE_LOCK_INFO para el siguiente bloqueo de intervalo de bytes, si existe uno. Si no hay más bloqueos de intervalo de bytes para este archivo, FsRtlGetNextFileLock devuelve NULL.
Observaciones
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 FsRtlGetNextFileLocky para 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.