共用方式為


IAudioSessionControl::SetIconPath 方法 (audiopolicy.h)

SetIconPath方法會將顯示圖示指派給目前的會話。

語法

HRESULT SetIconPath(
  [in] LPCWSTR Value,
  [in] LPCGUID EventContext
);

參數

[in] Value

Null 終止寬字元字串的指標,指定包含圖示之 .ico、.dll 或 .exe 檔案的路徑和檔案名。 如需圖示路徑的相關資訊,請參閱 Windows SDK 檔。

[in] EventContext

事件內容 GUID 的指標。 如果呼叫這個方法會產生圖示變更事件,會話管理員會將通知傳送給已向會話管理員註冊 IAudioSessionEvents 介面的所有用戶端。 會話管理員會在每個通知中包含 EventCoNtext 指標值。 收到通知時,用戶端可以藉由檢查 EventCoNtext 值來判斷它或另一個用戶端是否為事件的來源。 此配置取決於用戶端選取這個參數的值,這個參數在會話中的所有用戶端之間是唯一的。 如果呼叫端提供此參數的 Null 指標,則用戶端的通知方法會收到 Null 內容指標。

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。

傳回碼 Description
E_POINTER
參數 Null
AUDCLNT_E_DEVICE_INVALIDATED
音訊端點裝置已解除叢集,或音訊硬體或相關聯的硬體資源已重新設定、停用、移除,否則無法使用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音訊服務未執行。

備註

在 Windows Vista 中,系統提供的程式 Sndvol.exe 會使用顯示圖示 (以及顯示名稱) 來標記會話的磁片區控制項。 如果用戶端未呼叫 SetIconPath 將圖示指派給會話,Sndvol 程式會使用應用程式視窗中的圖示作為會話的預設圖示。

在跨進程會話的情況下,會話不會與單一應用程式進程相關聯。 因此,Sndvol 預設沒有要使用的應用程式特定圖示,而且用戶端必須呼叫 SetIconPath 以避免顯示無意義的圖示。

顯示圖示不會持續超過 IAudioSessionControl 物件的存留期。 因此,在釋放物件的所有參考之後,後續建立的物件版本 (會使用相同的應用程式、相同的會話 GUID 和相同的端點裝置) 再次有預設圖示,直到用戶端呼叫 SetIconPath為止。

用戶端可以藉由呼叫 IAudioSessionControl::GetIconPath 方法來擷取會話的顯示圖示。

規格需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 audiopolicy.h

另請參閱

IAudioSessionControl 介面

IAudioSessionControl::GetIconPath