IMFAudioPolicy::SetIconPath 메서드(mfidl.h)
오디오 세션의 아이콘 리소스를 설정합니다. Windows 볼륨 컨트롤에 이 아이콘이 표시됩니다.
구문
HRESULT SetIconPath(
[in] LPCWSTR pszPath
);
매개 변수
[in] pszPath
아이콘을 지정하는 와이드 문자열입니다. 설명 부분을 참조하세요.
반환 값
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
아이콘 경로의 형식은 "path,index" 또는 "path,-id"입니다. 여기서 path 는 DLL, 실행 파일 또는 아이콘 파일에 대한 정규화된 경로입니다. index 는 파일 내 아이콘의 인덱스(0부터 시작)입니다. 및 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 |