IMFAudioPolicy::SetIconPath 方法 (mfidl.h)
設定音訊會話的圖示資源。 Windows 音量控制項會顯示此圖示。
語法
HRESULT SetIconPath(
[in] LPCWSTR pszPath
);
參數
[in] pszPath
指定圖示的寬字元字串。 請參閱<備註>。
傳回值
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
圖示路徑的格式為 「path,index」 或 「path,-id」,其中 path 是 DLL、可執行檔或圖示檔的完整路徑; index 是檔案中圖示之以零起始的索引;和 id 是資源識別碼。 請注意,資源識別碼前面會加上減號 ( ) 來區別它們與索引。 路徑可以包含環境變數,例如 「%windir%」。 如需詳細資訊,請參閱 Windows SDK 中的 IAudioSessionControl::SetIconPath 。
範例
下列範例會使用應用程式可執行檔中圖示的資源識別碼來設定圖示。
HRESULT SetIcon(IMFMediaSession *pSession, int nID)
{
IMFAudioPolicy *pPolicy = NULL;
const DWORD CCH_ICON_PATH = MAX_PATH + 16;
WCHAR szFileName[MAX_PATH];
WCHAR szIconPath[CCH_ICON_PATH];
HRESULT hr = S_OK;
DWORD result = GetModuleFileNameW(NULL, szFileName, MAX_PATH);
// Note: GetModuleFileName can return a truncated string without a
// NULL terminator. If so, the function succeeds but sets the last
// error to ERROR_INSUFFICIENT_BUFFER.
if ((result == 0) || (GetLastError() == ERROR_INSUFFICIENT_BUFFER))
{
hr = E_FAIL;
goto done;
}
hr = StringCchPrintfW(szIconPath, CCH_ICON_PATH,
L"%s,-%d", szFileName, nID);
if (FAILED(hr))
{
goto done;
}
hr = MFGetService(
pSession,
MR_AUDIO_POLICY_SERVICE,
IID_PPV_ARGS(&pPolicy)
);
if (FAILED(hr))
{
goto done;
}
hr = pPolicy->SetIconPath(szIconPath);
if (FAILED(hr))
{
goto done;
}
done:
SafeRelease(&pPolicy);
return hr;
}
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mfidl.h |
程式庫 | Mfuuid.lib |