PCOMPLETE_LOCK_IRP_ROUTINE回调函数 (ntifs.h)

文件系统筛选器驱动程序 (旧筛选器) 可以将 PCOMPLETE_LOCK_IRP_ROUTINE类型的例程注册为筛选器的 CompleteLockIrpRoutine 回调。

语法

PCOMPLETE_LOCK_IRP_ROUTINE PcompleteLockIrpRoutine;

NTSTATUS PcompleteLockIrpRoutine(
  PVOID Context,
  PIRP Irp
)
{...}

参数

Context

[in]传递给 FsRtlProcessFileLock 的上下文指针。

Irp

[in]文件锁的 IRP IRP_MJ_LOCK_CONTROL 正在完成的请求。 锁请求类型为以下类型之一:

  • IRP_MN_LOCK
  • IRP_MN_UNLOCK_ALL
  • IRP_MN_UNLOCK_ALL_BY_KEY
  • IRP_MN_UNLOCK_SINGLE

返回值

此例程返回STATUS_SUCCESS或相应的 NTSTATUS 值。 如果它返回的 NTSTATUS 值不是成功代码,则会从文件中删除文件锁。

注解

文件系统筛选器驱动程序 (旧版筛选器) 可以选择性地将PCOMPLETE_LOCK_IRP_ROUTINE类型的例程指定为字节范围文件锁的旧筛选器 的 CompleteLockIrpRoutine 例程。

若要指定此例程,旧版筛选器将指向该例程的指针作为 FsRtlAllocateFileLockFsRtlInitializeFileLockCompleteLockIrpRoutine 参数传递。

如果旧筛选器为文件锁指定 CompleteLockIrpRoutine 例程,则系统会在完成文件锁 的IRP_MJ_LOCK_CONTROL 操作时调用此例程。

要求

要求
Header ntifs.h
IRQL APC_LEVEL

另请参阅

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE