共用方式為


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

要求

要求 價值
目標平臺 普遍
標頭 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