exSetResourceOwnerPointer 函数 (wdm.h)

ExSetResourceOwnerPointer 例程为执行资源设置所有者线程指针。

语法

void ExSetResourceOwnerPointer(
  [in, out] PERESOURCE Resource,
  [in]      PVOID      OwnerPointer
);

参数

[in, out] Resource

指向当前线程拥有的执行资源的指针。

[in] OwnerPointer

指向 ERESOURCE_THREAD (类型的所有者线程指针的指针,有关其他要求,请参阅以下备注部分) 。

返回值

备注

ExSetResourceOwnerPointerExReleaseResourceForThreadLite 结合使用,为充当资源管理器线程 (一个线程提供了一种方法,) 获取和释放资源供另一个线程使用, (充当资源用户线程) 。

为特定资源调用 ExSetResourceOwnerPointer 后,可为该资源调用的唯一其他例程是 ExReleaseResourceForThreadLite

资源管理器线程获取资源的所有权,并通过调用 ExSetResourceOwnerPointer 将所有权传递给用户线程。 调用方必须为系统内存中 OwnerPointer 指向的ERESOURCE_THREAD值分配内存,并且此内存必须保持分配状态,直到 ExReleaseResourceForThreadLite 返回。 调用方还必须将 OwnerPointer 指向的ERESOURCE_THREAD值的两个低序位设置为一个 ,资源服务在内部使用此编码来区分所有者地址和线程地址。

当用户线程使用完资源时,资源管理器线程通过调用 ExReleaseResourceForThreadLite 释放用户线程对资源的所有权。 ResourceThreadId 输入参数设置为上一次调用 ExSetResourceOwnerPointer 中使用的 OwnerPointer 参数的值,该参数为资源的工作线程所有权。

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport)

另请参阅

ExReleaseResourceForThreadLite