ExReleaseResourceForThreadLite 函数 (wdm.h)

ExReleaseResourceForThreadLite 例程释放指示线程的输入资源。

语法

void ExReleaseResourceForThreadLite(
  [in, out] PERESOURCE       Resource,
  [in]      ERESOURCE_THREAD ResourceThreadId
);

参数

[in, out] Resource

指向要释放的资源的指针。

[in] ResourceThreadId

标识最初获取资源的线程。 如果这不是当前正在执行的线程,则调用方必须首先通过在最初获取资源的线程上调用 ExSetResourceOwnerPointerEx 例程来转移资源的所有权。

返回值

备注

如果这不是当前正在执行的线程,则调用方必须首先通过在最初获取资源的线程上调用 ExSetResourceOwnerPointerEx 例程来转移资源的所有权。 这是为了确保在线程 B 有机会释放资源之前,线程 A 不会被终止或删除。

除非调用方在系统线程中运行,否则调用方必须在调用此例程之前显式禁用正常内核 APC 的传递。 此要求可防止线程在操作或保留资源时挂起。 调用方可以通过调用 KeEnterCriticalRegion 例程来禁用正常的内核 APC 传递。 在释放资源之前,传递必须保持禁用状态,此时可以通过调用 KeLeaveCriticalRegion 例程来重新启用该资源。 有关详细信息,请参阅 禁用 APC

此要求不适用于从系统线程对 ExReleaseResourceForThreadLite 进行的调用。 在系统线程中运行的调用方无需在调用此例程之前显式禁用 APC。

要求

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

另请参阅

ExAcquireResourceExclusiveLite

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite