Вызов Win32 DLL из C ++
Я новичок в мире DLL. Мне дали Win32 DLL, которая имеет много функций. Нужно вызвать эти функции DLL из C ++
Я хочу позвонитьCreateNewScanner
который создает новый объект сканера и получает результаты в C ++. Функция, упомянутая в DLL:
BOOL CreateNewScanner(NewScanner *newScan);
а такжеNewScanner
этоstruct
как показано ниже,
// Structure NewScanner is defined in "common.h" .
typedef struct{
BYTE host_no; // <- host_no =0
LONG time; // <- command timeout (in seconds)
BYTE status; // -> Host adapter status
HANDLE obj; // -> Object handle for the scanner
}NewScanner;
Как я назову эту функцию? Начал с C ++ и вот что мне удалось,
#include <iostream>
#include <windows.h>
using namespace std;
int main(){
HINSTANCE hInstance;
if(!(hInstance=LoadLibrary("WinScanner.dll"))){
cout << "could not load library" << endl;
}
/* get pointer to the function in the dll*/
FARPROC handle = GetProcAddress(HMODULE(hInstance), "CreateNewScanner");
if(!handle){
// Handle the error
FreeLibrary(hInstance);
return "-1";
}else{
// Call the function
//How to call here??
}
}