|
|
文字コードの変換[MLang]
|
(2004.04.22) |
struct __declspec(uuid("275C23E1-3747-11D0-9FEA-00AA003F8646")) IMultiLanguage;
enum
{
CODEPAGE_SHIFTJIS = 932,
CODEPAGE_EUCJP = 51932,
CODEPAGE_ISO2022JP = 50220
};
static HRESULT ConvertString(
DWORD* pdwMode,
DWORD dwSrcEncoding,
DWORD dwDstEncoding,
BYTE* pSrcStr,
UINT* pcSrcSize,
BYTE* pDstStr,
UINT* pcDstSize)
{
HRESULT hr = S_OK;
try
{
IMultiLanguagePtr spMultiLanguage = GetMultiLanguage();
if (spMultiLanguage == NULL)
{
return E_FAIL;
}
hr = spMultiLanguage->ConvertString(
pdwMode,
dwSrcEncoding,
dwDstEncoding,
pSrcStr,
pcSrcSize,
pDstStr,
pcDstSize);
if (FAILED(hr))
{
return hr;
}
}
catch (...)
{
return E_FAIL;
}
return hr;
}
static IMultiLanguagePtr GetMultiLanguage()
{
HRESULT hr = S_OK;
IMultiLanguagePtr spMultiLanguage;
hr = spMultiLanguage.CreateInstance(__uuidof(CMultiLanguage));
if (FAILED(hr))
{
return NULL;
}
return spMultiLanguage;
}
|
|
 |
| © 2003 WAC.com All Right Reserved. |
 |
|