SetProcessReference 函式 (shlwapi.h)
提供元件物件模型 (COM) 物件,允許裝載的殼層延伸模組和其他元件防止其主機進程提前關閉。 主機進程通常是 Windows 檔案總管或 Windows Internet Explorer,但其他應用程式也可以使用此函式。
語法
void SetProcessReference(
[in, optional] IUnknown *punk
);
參數
[in, optional] punk
您要儲存參考之物件的指標。 此值可以是 Null。
傳回值
無
備註
Windows Explorer 和 Internet Explorer 可以使用 SetProcessReference 來允許 Shell 延伸模組等元件延長進程的存留期。 其他應用程式也可以使用 SetProcessReference 來允許相同的功能。 例如,瀏覽器訊息迴圈和 Proxy 桌面會使用 SetProcessReference 讓其他執行緒延長其存留期。
呼叫此函式的 Windows Explorer 和 Internet Explorer 以外的應用程式可能會遇到相容性問題,因為某些元件會使用 SetProcessReference 來偵測它們是否裝載于 Windows Explorer 或 Internet Explorer 中。
傳遞至 SetProcessReference 的介面指標必須參考自由執行緒物件。
每次元件呼叫 GetProcessReference時,系統會先呼叫 AddRef 方法,再將介面指標傳回給呼叫元件。 然後元件會在處理完成時呼叫 IUnknown::Release 方法。 呼叫 SetProcessReference 的進程不得終止,而所提供介面指標的參考計數為非零。
如需元件如何使用進程參考的詳細資訊,請參閱 GetProcessReference。
規格需求
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Api-ms-win-shcore-thread-L1-1-0.dll |