ExSetResourceOwnerPointer 函数 (wdm.h)

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

语法

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

参数

[in, out] Resource

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

[in] OwnerPointer

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

返回值

没有

言论

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

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

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

使用资源完成用户线程后,资源管理器线程通过调用 ExReleaseResourceForThreadLite释放用户线程对资源的所有权。 ResourceThreadId 输入参数设置为上一次调用 ExSetResourceOwnerPointer 时使用的 OwnerPointer 参数的值,该参数赋予了资源的辅助角色线程所有权。

要求

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

另请参阅

ExReleaseResourceForThreadLite