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 或 FltAllocateFileLock 初始化的FILE_LOCK结构调用 FsRtlInitializeFileLock 是一个编程错误,除非该结构已通过对 FsRtlUninitializeFileLock 的后续调用取消初始化。
初始化后,FILE_LOCK结构可用于通过调用 FsRtlProcessFileLock 或FsRtlFastLock 锁定文件中的字节范围。 FsRtlProcessFileLock 进程锁定 IRP。 FsRtlFastLock 执行非 IRP 锁定。
不再需要 FILE_LOCK 结构时,可以通过调用 FsRtlUninitializeFileLock 取消初始化该结构。 然后,可以通过调用 FsRtlInitializeFileLock 来初始化未初始化FILE_LOCK结构以供重复使用。
微筛选器必须调用 FltInitializeFileLock ,而不是 FsRtlInitializeFileLock。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |