Pokusavam napraviti aplikaciju koja cita podatke sa novih licnih karti da bih kasnije moglo da se implementira u neke druge programe. Sva upustva, header fajl , dll se nalaze na
http://www.mup.sr.gov.yu/domino/dokumenta.nsf/aplikacijalkl
Kompajlirao sam nejavlja gresku ali kad pokrenem program javlja mi neki error kao na slici u dodatku.
Jos par pitanja:
1. prototip funkcije EID_API int WINAPI EidStartup(int nApiVersion);
Argument nApiVersion tipa int predstavlja verziju apija cije se funkcije pozivaju, da li to znaci da je nApiVersion=1.01
2. prototip funkcije: EID_API int WINAPI EidBeginRead(LPCSTR szReader);
Argument szReader tipa LPCSTR koji treba da bude ime smart kard citaca koji se koristi.
Ja imam MSI StarReader 74-in-1 sta se tu smatra pod imenom citaca?
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <cmath>
#include <cstdlib>
#include "CelikApi.h"
#if defined DLL_EXPORT
#define DECLDIR __declspec(dllexport)
#else
#define DECLDIR __declspec(dllimport)
#endif
extern "C"
{
DECLDIR int EidStartup( int );
//DECLDIR void Function( void );
}
using namespace std;
typedef int (*EidStartupFunc)(int);
typedef int (*EidBeginReadFunc)(LPCSTR);
typedef int (*EidCleanupFunc)();
typedef int (*EidEndReadFunc)();
typedef PEID_DOCUMENT_DATA (*EidReadDocumentDataFunc)(PEID_DOCUMENT_DATA);
typedef PEID_FIXED_PERSONAL_DATA (*EidReadFixedPersonalDataFunc)(PEID_FIXED_PERSONAL_DATA);
typedef PEID_VARIABLE_PERSONAL_DATA (*EidReadVariablePersonalDataFunc)(PEID_VARIABLE_PERSONAL_DATA);
typedef PEID_PORTRAIT (*EidReadPortraitFunc)(PEID_PORTRAIT);
HINSTANCE hinetDLL;
int main()
{
EidStartupFunc _EidStartup;
EidBeginReadFunc _EidBeginRead;
EidCleanupFunc _EidCleanup;
EidEndReadFunc _EidEndRead;
EidReadDocumentDataFunc _EidReadDocumentData;
EidReadFixedPersonalDataFunc _EidReadFixedPersonalData;
EidReadVariablePersonalDataFunc _EidReadVariablePersonalData;
EidReadPortraitFunc _EidReadPortrait;
hinetDLL = LoadLibrary(TEXT("CelikApi.dll"));
_EidStartup = (EidStartupFunc)GetProcAddress(hinetDLL,"EidStartup()");
_EidBeginRead = (EidBeginReadFunc)GetProcAddress(hinetDLL,"EidBeginRead()");
_EidReadDocumentData = (EidReadDocumentDataFunc)GetProcAddress(hinetDLL,"EidReadDocumentData()");
_EidReadFixedPersonalData = (EidReadFixedPersonalDataFunc)GetProcAddress(hinetDLL,"EidReadFixedPersonalData()");
_EidReadVariablePersonalData = (EidReadVariablePersonalDataFunc)GetProcAddress(hinetDLL,"EidReadVariablePersonalData()");
_EidReadPortrait = (EidReadPortraitFunc)GetProcAddress(hinetDLL,"EidReadPortrait()");
_EidCleanup = (EidCleanupFunc)GetProcAddress(hinetDLL,"EidCleanup()");
_EidEndRead = (EidEndReadFunc)GetProcAddress(hinetDLL,"EidEndRead()");
cout << _EidStartup << endl;
cout << _EidBeginRead << endl;
cout << _EidEndRead << endl;
cout << _EidCleanup << endl;
system("PAUSE");
return 0;
FreeLibrary(hinetDLL);
}
[Ovu poruku je menjao miki78ns dana 13.08.2009. u 21:36 GMT+1]
[Ovu poruku je menjao miki78ns dana 13.08.2009. u 22:17 GMT+1]