64位版本的vspdctl.dll

时间:2015-12-16 14:33:42

标签: visual-studio dll 64-bit platform virtual-serial-port

我在VS2013上创建了一个应用程序,它利用vspdctl.dll创建虚拟串口对。此虚拟端口用于与PC上运行的其他应用程序通信。

使用Platform = win32配置编译/链接时,

.exe文件已成功创建,并且虚拟端口创建工作正常。 注意:我的机器是x64

当我更改platform = x64时,我的exe再次创建没有任何问题,但仍无法加载dll。它让我觉得vspdctl.dll是一个32位的库。

但我打算在代码中使用其他64位库,这也是我希望在64位应用程序中实现vspdctl.dll的原因。是否有任何64位版本的vspdctl.dll或如何在64位应用程序中实现32位dll。

任何帮助将不胜感激。 谢谢

这是我加载dll

的CreateVSPair函数的代码
char CreateVSPair(char *Port1, char *Port2) {
OSVERSIONINFO VersionInfo;
HINSTANCE libInst;
libInst = LoadLibrary(L"C:\\AK47 Data\\Softwares\\SP monitor\\vspdctl.dll");
if (!libInst)
{
    libInst = LoadLibrary(L"C:\Windows\SysWOW64\\vspdctl.dll");
    if (!libInst)
        return -10; /* Couldn't load library */
}
/* Substitute the typedefs above for functions other than CreatePairFn */
std::string s("CreatePair");
CreatePairFn CreatePair = (CreatePairFn)GetProcAddress(libInst, s.c_str());
if (CreatePair == 0) return -20; /* Couldn`t find function */
bool returnvalue = CreatePair(Port1, Port2); /* For example, Port1 = "COM5" and Port2 = "COM6" */
FreeLibrary(libInst);
return returnvalue;

};

1 个答案:

答案 0 :(得分:0)

有vspdctl64.dll可用,我之前没有注意到。