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] 長度:變數的指標,指定要鎖定之範圍的位元組長度。

A5

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

A6

[in] 碼:要指派給位元組範圍鎖定的索引鍵。

A7

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

A8

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

A9

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

A10

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

A11

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

傳回值

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

備註

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

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

規格需求

需求
目標平台 桌面
標頭 ntifs.h (包含 Ntifs.h)
IRQL <= APC_LEVEL

另請參閱

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock