Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |