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