Trabalhando com perfis de sistema localizados

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador de Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador de Coletor em vez do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O SDK do Formato de Mídia do Windows inclui perfis do sistema com nomes e descrições em vários idiomas. Os arquivos .prx do perfil do sistema localizado são instalados na pasta [SDKRoot]\WMSDK\WMFSDK9\LocalizedProfiles. Para acessar um arquivo específico com os métodos IWMProfileManagerLanguage , você deve movê-lo para o diretório raiz do sistema junto com os outros arquivos de perfil do sistema. Para obter uma lista dos arquivos de perfil do sistema localizados, consulte Perfis de sistema localizados.

Você pode definir ou recuperar a linguagem de perfil do sistema usando os métodos da interface IWMProfileManagerLanguage . O idioma é especificado como um valor LANGID, que consiste em um identificador de idioma primário e um identificador de idioma secundário. O código a seguir demonstra como recuperar o idioma atual. O idioma padrão é inglês dos EUA (0x409). Para obter mais informações sobre como usar esse código, consulte Usando os exemplos de código.

HRESULT GetCurrentSystemProfileLanguage(IMWProfilManager* pProfileMgr)
{
    HRESULT hr = S_OK;

    IWMProfileManagerLanguage* pProfileMgrLang = NULL;

    // Get the profile manager language interface.
    hr = pProfileMgr->QueryInterface(IID_IWMProfileManagerLanguage,
                                     (void **) &pProfileMgrLang);
    if(FAILED(hr))
    {
        printf("Couldn't get IWMProfileManagerLanguage.\n");
        SAFE_RELEASE(pProfileMgrLang);
        return hr;
    }

    // Retrieve the current language (as a LANGID value)
    WORD wLangID = 0;
    hr = pProfileMgrLang->GetUserLanguageID(&wLangID);
    if(FAILED(hr))
    {
        printf("Could not get the current language.\n");
        SAFE_RELEASE(pProfileMgrLang);
        return hr;
    }

    printf("The current language ID is 0x%X\n", wLangID);

    SAFE_RELEASE(pProfileMgrLang);
    return S_OK;
}

Usando perfis do sistema