ExReleaseResourceForThreadLite 函式 (wdm.h)
ExReleaseResourceForThreadLite 例程會釋放所指出線程的輸入資源。
語法
void ExReleaseResourceForThreadLite(
[in, out] PERESOURCE Resource,
[in] ERESOURCE_THREAD ResourceThreadId
);
參數
[in, out] Resource
要釋放之資源的指標。
[in] ResourceThreadId
識別原本取得資源的線程。 如果這不是目前正在執行的線程,則呼叫端必須先在原先取得資源的線程上呼叫 ExSetResourceOwnerPointerEx 例程,以轉移資源的擁有權。
傳回值
無
備註
如果這不是目前正在執行的線程,則呼叫端必須先在原先取得資源的線程上呼叫 ExSetResourceOwnerPointerEx 例程,以轉移資源的擁有權。 這是為了確保線程 A 不會在線程 B 有機會釋放資源之前終止或刪除。
除非呼叫端是在系統線程中執行,否則呼叫端必須先明確停用一般核心 APC 的傳遞,再呼叫這個例程。 這項需求可防止線程在操作或保存資源時暫停。 呼叫端可以藉由呼叫 KeEnterCriticalRegion 例程來停用一般核心 APC 傳遞。 傳遞必須保持停用狀態,直到資源釋出為止,此時可藉由呼叫 KeLeaveCriticalRegion 例程來重新啟用。 如需詳細資訊,請參閱 停用 APC。
這項需求不適用於從系統線程對 ExReleaseResourceForThreadLite 進行的呼叫。 在系統線程中執行的呼叫端不需要在呼叫這個例程之前明確停用 APC。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | ExclusiveResourceAccess (wdm) 、 HwStorPortProhibitedDDIs (storport) 、 WithinCriticalRegion (storport) 、WithinCriticalRegion (storport ) 、 WithinCriticalRegion (wdm) |
另請參閱
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive