Método IMFAudioPolicy::SetIconPath (mfidl.h)
Define o recurso de ícone para a sessão de áudio. O controle de volume do Windows exibe este ícone.
Sintaxe
HRESULT SetIconPath(
[in] LPCWSTR pszPath
);
Parâmetros
[in] pszPath
Uma cadeia de caracteres largos que especifica o ícone. Consulte Observações.
Valor retornado
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
O caminho do ícone tem o formato "path, index" ou "path,-id", em que path é o caminho totalmente qualificado para uma DLL, arquivo executável ou arquivo de ícone; index é o índice baseado em zero do ícone dentro do arquivo; e id é um identificador de recurso. Observe que os identificadores de recurso são precedidos por um sinal de subtração (-) para distingui-los dos índices. O caminho pode conter variáveis de ambiente, como "%windir%". Para obter mais informações, consulte IAudioSessionControl::SetIconPath no SDK do Windows.
Exemplos
O exemplo a seguir define o ícone usando um identificador de recurso para um ícone no arquivo executável do aplicativo.
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;
}
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | mfidl.h |
Biblioteca | Mfuuid.lib |