共用方式為


FsRtlFastLock 巨集 (ntifs.h)

FsRtlFastLock 巨集是由文件系統和篩選驅動程式用來要求檔案數據流的位元組範圍鎖定。

語法

BOOLEAN
FsRtlFastLock( A1,   /* FileLock            */
               A2,   /* FileObject          */
               A3,   /* FileOffset          */
               A4,   /* Length              */
               A5,   /* ProcessId           */
               A6,   /* Key                 */
               A7,   /* FailImmediately     */
               A8,   /* ExclusiveLock       */
               A9,   /* Iosb                */
               A10,  /* Context             */
               A11   /* AlreadySynchronized */ )

參數

A1

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

A2

[in] FileObject:開啟檔案之 FILE_OBJECT 的指標。 檔案對象必須使用GENERIC_READ或GENERIC_WRITE檔案的存取權來建立(或兩者)。

A3

[in] FileOffset:變數的指標,指定要鎖定之範圍檔案內的起始位移。

A4

[in] Length:變數的指標,指定要鎖定之範圍的長度位元組。

A5

[in] ProcessId:要求位元組範圍鎖定之進程的 EPROCESS 進程標識符指標。

A6

[in] Key:要指派給位元組範圍鎖定的金鑰。

A7

[in] FailImmediately:布爾值,指定如果無法立即授與鎖定,鎖定要求是否應該失敗。 如果呼叫端可以進入等候狀態,直到授與要求為止,請將failImmediately 設為 FALSE 。 如果無法,請將 failImmediately 設為 TRUE。

A8

[in] ExclusiveLock:如果要求獨佔鎖定,則設定為 TRUE;如果要求共用鎖定,則為 FALSE。

A9

[out] Iosb:接收鎖定要求狀態資訊之呼叫端配置的 IO_STATUS_BLOCK 結構的指標。

A10

[in] Context:釋放位元組範圍鎖定時要使用的內容選擇性指標。

A11

[in] AlreadySynchronized:此參數已經過時,但會保留以與舊版驅動程式相容。

傳回值

沒有

言論

FsRtlFastLock 巨集會導致呼叫端取得指定檔案區域中的位元組範圍鎖定。

FsRtlFastLock 傳回 TRUE,表示 Iosb 所指向的IO_STATUS_BLOCK結構 收到鎖定作業的狀態資訊;否則會傳回 FALSE。

若要檢查 Iosb 指向的結構內容,請使用 NT_STATUS 巨集。

要求

要求 價值
目標平臺 桌面
標頭 ntifs.h (include Ntifs.h)
IRQL <= APC_LEVEL

另請參閱

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock