GOGO.DLL バージョン取得サンプル

 

1.プログラムを開始するにあたって

本サンプルはVisualC++6.0 + SP3 及び Borland C++ Builder 用に書かれたものです。
他のバージョンでの動作確認は行っておりません。

2.最低必須の知識

サンプルプログラムをお読みいただく上で、最低限の知識が最低限必要となります。

3.サンプルソース getver.cpp getver.exe


/*
 *  DLLを読み込み、バージョンコードを取得するサンプル
 */
/*
 *	for GOGO-no-coda (1999.11.09)
 *	Copyright (C) 1999 PEN@MarineCat
 */
#include <stdio.h>
#include <stdlib.h>
#include "musenc.h"

typedef MERET (*me_getver)( unsigned long *vercode,  char *verstring );
static	me_getver	mpge_getver;

int
main()
{
	// GOGO.DLLを読み込む
	HINSTANCE	hModule = LoadLibrary("gogo.dll");
	if( hModule == NULL ){
		printf( "DLLの読み込みを失敗しました。\n"
				"DLLをEXEファイルと同じディレクトリへ複写してください\n");
		return -1;
	}

	// Version取得関数のエクスポートを取得する
	mpge_getver = (me_getver)GetProcAddress( hModule, "MPGE_getVersion" );
	if( mpge_getver == NULL ){
		// DLLのエクスポートが取得できなかった場合
		printf("午後DLLが正しくありません\n");
	} else {
		unsigned long	vercode;
		char			strbuf[260];
		if( mpge_getver( &vercode, strbuf ) != ME_NOERR ){
			// エラーが発生した
			printf("DLLよりエラーが帰ってきました\n");
		} else {
			// 表示
			printf(" VerCode   : 0x%04x\n VerString : %s\n", vercode, strbuf );
		}
	}

	// 使用後は必ず開放してください
	FreeLibrary( hModule );
	return 0;
}