Функция 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 (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs(storport) |