Share via


IMFAudioPolicy::SetIconPath-Methode (mfidl.h)

Legt die Symbolressource für die Audiositzung fest. Das Windows-Lautstärkesteuerelement zeigt dieses Symbol an.

Syntax

HRESULT SetIconPath(
  [in] LPCWSTR pszPath
);

Parameter

[in] pszPath

Eine Breitzeichenzeichenfolge, die das Symbol angibt. Siehe Hinweise.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Der Symbolpfad hat das Format "path,index" oder "path,-id", wobei path der vollqualifizierte Pfad zu einer DLL, ausführbaren Datei oder Symboldatei ist. index ist der nullbasierte Index des Symbols in der Datei. und id ist ein Ressourcenbezeichner. Beachten Sie, dass Ressourcenbezeichnern ein Minuszeichen (-) vorangestellt sind, um sie von Indizes zu unterscheiden. Der Pfad kann Umgebungsvariablen wie "%windir%" enthalten. Weitere Informationen finden Sie unter IAudioSessionControl::SetIconPath im Windows SDK.

Beispiele

Im folgenden Beispiel wird das Symbol mithilfe eines Ressourcenbezeichners für ein Symbol in der ausführbaren Datei der Anwendung festgelegt.

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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mfuuid.lib

Weitere Informationen

IMFAudioPolicy

Streaming-Audiorenderer