64-битная версия vspdctl.dll

Я создаю приложение на VS2013, которое использует vspdctl.dll для создания виртуальной пары последовательных портов. Этот виртуальный порт используется для связи с другим приложением, запущенным на моем ПК.

.exe файл был успешно создан, когда я скомпилировал / связал, используя конфигурацию Platform=win32, и создание виртуального порта работает нормально. ПРИМЕЧАНИЕ: моя машина x64

Когда я меняю платформу =x64, мой exe создается снова без проблем, но остается не в состоянии загрузить DLL. Это дает мне ощущение, что vspdctl.dll является 32-битной библиотекой.

Но я намерен использовать другие 64-битные библиотеки в коде, поэтому я также хочу, чтобы vspdctl.dll был реализован в 64-битном приложении. Есть ли 64-битная версия vspdctl.dll или как я могу реализовать 32-битную DLL в 64-битном приложении.

Любая помощь будет принята с благодарностью. Спасибо

Вот мой код для загрузки функции CreateVSPair dll

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 ответ

Существует vspdctl64.dll, который я раньше не замечал.

Другие вопросы по тегам