LoadLibraryを使ってプラグインシステムを開発したい。
私の問題は次のとおりです。関数にaを取り、をconst char*
取りLoadLibrary
たいLPCTSTR
。
私は、モジュールが見つからないというエラーを出し続け たという素晴らしいアイデアを思いつきました。
現在のコードは以下の通りです。行のコメントを外すと、正常に機能します。MFCを使用してソリューションを読みましたが、MFCを使用したくありません。(LPCSTR)path
widepath = L..
現在のコード:
bool PluginLoader::Load(char *path)
{
path = "Release\\ExamplePlugin.dll";
LPCTSTR widepath = (LPCTSTR)path;
//widepath = L"Release\\ExamplePlugin.dll";
HMODULE handle = LoadLibrary(widepath);
if (handle == 0)
{
printf("Path: %s\n",widepath );
printf("Error code: %d\n", GetLastError());
return false;
}
int (*load_callback)() = (int (*)()) GetProcAddress(handle, "_plugin_start@0");
if (load_callback == 0)
{
return false;
}
return load_callback() == LOAD_SUCCESS;
}