Я пытаюсь прочитать данные с картридера c magneti, его модель MT188. Устройство чтения карт поставляется с DLL и do c для функций в DLL. процесс чтения карты выглядит следующим образом.
HANDLE APIENTRY CommOpenWithBaut(UINT nPort, UINT _data)
открыть серийный пример связи: CommOpenWithBaut (1,9600);.
int APIENTRY CarderCheckSt(HANDLE hComHandle, unsigned char &PewSt, unsigned char &CardType, unsigned char &CardSt, unsigned char &PowerSt)
проверить состояние устройства.
int APIENTRY MagRead(HANDLE hComHandle,BYTE *MagData,int &lenth)
чтение данных карточки Magneti c
int APIENTRY CommClose(HANDLE hComHandle);
Закрыть порт после чтения карты.
Каждая функция имеет возвращаемое значение. Это пример cout<<Magread<<endl;
, который дает значение 00007FF792E41258
. Что я делаю неправильно? Как я могу использовать эти функции правильно?
вот мой основной.
int main(int arg, char* argc[])
{
CommOpenWithBaut(1,9600);
cout<< "This is the cards data: " << MagRead << endl;
cout << "This is the cards status: " << CarderCheckSt << endl;
CommClose;
}
обновления:
Я получаю эту ошибку при попытке запустить программу:
LNK2019 unresolved external symbol "__declspec(dllimport) void * __cdecl CommOpenWithBaut(unsigned int,unsigned int)" (__imp_?CommOpenWithBaut@@YAPEAXII@Z) referenced in function main
Это мой заголовочный файл:
#include <iostream>
#include <windows.h>
#ifdef Modulev188_EXPORTS
#define Modulev188_API __declspec(dllexport)
#else
#define Modulev188_API __declspec(dllimport)
#endif
Modulev188_API HANDLE CommOpenWithBaut(UINT nPort, UINT _data);
Modulev188_API int CommClose(HANDLE hComHandle);
Modulev188_API int CarderCheckSt(HANDLE hComHandle, unsigned char& PewSt, unsigned char& CardType, unsigned char& CardSt, unsigned char& PowerSt);
Modulev188_API int CarderVersion(HANDLE hComHandle, unsigned char* VersionNo, int& lenth);
//DLLEXPORT int WINAPI ContactCPU_ColdReset(HANDLE hComHandle, BYTE* _CPUTYPE, BYTE* _exData, int* _exdataLen);
//DLLEXPORT int WINAPI ContactCPU_Dormancy(HANDLE hComHandle);
Modulev188_API int ContactCPU_CAPDU(HANDLE hComHandle, int _dataLen, BYTE* _APDUData, BYTE* _exData, int* _exdataLen);
Modulev188_API int SIM_Reset(HANDLE hComHandle, BYTE _VOLTAGE, BYTE _SIMNo, BYTE& _SIMTYPE, BYTE* _exData, int& _exdataLen);
Modulev188_API int SIM_C_APDU(HANDLE hComHandle, BYTE SIMNo, int _dataLen, BYTE* _APDUData, BYTE* _exData, int& _exdataLen);
Modulev188_API int SIM_CardClose(HANDLE hComHandle);
Modulev188_API int MagRead(HANDLE hComHandle, BYTE* MagData, int& lenth);
Modulev188_API int MagCleaner(HANDLE hComHandle);