Méthode IMFAudioPolicy::SetIconPath (mfidl.h)
Définit la ressource d’icône pour la session audio. Le contrôle de volume Windows affiche cette icône.
Syntaxe
HRESULT SetIconPath(
[in] LPCWSTR pszPath
);
Paramètres
[in] pszPath
Chaîne à caractères larges qui spécifie l’icône. Consultez la section Notes.
Valeur retournée
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Notes
Le chemin d’accès à l’icône a le format « path, index » ou « path,-id », où chemin d’accès est le chemin d’accès complet à une DLL, un fichier exécutable ou un fichier d’icône ; index est l’index de base zéro de l’icône dans le fichier ; et id est un identificateur de ressource. Notez que les identificateurs de ressource sont précédés d’un signe moins (-) pour les distinguer des index. Le chemin d’accès peut contenir des variables d’environnement, telles que « %windir% ». Pour plus d’informations, consultez IAudioSessionControl::SetIconPath dans le Kit de développement logiciel (SDK) Windows.
Exemples
L’exemple suivant définit l’icône à l’aide d’un identificateur de ressource pour une icône dans le fichier exécutable de l’application.
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;
}
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | mfidl.h |
Bibliothèque | Mfuuid.lib |