で迷子に私は機能LoadLibraryEx:パラメータが64ビット
int CShellWrapperx64Module:function(wchar_t* file, VARIANT &htmlFile, wchar_t* path) {
VariantInit(&htmlFile);
htmlFile.vt = VT_BSTR;
htmlFile.bstrVal = ::SysAllocString(L"");
return 0;
}
と
関数を呼び出し、64ビット、DLLとして実装されて__cdecl int (*function)(IN wchar_t* file, OUT VARIANT &htmlFile, IN wchar_t* path);
をエクスポートする64ビット-DLLを持っています
function pfunction = (function)GetProcAddress(hMod, MAKEINTRESOURCEA(0x0001));
TCHAR m_file[MAX_PATH];
VARIANT vhtml;
VariantInit(&vhtml);
pfunction(m_file, vhtml, path);
32ビットモードでは、関数呼び出しは成功しますが、64ビットモードでは関数エントリポイントに達しますが、パラメータar無効ですか?私は何ができますか? x64ので
これは、コードサンプルに含まれておらず、あなたの 'GetProcAddress'呼び出しが成功したとすれば' LoadLibraryEx'と正確に何が関係していますか? – Necrolis
x64に__cdeclがないという事実に関連しているかもしれませんか? – hamstergene