From: Antonio on 20 Feb 2007 12:26 As I can call this function that is found in a DLL : Response = SCardComand (Handle,Cmd, CmdLen,DataIn, DataInLen,DataOut, DataOutLen); LPINT Handle /* Zeiger auf einen 32 Bit signed integer */ LPSTR Cmd /* Zeiger auf einen null terminierten String */ LPINT CmdLen /* Zeiger auf einen 32 Bit signed integer */ LPSTR DataIn /* Zeiger auf ein array of byte oder einen String */ LPINT DataInLen /* Zeiger auf einen 32 Bit signed integer */ LPSTR DataOut /* Zeiger auf ein array of byte oder einen String */ LPINT DataOutLen /* Zeiger auf einen 32 Bit signed integer */ INT Response /* 32 Bit signed integer */ C code typedef DWORD (__stdcall *SCardCmd)(LPDWORD Handle, LPCSTR Cmd, LPINT CmdLen, LPCSTR DataIn, LPINT DataInLen, LPCSTR DataOut, LPINT DataOutLen); (...) SCardCmd pSCardCommand = NULL; HANDLE hScardDLL = LoadLibrary("SCARD32.DLL"); if (hSCardDLL) pSCardCommand = (SCardCmd)GetProcAddress(hScardDLL, "SCardComand"); from code VO Thanks for the help
From: Juergen on 20 Feb 2007 12:51 On 20 Feb., 18:26, "Antonio" <adebl...(a)inwind.it> wrote: > As I can call this function that is found in a DLL : > > Response = SCardComand (Handle,Cmd, CmdLen,DataIn, DataInLen,DataOut, > DataOutLen); > > LPINT Handle /* Zeiger auf einen 32 Bit signed integer */ > LPSTR Cmd /* Zeiger auf einen null terminierten String */ > LPINT CmdLen /* Zeiger auf einen 32 Bit signed integer */ > LPSTR DataIn /* Zeiger auf ein array of byte oder einen String */ > LPINT DataInLen /* Zeiger auf einen 32 Bit signed integer */ > LPSTR DataOut /* Zeiger auf ein array of byte oder einen String */ > LPINT DataOutLen /* Zeiger auf einen 32 Bit signed integer */ > INT Response /* 32 Bit signed integer */ > > C code > > typedef DWORD (__stdcall *SCardCmd)(LPDWORD Handle, > > LPCSTR Cmd, LPINT CmdLen, > > LPCSTR DataIn, LPINT DataInLen, > > LPCSTR DataOut, LPINT DataOutLen); > > (...) > > SCardCmd pSCardCommand = NULL; > > HANDLE hScardDLL = LoadLibrary("SCARD32.DLL"); > > if (hSCardDLL) > > pSCardCommand = (SCardCmd)GetProcAddress(hScardDLL, "SCardComand"); > > from code VO > > Thanks for the help And what exactly ist your question ? (The DLL you describe is from a Towitoko ChipCard-Reader/Writer we use for about 5 years) We declare the "SCardComand" Function as followed and it works fine. _DLL FUNCTION SCardComand (whandle AS PTR,; Cmd AS PTR, CmdLen AS PTR,; DataIn AS PTR, DataInLen AS PTR,; DataOut AS PTR, DataOutLen AS PTR); AS DWORD PASCAL:Scard32.SCardComand Jürgen
From: Antonio on 20 Feb 2007 13:35 I have to verify the PIN code of a smart card besides SCARD32.DLL do they serve other dlls? Thanks Anthony
From: Juergen on 20 Feb 2007 14:11 On 20 Feb., 19:35, "Antonio" <adebl...(a)inwind.it> wrote: > I have to verify the PIN code of a smart card besides SCARD32.DLL > do they serve other dlls? > > Thanks Anthony Hi Anthony, may be it is in fact of my poor english, but i really don't know what your problem is. Towitoko-Readers/Writers are delivered with a hardware-driver. With that driver they work fine. The SCARD32.DLL contains the API Function to integrate the hardware into your Application. So why should the hardware support other dll's? The hardware reads or writes SmartCards, and you can control it with the API-Function, what more do you want? Jürgen
From: Malcolm Gray on 20 Feb 2007 15:21 Antonio wrote: > I have to verify the PIN code of a smart card besides SCARD32.DLL > do they serve other dlls? Do you mean you want to load the DLL dynamically and use getprocaddress because it might not be there?
|
Next
|
Last
Pages: 1 2 Prev: InnoSetup & Crystal Report & Sysbase SQL Anywhere Next: X-Debug : New free utility for VO |