Método IMFAudioPolicy::SetIconPath (mfidl.h)
Establece el recurso de icono para la sesión de audio. El control de volumen de Windows muestra este icono.
Sintaxis
HRESULT SetIconPath(
[in] LPCWSTR pszPath
);
Parámetros
[in] pszPath
Cadena de caracteres anchos que especifica el icono. Vea la sección Comentarios.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
La ruta de acceso del icono tiene el formato "path, index" o "path,-id", donde path es la ruta de acceso completa a un archivo DLL, archivo ejecutable o archivo de icono; index es el índice de base cero del icono dentro del archivo; y id es un identificador de recurso. Tenga en cuenta que los identificadores de recursos van precedidos de un signo menos (-) para distinguirlos de los índices. La ruta de acceso puede contener variables de entorno, como "%windir%". Para obtener más información, vea IAudioSessionControl::SetIconPath en Windows SDK.
Ejemplos
En el ejemplo siguiente se establece el icono con un identificador de recurso para un icono en el archivo ejecutable de la aplicación.
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 compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mfidl.h |
Library | Mfuuid.lib |