Работа с локализованными системными профилями
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Пакет SDK для формата Windows Media включает системные профили с именами и описаниями на нескольких языках. Локализованные 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;
}
Связанные темы