ExReleaseResourceForThreadLite 函数 (wdm.h)
ExReleaseResourceForThreadLite 例程释放指示线程的输入资源。
语法
void ExReleaseResourceForThreadLite(
[in, out] PERESOURCE Resource,
[in] ERESOURCE_THREAD ResourceThreadId
);
参数
[in, out] Resource
指向要释放的资源的指针。
[in] ResourceThreadId
标识最初获取资源的线程。 如果这不是当前正在执行的线程,则调用方必须首先在最初获取资源的线程上调用 ExSetResourceOwnerPointerEx 例程来转移资源的所有权。
返回值
没有
言论
如果这不是当前正在执行的线程,则调用方必须首先在最初获取资源的线程上调用 ExSetResourceOwnerPointerEx 例程来转移资源的所有权。 这是为了确保线程 A 在线程 B 有机会释放资源之前不会终止或删除线程 A。
除非调用方在系统线程中运行,否则调用方必须在调用此例程之前显式禁用正常内核 APC 的传递。 此要求可防止线程在作或保存资源时挂起。 调用方可以通过调用 KeEnterCriticalRegion 例程来禁用正常的内核 APC 传递。 在释放资源之前,传递必须保持禁用状态,此时可以通过调用 KeLeaveCriticalRegion 例程重新启用它。 有关详细信息,请参阅 禁用 APC。
此要求不适用于从系统线程对 ExReleaseResourceForThreadLite 进行的调用。 在系统线程中运行的调用方在调用此例程之前不需要显式禁用 APC。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | ExclusiveResourceAccess(wdm)、HwStorPortProhibitedDIS(storport)、WithinCriticalRegion(storport)、WithinCriticalRegion(storport)、WithinCriticalRegion(wdm) |
另请参阅
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive