使用本地化的系统配置文件

[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

Windows Media Format SDK 包括系统配置文件,其中包含多种语言的名称和说明。 本地化的系统配置文件 .prx 文件将安装到 [SDKRoot]\WMSDK\WMFSDK9\LocalizedProfiles 文件夹中。 若要使用 IWMProfileManagerLanguage 方法访问特定文件,必须将其与其他系统配置文件一起移动到系统根目录。 有关本地化系统配置文件的列表,请参阅 本地化的系统配置文件

可以使用 IWMProfileManagerLanguage 接口的方法设置或检索系统配置文件语言。 语言指定为 LANGID 值,该值由主要语言标识符和辅助语言标识符组成。 以下代码演示如何检索当前语言。 默认语言为美国英语 (0x409) 。 有关使用此代码的详细信息,请参阅 使用代码示例

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

使用系统配置文件