Поделиться через


Функция FsRtlGetNextFileLock (ntifs.h)

Подпрограмма FsRtlGetNextFileLock используется для перечисления блокировок диапазона байтов, которые в настоящее время существуют для указанного файла.

Синтаксис

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

Параметры

[in] FileLock

Указатель на структуру FILE_LOCK файла. Эта структура должна быть инициализирована предыдущим вызовом FsRtlAllocateFileLock или FsRtlInitializeFileLock.

[in] Restart

Задайте значение TRUE, если перечисление начинается в начале списка блокировок диапазона байтов. Установите значение FALSE при возобновлении перечисления из предыдущего вызова.

Чтобы перечислить все блокировки диапазона байтов для данного файла, используйте FsRtlGetNextFileLock следующим образом:

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

Возвращаемое значение

FsRtlGetNextFileLock возвращает указатель на структуру FILE_LOCK_INFO для следующей блокировки диапазона байтов, если она существует. Если для этого файла нет блокировки диапазона байтов, FsRtlGetNextFileLock возвращает NULL.

Замечания

Блокировки диапазона байтов не перечисляются в определенном порядке.

Обратите внимание, что поскольку текущее состояние перечисления хранится в структуре FILE_LOCK, вызывающие лица должны быть осторожны для синхронизации вызовов с FsRtlGetNextFileLock, и чтобы избежать изменения любой из возвращаемых структур. Если несколько потоков пытаются использовать FsRtlGetNextFileLock одновременно, результаты будут непредсказуемыми, а перечисление не будет надежно завершено.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock