Staram się napisać kod, który wyświetli wstępną enumeracje istniejących urządzeń USB, a właściwie zrozumieć jak działa pisząc w oparciu o książkę.
#include <iostream>
#include<windows.h>
#include<Setupapi.h>
using namespace std;
HMODULE hHidLib;
HDEVINFO deviceInfoSet;
GUID ClassGuid;
SP_DEVINFO_DATA deviceInfoData;
int main()
{
hHidLib = LoadLibrary("C:\\Windows\\system32\\HID.DLL");
if(!hHidLib){cout<<"Blad 1"<<endl; return 0;}
void (__stdcall *HidD_GetHidGuid)(OUT LPGUID HidGuid);
(FARPROC&) HidD_GetHidGuid = GetProcAddress(hHidLib,"HidD_GetHidGuid");
HidD_GetHidGuid(&ClassGuid);
deviceInfoSet = SetupDiGetClassDevs(&ClassGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE);
if(deviceInfoSet==INVALID_HANDLE_VALUE){cout<<"Błąd 2"; return 0;}
return 0;
}
Niestety przy próbie kompilacji zwraca "undefined reference to _imp__SetupDiGetClassDevsA@16"
Korzystam z programu CodeBlocks. Szukałem w google, ale nic konkretnego nie znalazłem. Jedynie, że może to być wina kompilatora, ale w Dev C++ też się nie kompiluje.