mlang: Implement IMultiLanguage_GetRfc1766Info.

This commit is contained in:
Detlef Riekenberg 2009-06-12 11:19:42 +02:00 committed by Alexandre Julliard
parent 131ab8d825
commit e51dc8f2d3

View File

@ -2536,8 +2536,38 @@ static HRESULT WINAPI fnIMultiLanguage_GetRfc1766Info(
LCID Locale,
PRFC1766INFO pRfc1766Info)
{
FIXME("\n");
return E_NOTIMPL;
LCTYPE type = LOCALE_SLANGUAGE;
TRACE("(%p, 0x%04x, %p)\n", iface, Locale, pRfc1766Info);
if (!pRfc1766Info)
return E_INVALIDARG;
if ((PRIMARYLANGID(Locale) == LANG_ENGLISH) ||
(PRIMARYLANGID(Locale) == LANG_CHINESE) ||
(PRIMARYLANGID(Locale) == LANG_ARABIC)) {
if (!SUBLANGID(Locale))
type = LOCALE_SENGLANGUAGE; /* suppress country */
}
else
{
if (!SUBLANGID(Locale)) {
TRACE("SUBLANGID missing in 0x%04x\n", Locale);
return E_FAIL;
}
}
pRfc1766Info->lcid = Locale;
pRfc1766Info->wszRfc1766[0] = 0;
pRfc1766Info->wszLocaleName[0] = 0;
if ((!lcid_to_rfc1766W(Locale, pRfc1766Info->wszRfc1766, MAX_RFC1766_NAME)) &&
(GetLocaleInfoW(Locale, type, pRfc1766Info->wszLocaleName, MAX_LOCALE_NAME) > 0))
return S_OK;
/* Locale not supported */
return E_INVALIDARG;
}
static HRESULT WINAPI fnIMultiLanguage_CreateConvertCharset(