/*************************************************************************
 * <_xZkqqHx_iDhEiDeAiDeDiDiLjGlM_xHqqkZx_>	MpaCompo_0.cpp
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDhMiBfLiDgMiDjDiDgH_xHqqkZx_0_xZkqqHx_iCmMiDfMiBfLiDfIiBeC_xHqqkZx_
 *			_xZkqqHx_iIoKiCmCiCmMiDiCiDfHiDiFiBfLiDiLiCmJiCmNiBeBiIoKiCmCiImIiPoDiCmMiDfCiDjDiDhMiBfLiDgMiDjDiDgHiCkKiKnMiCnMiCoKiCnMiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/

#include "stdafx.h"
#include "MpaModule.h"	// For FMpgGetModule().

// _xZkqqHx_iDhGiDiJiDePiDeDiDjDiDfCiDjDiDhMiBfLiDgMiDjDiDgHiCmM_xHqqkZx_CLSID_xZkqqHx_iBeC_xHqqkZx_
// _xZkqqHx_iDhGiDiJiDePiDeDiDjDiDfCiDjDiDhMiBfLiDgMiDjDiDgHiClCiCmGiCmJiMmFjHeMiCmM_xHqqkZx_CLSID_xZkqqHx_iCkKjFeLjHhGiCmFiClHiBeC_xHqqkZx_
// _xZkqqHx_iMmFjHeMiCmM_xHqqkZx_CLSID_xZkqqHx_iCmNiBeB_xHqqkZx_guidgen.exe _xZkqqHx_iCmFiOoGjDlOiCmFiCkLiCnMiClHiBeC_xHqqkZx_
// _xZkqqHx_jCiNiInDiBeJ_xHqqkZx_
// _xZkqqHx_iDiCiDfHiDiFiBfLiDiL_xHqqkZx_CLSID_xZkqqHx_iBgJ_xHqqkZx_PG_MODULE_CLSID_xZkqqHx_iBgKiCmGjCgMiCkKiInJiCmIiCoJiClBiCmGiBeC_xHqqkZx_
// {CE1C5E16-7EC0-4d1e-951E-45BD0DAA4AB5}
static const GUID PG_COMPONENT_CLSID = { 0xce1c5e16, 0x7ec0, 0x4d1e, { 0x95, 0x1e, 0x45, 0xbd, 0xd, 0xaa, 0x4a, 0xb5 } };

/////////////////////////////////////////////////////////////////////////////////

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::GetComponentCLSID
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDhMiBfLiDgMiDjDiDgHiCmM_xHqqkZx_GUID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	GUID_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.05.24 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const GUID& CA0::GetComponentCLSID () const
{
	return PG_COMPONENT_CLSID;
} // CA0::GetComponentCLSID.

/////////////////////////////////////////////////////////////////////////////////

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::GetFileConvInfo
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiDfCiDjDiDgPiBfLiDfOiBfLiCmMiPoOjFpBiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pConvInfo		:FCFileConvInfo_xZkqqHx_iNfMjBkCjBmMiCmMjEhKjHpBiCpAjFnEiClHiBeC_xHqqkZx_
 *			lConvInfoSize	:pConvInfo_xZkqqHx_iCmMjEhKjHpBjAjEiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iPoOjFpBiCpAjFnEiClHiPoKiNiHiCmN_xHqqkZx_ S_OK_xZkqqHx_iBeBjFnEiClDiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ S_FALSE_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.05.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
HRESULT CA0::GetFileConvInfo (const FCFileConvInfo** pConvInfo, long* lConvInfoSize)
{
	static FCFileConvInfo convInfo[] = {
		{
			L"*fcore",
			L"2.0",
			L"Dynamic Draw Flat Core Format",
			L"*ccore",
			L"2.0",
			L"Dynamic Draw Compound Core Format",
			0,
			L""
		},
		{
			L"*ccore",
			L"2.0",
			L"Dynamic Draw Compound Core Format",
			L"*fcore",
			L"2.0",
			L"Dynamic Draw Flat Core Format",
			0,
			L""
		},
		{
			L".mdrw",
			L"2.0",
			L"Dynamic Draw Standard Format",
			L"*fcore",
			L"2.0",
			L"Dynamic Draw Flat Core Format",
			0,
			L""
		},
		{
			L".mdwt",
			L"2.0",
			L"Dynamic Draw Template Format",
			L"*fcore",
			L"2.0",
			L"Dynamic Draw Flat Core Format",
			0,
			L""
		} };
	*pConvInfo = convInfo;
	*lConvInfoSize = sizeof(convInfo) / sizeof(convInfo[0]);
	return S_OK;
} // CA0::GetFileConvInfo.

//----- 06.05.12 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::GetFileConverterPath
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiDfCiDjDiDgPiBfLiDfOiBfLjGhLjBmMiCmM_xHqqkZx_DLL_xZkqqHx_iCmMiDhAiDfIiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiDfCiDjDiDgPiBfLiDfOiBfLjGhLjBmMiCmM_xHqqkZx_DLL_xZkqqHx_iCmMiDhAiDfIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	06.05.12 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//const wchar_t* CA0::GetFileConverterPath ()
//{
//	static WString s_wstrConverterPath;
//	if (s_wstrConverterPath.empty())
//	{
//		// DLL_xZkqqHx_iDiCiDfHiDiFiBfLiDiLiCmMiDgGiDeCiDiMiDeOiDgHiDiKjGlMiCpAiOoGjDlOiBeC_xHqqkZx_
//		_TCHAR tcaDllPath[_MAX_PATH];
//		FMpgGetModule()->GetModuleDirPath(tcaDllPath, _MAX_PATH);
//		// _xZkqqHx_iDfEiDhFiDiCiDfHiDiFiBfLiDiLiCpAiDiNiBfLiDgIiBeC_xHqqkZx_
//		_tcscat(tcaDllPath, _T("StcCoreToCore2.dll"));
//		s_wstrConverterPath = (const wchar_t*)TStrToWStr(tcaDllPath);
//	}
//	return s_wstrConverterPath.c_str();
//} // CA0::GetFileConverterPath.
//----- 06.05.12 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::LoadConverter
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDgPiBfLiDfOjGhLjBmMiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iKnGjAjEiCkKjAkMiMpHiClFiClNiPoKiNiHiCmN_xHqqkZx_ S_OK_xZkqqHx_iBeBiOlIjEhDiCmIiCoHiCmO_xHqqkZx_ E_FAIL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLjFmPiKlHiCpAiNhDiCkEiDhGiDiJiDePiDeDiDjDiCmFjHjIjHhAiBeC_xHqqkZx_
 *			IMpgFileConv::RegisterConvertInfo_xZkqqHx_iCmFjFmPiKlHiPoOjFpBiCpAjDgPjIfOiClFiClN_xHqqkZx_
 *			_xZkqqHx_iDhGiDiJiDePiDeDiDjDiCmNiBeBiDhEiDeAiDeDiDiLjFmPiKlHiCpAiKeKiOgOiClHiCoJiNnLiCmJ_xHqqkZx_DynamicDraw_xZkqqHx_iCkJiCoH_xHqqkZx_
 *			_xZkqqHx_iClBiCmMiKnGjAjEiCkKiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iClBiCmMiKnGjAjEiCmFiBeBiDhEiDeAiDeDiDiLjFmPiKlH_xHqqkZx_DLL_xZkqqHx_iCmMjGhLjBmMiCpAjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.05.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
HRESULT CA0::LoadConverter ()
{
	if (m_hConvModule == NULL)
	//----- _xZkqqHx_iCnMiClOiDfCiDjDiDgPiBfLiDfOiBfLiCkKiDiNiBfLiDgIiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
		// DLL_xZkqqHx_iDiCiDfHiDiFiBfLiDiLiCmMiDgGiDeCiDiMiDeOiDgHiDiKjGlMiCpAiOoGjDlOiBeC_xHqqkZx_
		_TCHAR tcaDllPath[_MAX_PATH];
		FMpgGetModule()->GetModuleDirPath(tcaDllPath, _MAX_PATH);
		// _xZkqqHx_iDfEiDhFiDiCiDfHiDiFiBfLiDiLiCpAiDiNiBfLiDgIiBeC_xHqqkZx_
		_tcscat(tcaDllPath, _T("StcCoreToCore2.dll"));
		m_hConvModule = GetUtilMiscI()->LoadLibrary(TStrToWStr(tcaDllPath));
		if (m_hConvModule == NULL) return E_FAIL;
		// _xZkqqHx_iDiNiBfLiDgIiClFiClNiDfCiDjDiDgPiBfLiDfOiBfL_xHqqkZx_DLL_xZkqqHx_iCpAiPiJiKpKiJlLiBeC_xHqqkZx_Dynamic Draw_xZkqqHx_iCmMiDeDiDjDiDfOiDhEiDeGiBfLiDfIiCpAjDgOiClHiBeC_xHqqkZx_
		FuncMolipInitialize pFuncMolipInitialize = (FuncMolipInitialize)GetProcAddress(m_hConvModule, "DllMolipInitialize");
		(*pFuncMolipInitialize)(FMpgGetModule()->GetFuncAllocate(),
								FMpgGetModule()->GetFuncFree(),
								FMpgGetModule()->GetMolipBaseI());
	}
	return S_OK;
} // CA0::LoadConverter.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::FreeConverter
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDgPiBfLiDfOjGhLjBmMiCpAiJpAjFpKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iKnGjAjEiCkKjAkMiMpHiClFiClNiPoKiNiHiCmN_xHqqkZx_ S_OK_xZkqqHx_iBeBiOlIjEhDiCmIiCoHiCmO_xHqqkZx_ E_FAIL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLjFmPiKlHiCpAiNhDiCkEiDhGiDiJiDePiDeDiDjDiCmFjHjIjHhAiBeC_xHqqkZx_
 *			IMpgFileConv::RegisterConvertInfo_xZkqqHx_iCmFjFmPiKlHiPoOjFpBiCpAjDgPjIfOiClFiClN_xHqqkZx_
 *			_xZkqqHx_iDhGiDiJiDePiDeDiDjDiCmNiBeBiDhEiDeAiDeDiDiLjFmPiKlHiCkKiPeJjHlJiClFiClNiNnLiCmJ_xHqqkZx_DynamicDraw_xZkqqHx_iCkJiCoH_xHqqkZx_
 *			_xZkqqHx_iClBiCmMiKnGjAjEiCkKiOmAiNhDiClDiCoKiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_iClBiCmMiKnGjAjEiCmFiBeBiDhEiDeAiDeDiDiLjFmPiKlH_xHqqkZx_DLL_xZkqqHx_iCmMjGhLjBmMiCpAiJpAjFpKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.05.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
HRESULT CA0::FreeConverter ()
{
	if (m_hConvModule != NULL)
	//----- _xZkqqHx_iCnMiClOiDfCiDjDiDgPiBfLiDfOiBfLiCkKiJpAjFpKiClDiCoKiCmEiCkCiCmIiCkCiPoKiNiH_xHqqkZx_ -----
	{
		// _xZkqqHx_iDiNiBfLiDgIiClFiClNiDfCiDjDiDgPiBfLiDfOiBfL_xHqqkZx_DLL_xZkqqHx_iCpAiPeJjHlJiBeC_xHqqkZx_
		FuncMolipTerminate pFuncMolipTerminate = (FuncMolipTerminate)GetProcAddress(m_hConvModule, "DllMolipTerminate");
		(*pFuncMolipTerminate)();
		GetUtilMiscI()->FreeLibrary(m_hConvModule);
		m_hConvModule = NULL;
	}
	return S_OK;
} // CA0::FreeConverter.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::AnalyzeVersion
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiCmMiDhEiDeAiDeDiDiLiCmMiDgPiBfLiDfHiDiHiDjDiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wstrVersion	:_xZkqqHx_iDgPiBfLiDfHiDiHiDjDiCpAjFnEiClHiBeC_xHqqkZx_
 *			wcpFilePath	:_xZkqqHx_jClCiCnHiCoJiDhEiDeAiDeDiDiLiCmMiDhEiDeAiDeDiDiLjGlMiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDgPiBfLiDfHiDiHiDjDiCkKjElLjGlOiClFiClNiPoKiNiHiCmN_xHqqkZx_ S_OK_xZkqqHx_iBeBjFhDjGlOiCmMiPoKiNiHiCmN_xHqqkZx_ S_FALSE_xZkqqHx_iBeC_xHqqkZx_
 *			_xZkqqHx_iKnGjAjEiCkKiOlIjEhDiCmIiCoHiCmO_xHqqkZx_ E_FAIL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.05.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
HRESULT CA0::AnalyzeVersion (WString& wstrVersion, const wchar_t* wcpFilePath)
{
	// _xZkqqHx_jFmPiKlHiCmNiBeBiDfEiDhFiDiCiDfHiDiFiBfLiDiL_xHqqkZx_DLL_xZkqqHx_iCmJiOmAiNhDiClDiClJiCoJiBeC_xHqqkZx_
	FuncAnalyzeVersion funcAnalyzeVersion = (FuncAnalyzeVersion)GetProcAddress(m_hConvModule, "DllAnalyzeVersion");
	return (*funcAnalyzeVersion)(wstrVersion, wcpFilePath);
} // CA0::AnalyzeVersion.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::DoConvert
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiMgAiOkOiCpAjFmPiKlHiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	wcpTypeFrom		:_xZkqqHx_jFmPiKlHiMlDiDfOiDeDiDhGiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_jHoBiBeG_xHqqkZx_"*fcore" "C:\doc\a.mdrw"
 *			wcpVersionFrom	:_xZkqqHx_jFmPiKlHiMlDiDgPiBfLiDfHiDiHiDjDiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_jHoBiBeG_xHqqkZx_"2.0" "3.0"
 *			pStorageFrom	:_xZkqqHx_jFmPiKlHiMlDiCmMiDhEiDeAiDeDiDiLiBeBiIlNiCkCiCmNiDfIiDgHiDiMiBfLiDfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 wcpTypeFrom_xZkqqHx_iCmJ_xHqqkZx_ _xZkqqHx_jFkBiNiHiDfCiDeB_xHqqkZx_ "*ccore" _xZkqqHx_iCkKiOhHjCoIiClDiCoKiCmE_xHqqkZx_
 *							 _xZkqqHx_iCkCiCoJiPoKiNiHiCmNiBeB_xHqqkZx_LPSTORAGE_xZkqqHx_iMfOiCmMiDfIiDgHiDiMiBfLiDfHiBeC_xHqqkZx_
 *							 wcpTypeFrom_xZkqqHx_iCmJ_xHqqkZx_ _xZkqqHx_iDhEiDiJiDgCiDgHiDfCiDeB_xHqqkZx_ "*fcore" "*xcore" _xZkqqHx_iCkK_xHqqkZx_
 *							 _xZkqqHx_iOhHjCoIiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeB_xHqqkZx_MfcFile*_xZkqqHx_iMfOiCmMiDhEiDeAiDeDiDiLiBeC_xHqqkZx_
 *							 _xZkqqHx_iClLiCoKiImIiKePiCmMiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iBeC_xHqqkZx_
 *			wcpTypeTo		:_xZkqqHx_jFmPiKlHjAoGiDfOiDeDiDhGiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_jHoBiBeG_xHqqkZx_"*fcore" "*fcore2" "C:\doc\a.mdrw"
 *			wcpVersionTo	:_xZkqqHx_jFmPiKlHjAoGiDgPiBfLiDfHiDiHiDjDiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_jHoBiBeG_xHqqkZx_"2.0" "3.0"
 *			pStorageTo		:_xZkqqHx_jFmPiKlHjAoGiCmMiDhEiDeAiDeDiDiLiBeBiIlNiCkCiCmNiDfIiDgHiDiMiBfLiDfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 wcpTypeTo_xZkqqHx_iCmJ_xHqqkZx_ _xZkqqHx_jFkBiNiHiDfCiDeB_xHqqkZx_ "*ccore" _xZkqqHx_iCkKiOhHjCoIiClDiCoKiCmE_xHqqkZx_
 *							 _xZkqqHx_iCkCiCoJiPoKiNiHiCmNiBeB_xHqqkZx_LPSTORAGE_xZkqqHx_iMfOiCmMiDfIiDgHiDiMiBfLiDfHiBeC_xHqqkZx_
 *							 wcpTypeTo_xZkqqHx_iCmJ_xHqqkZx_ _xZkqqHx_iDhEiDiJiDgCiDgHiDfCiDeB_xHqqkZx_ "*fcore" "*xcore" _xZkqqHx_iCkK_xHqqkZx_
 *							 _xZkqqHx_iOhHjCoIiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiBeB_xHqqkZx_MfcFile*_xZkqqHx_iMfOiCmMiDhEiDeAiDeDiDiLiBeC_xHqqkZx_
 *							 _xZkqqHx_iClLiCoKiImIiKePiCmMiPoKiNiHiCmN_xHqqkZx_NULL_xZkqqHx_iBeC_xHqqkZx_
 *			pImageData		:_xZkqqHx_iPjBiCkLiPgPiClHiDhEiDeAiDeDiDiLiCmMiDeDiDiBiBfLiDfHiCpAiOhHjCoIiBeC_xHqqkZx_
 *							 _xZkqqHx_iDgGiDhEiDeIiDiLiDgHiBgJiCkJiCoHiDeDiDiBiBfLiDfHiBgKiCmMiPoKiNiHiCmN_xHqqkZx_ NULL_xZkqqHx_iBeC_xHqqkZx_
 *			lImageSize		:pImageData_xZkqqHx_iCmMiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
 *			szImage			:_xZkqqHx_iDeDiDiBiBfLiDfHiDfEiDeDiDfJiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iClBiCmMiDeJiDhFiDfHiDeGiDeOiDgHiCmMiDfCiDjDiDgPiBfLiDfOiCkKiDfEiDhMiBfLiDgHiClFiCmEiCkCiCoJjFmPiKlHiCmM_xHqqkZx_
 *			_xZkqqHx_jFmPiKlHiMlD_xHqqkZx_/_xZkqqHx_jFmPiKlHjAoGiCpAiOhHjCoIiClHiCoJiBeC_xHqqkZx_
 *			FMfcFileConvManager::DoConvert_xZkqqHx_iCmFiCmNiBeBiClBiCmMjFmPiKlHiCpAjFkBjAjEiJpB_xHqqkZx_
 *			_xZkqqHx_iMeKiCoIjFnEiClFiCmEiPiKjCoIiCmMiDhEiDeIiBfLiDhNiDgCiDgHiCpAjDlOiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jCiNiInD_xHqqkZx_>	_xZkqqHx_jFmPiKlHiCmJiOlIjEhDiClFiClNiPoKiNiHiCmNiBeBiCkJiCmIiCoHiClI_xHqqkZx_IMpgUtilErr::ThrowXXX_xZkqqHx_iCmF_xHqqkZx_
 *			_xZkqqHx_jHoBiKePiCpAjEkNjAlGiClDiClJiCoJiClBiCmGiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDhEiDeAiDeDiDiLiBhF_xHqqkZx_MMM Ver1.0_xZkqqHx_iMgAiOkOiBhGiCkJiCoHjFmPiKlHiCmMiPoKiNiH_xHqqkZx_
 *			wcpTypeFrom = "C:\Doc\ABC.MMM"
 *			wcpVersionFrom	= "1.0"
 *			_xZkqqHx_iDeBiBfLiDeKiDeDiDhFiBhF_xHqqkZx_fcore Ver2.0 _xZkqqHx_iMgAiOkOiBhGiCkJiCoHjFmPiKlHiCmMiPoKiNiH_xHqqkZx_
 *			wcpTypeFrom = "*fcore"
 *			wcpVersionFrom	= "2.0"
 *
 *			_xZkqqHx_jFmPiKlHjAoGiCmJ_xHqqkZx_"*fcore"_xZkqqHx_iCpAiOhHjCoIiClHiCoJiPoKiNiHiBeBiDhHiDgCiDfPiCmJiLeMjIfOiClDiCoKiCoJjFlGiPjBiDhEiDeIiBfLiDhNiDgCiDgH_xHqqkZx_
 *			_xZkqqHx_iCpAjAjEjCgMiCmGiClFiCmEjCmHiJmBiCmFiCkLiCoJiBeCjAjEjCgMiCpAjCmHiJmBiClFiCmIiCkCiPoKiNiHiCmNiBeBjFmPiKlHiMlDiCmMiDgGiBfLiDfOiCmJ_xHqqkZx_
 *			_xZkqqHx_iKoOiCmDiCkCiCmEjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *			_xZkqqHx_jHoBiBeG_xHqqkZx_
 *			FD_DTP_PORTABLE_FORMAT_xZkqqHx_iCmMiPoKiNiHiCmN_xHqqkZx_ "*fcore2"
 *			FD_DTP_TEMPLATE_FORMAT_xZkqqHx_iCmMiPoKiNiHiCmN_xHqqkZx_ "*fcore3"
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.05.26 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void CA0::DoConvert (	const wchar_t* wcpTypeFrom,
						const wchar_t* wcpVersionFrom,
						void* pStorageFrom,
						const wchar_t* wcpTypeTo,
						const wchar_t* wcpVersionTo,
						void* pStorageTo,
						const BYTE* pImageData,
						long lImageSize,
						const MfcSize& szImage)
{
	// _xZkqqHx_jFmPiKlHiCmNiBeBiDfEiDhFiDiCiDfHiDiFiBfLiDiL_xHqqkZx_DLL_xZkqqHx_iCmJiOmAiNhDiClDiClJiCoJiBeC_xHqqkZx_
	FuncDoConvert funcDoConvert = (FuncDoConvert)GetProcAddress(m_hConvModule, "DllDoConvert");
	(*funcDoConvert)(	wcpTypeFrom,
						wcpVersionFrom,
						pStorageFrom,
						wcpTypeTo,
						wcpVersionTo,
						pStorageTo,
						pImageData,
						lImageSize,
						szImage);
} // CA0::DoConvert.

/////////////////////////////////////////////////////////////////////////////////

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::CA0
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeCiDeKiDeFiDjDiDfOiCpAiJmBiOfKiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CA0::CA0 ()
	: m_hConvModule(NULL)
{
} // CA0::CA0.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	CA0::~CA0
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDfIiDgHiDiJiDeOiDfOiBeCiDeKiDeFiDjDiDfOiCpAiMlIiOfKiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.10 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
CA0::~CA0 ()
{
	// _xZkqqHx_iDfCiDjDiDgPiBfLiDfOiBfLiCkKiDiNiBfLiDgIiClDiCoKiCmEiCkCiCoJiPoKiNiHiCmNiJpAjFpKiBeC_xHqqkZx_
	FreeConverter();
} // CA0::~CA0.

