|
// SavetoJPEG用
typedef WORD (__stdcall *LPFUNC_1)
(
LPCTSTR bmpf,
LPCTSTR jpgf,
BYTE Value,
short Prgrs
);
#define TARGET_DLL "SaveJPG.dll"
STDMETHODIMP CMyAPI::SavetoJPEG(
BSTR bmpf,
BSTR jpgf,
short Value,
BOOL Prgrs,
short *pVal
)
{
HINSTANCE lib;
// *******************************************
// DLL ロード
// *******************************************
lib = LoadLibrary( TARGET_DLL );
if ( lib == NULL ) {
*pVal = -1;
return S_OK;
}
LPFUNC_1 SavetoJPEG;
// *******************************************
// 関数アドレスのロード
// *******************************************
SavetoJPEG = (LPFUNC_1)GetProcAddress( lib, "SavetoJPEG" );
if ( SavetoJPEG == NULL ) {
FreeLibrary( lib );
*pVal = -2;
return S_OK;
}
// *******************************************
// 実行
// *******************************************
WORD wRet;
_bstr_t Bitmap(bmpf);
_bstr_t Jpeg(jpgf);
BYTE nRate;
nRate = (BYTE)Value;
wRet = SavetoJPEG( (LPTSTR)Bitmap, (LPTSTR)Jpeg, nRate, Prgrs );
// *******************************************
// DLL 解放
// *******************************************
FreeLibrary( lib );
*pVal = (short)wRet;
return S_OK;
}
| |