Эй, я надеюсь, что кто-то может сказать мне, что я знаю, чтобы решить эту проблему, у меня есть, я продолжаю получать ошибку 2019 от Visual Studio для следующего файла. Теперь большинство функций были удалены, так что извините за пустые переменные и т. Д.
Ошибка Ошибка LNK2019: неразрешенный внешний символ «недействительным * __cdecl OpenOneDevice (пустота *, структура _SP_DEVICE_INTERFACE_DATA *, символ *)» (? OpenOneDevice @@ YAPAXPAXPAU_SP_DEVICE_INTERFACE_DATA @@ PAD @ Z) ссылается функция _wmain C: \ Users \ K \ документы \ визуальный студия 2010 \ Projects \ test2 \ test2 \ test2.obj test2
#include "stdafx.h"#include <windows.h>
#include <setupapi.h>
SP_DEVICE_INTERFACE_DATA deviceInfoData;
HDEVINFO hwDeviceInfo;
HANDLE hOut;
char *devName;
//
HANDLE OpenOneDevice(IN HDEVINFO hwDeviceInfo,IN PSP_DEVICE_INTERFACE_DATA DeviceInfoData,IN char *devName);
//
HANDLE OpenOneDevice(IN HDEVINFO HardwareDeviceInfo,IN PSP_DEVICE_INTERFACE_DATA DeviceInfoData,IN char *devName) {
PSP_DEVICE_INTERFACE_DETAIL_DATA functionClassDeviceData = NULL;
ULONG predictedLength = 0, requiredLength = 0;
HANDLE hOut = INVALID_HANDLE_VALUE;
SetupDiGetDeviceInterfaceDetail(HardwareDeviceInfo, DeviceInfoData, NULL, 0, &requiredLength, NULL);
predictedLength = requiredLength;
functionClassDeviceData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(predictedLength);
if(NULL == functionClassDeviceData) {
return hOut;
}
functionClassDeviceData->cbSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA);
if (!SetupDiGetDeviceInterfaceDetail(HardwareDeviceInfo, DeviceInfoData, functionClassDeviceData,
predictedLength, &requiredLength, NULL)) {
free( functionClassDeviceData );
return hOut;
}
//strcpy(devName,functionClassDeviceData->DevicePath) ;
hOut = CreateFile(functionClassDeviceData->DevicePath, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
free(functionClassDeviceData);
return hOut;
}//
int _tmain(int argc, _TCHAR* argv[])
{hOut = OpenOneDevice (hwDeviceInfo, &deviceInfoData, devName);
if(hOut != INVALID_HANDLE_VALUE)
{
// error report
}
return 0;
}
Несколько часов сводил меня с ума. Любая помощь приветствуется.
РЕШЕНО СПАСИБО КРИСУ 🙂
Добавьте комментарий #pragma (lib, «Setupapi.lib»)
Спасибо
Задача ещё не решена.
Других решений пока нет …