FsRtlInitializeFileLock 函式 (ntifs.h)
FsRtlInitializeFileLock 例程會初始化FILE_LOCK結構。
語法
void FsRtlInitializeFileLock(
[in] PFILE_LOCK FileLock,
[in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
參數
[in] FileLock
未初始化 FILE_LOCK 結構的指標。
[in, optional] CompleteLockIrpRoutine
完成IRP_MJ_LOCK_CONTROL要求時所呼叫之PCOMPLETE_LOCK_IRP_ROUTINE型別回呼例程的指標。 此參數是選擇性的,可以是 NULL。
[in, optional] UnlockRoutine
當位元組範圍解除鎖定時,要呼叫 之PUNLOCK_ROUTINE型別回呼例程的指標。 此參數是選擇性的,可以是 NULL。
傳回值
無
備註
FsRtlInitializeFileLock 會初始化未初始化FILE_LOCK結構。
呼叫 FsRtlInitializeFileLock 的程式設計錯誤是針對已由 FsRtlInitializeFileLock 或 FltAllocateFileLock 初始化的FILE_LOCK結構,除非結構已由 FsRtlUninitializeFileLock 的後續呼叫取消初始化。
初始化之後,FILE_LOCK結構可用來藉由呼叫 FsRtlProcessFileLock 或FsRtlFastLock 來鎖定檔案中的位元組範圍。 FsRtlProcessFileLock 進程鎖定 IRP。 FsRtlFastLock 會執行非 IRP 鎖定。
不再需要 FILE_LOCK 結構時,可以藉由呼叫 FsRtlUninitializeFileLock 來取消初始化。 然後呼叫 FsRtlInitializeFileLock,即可初始化未初始化FILE_LOCK結構以供重複使用。
Minifilters 必須呼叫 FltInitializeFileLock ,而不是 FsRtlInitializeFileLock。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) |