共用方式為


FsRtlGetNextFileLock 函式 (ntifs.h)

FsRtlGetNextFileLock 例程可用來列舉目前存在於指定檔案的位元組範圍鎖定。

語法

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

參數

[in] FileLock

檔案FILE_LOCK結構的指標。 這個結構必須由 先前呼叫 FsRtlAllocateFileLockFsRtlInitializeFileLock 初始化。

[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 ,結果將會無法預測,而且列舉不會可靠地完成。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 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