明熊JPEG保存DLLを COM 化する


  機能を実装



  
// 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;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ