FsRtlOplockGetAnyBreakOwnerProcess 函数 (ntifs.h)

FsRtlOplockGetAnyBreakOwnerProcess 返回据称中断机会锁(oplock)的所有者。

语法

PEPROCESS FsRtlOplockGetAnyBreakOwnerProcess(
  POPLOCK Oplock
);

参数

Oplock

指向文件的不透明不透明锁结构的指针。 此指针必须由上一次调用来初始化 FsRtlInitializeOplock

返回值

如果找不到所有者,此方法将返回 NULL;否则,它将返回指向所有者进程对象的指针(PEPROCESS)。

言论

FsRtlOplockGetAnyBreakOwnerProcess 为据称中断的 oplock 选择所有者,如下所示:

  • 如果 oplock 具有独占所有者,FsRtlOplockGetAnyBreakOwnerProcess 将返回指向独占所有者的 EPROCESS 的指针。

  • 如果 oplock 没有独占所有者且中断队列为非空,FsRtlOplockGetAnyBreakOwnerProcess 任意返回指向队列中第一个 EPROCESS 的指针。

  • 否则,FsRtlOplockGetAnyBreakOwnerProcess 返回 NULL。

如果 FsRtlOplockGetAnyBreakOwnerProcess 返回非 NULL,则调用方负责调用 ObDeferenceObject 以代表其获取的引用。

FsRtlOplockGetAnyBreakOwnerProcess 不会尝试验证中断是否实际挂起,或者它返回的进程确实是所有者。

要求

要求 价值
最低支持的客户端 Windows 10 版本 2004
标头 ntifs.h

另请参阅

FsRtlInitializeOplock

ObDeferenceObject