У меня есть 64-битная DLL, которая экспортирует функцию
__cdecl int (*function)(IN wchar_t* file, OUT VARIANT &htmlFile, IN wchar_t* path);
, которая реализована как
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, которая вызывает функцию
function pfunction = (function)GetProcAddress(hMod, MAKEINTRESOURCEA(0x0001));
TCHAR m_file[MAX_PATH];
VARIANT vhtml;
VariantInit(&vhtml);
pfunction(m_file, vhtml, path);
В 32-битном режиме вызов функции завершается успешно, но в 64-битном режиме точка входа в функцию достигнута, но параметры недействительны?Что я мог сделать?