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 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) |