Bagikan melalui


METODE IMFAudioPolicy::SetIconPath (mfidl.h)

Mengatur sumber daya ikon untuk sesi audio. Kontrol volume Windows menampilkan ikon ini.

Sintaks

HRESULT SetIconPath(
  [in] LPCWSTR pszPath
);

Parameter

[in] pszPath

String karakter lebar yang menentukan ikon. Lihat Keterangan.

Menampilkan nilai

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Jalur ikon memiliki format "path,index" atau "path,-id", di mana jalur adalah jalur yang sepenuhnya memenuhi syarat ke DLL, file yang dapat dieksekusi, atau file ikon; indeks adalah indeks berbasis nol dari ikon dalam file; dan id adalah pengidentifikasi sumber daya. Perhatikan bahwa pengidentifikasi sumber daya didahului dengan tanda minus (-) untuk membedakannya dari indeks. Jalur dapat berisi variabel lingkungan, seperti "%windir%". Untuk informasi selengkapnya, lihat IAudioSessionControl::SetIconPath di Windows SDK.

Contoh

Contoh berikut mengatur ikon menggunakan pengidentifikasi sumber daya untuk ikon dalam file yang dapat dieksekusi aplikasi.

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

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header mfidl.h
Pustaka Mfuuid.lib

Lihat juga

IMFAudioPolicy

Perender Audio Streaming