vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
DllImport 
Autor: Bernd_K
Datum: 09.04.04 18:16

Hallo,

ich hab hier ein kleines C Programm und würde es gerne nach VB.Net bringen. Hier das Programm:

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "ct_api.h"
#define MAXMEM 1000
HINSTANCE hDLL; CT_INIT CT_init; CT_DATA CT_data; CT_CLOSE CT_close;
int main(void)
{
unsigned char sad, dad; /* source/destination address,*/
/* als Byte deklariert */
unsigned char command[300]; /* Feld für Kommandotext mit max. 300 Zeichen Länge _
  */
unsigned char response [MAXMEM]; /* Feld für Antwort der Funktion hier: max _
1000 Zeichen */
unsigned short int ctn, lenr; /* card terminal number, Länge der Antwort */
char res; /* Funktions(rückgabe)wert */
ctn=1; /* Card Terminal 1*/
/* DLL laden und Funktionen zuweisen*/
hDLL = LoadLibrary("ctsct32.dll");
if (hDLL == NULL)
{
printf("Fehler");
 return (2); 
}/* falls DLL nicht geladen werden konnte, PRG beenden */
CT_init = (CT_INIT)GetProcAddress(hDLL,"CT_init");
 
CT_data = (CT_DATA)GetProcAddress(hDLL,"CT_data");
CT_close = (CT_CLOSE)GetProcAddress(hDLL,"CT_close");
/* logische Terminal-Nummer 1 und Port COM2 auswählen (herstellerabhängig!)*/
if (CT_init(1,1 ) != OK)
{
 
FreeLibrary(hDLL); /* DLL aus dem Speicher entfernen */
printf("fehler2");
return(1); /* falls Returncode von CT_init nicht OK, PRG beenden */
}
/* CT-Kommando REQUEST ICC (20 12 01 00 00 ) aufbauen und senden */
printf ("\nBitte Karte einlegen und eine Taste druecken!\n");
getch ();
sad=2; /* source = Host */
dad=1; /* destination = Card Terminal */
lenr=MAXMEM; /* maximale Länge der Antwort als Info an die Funktion */
command[0]=0x20; /* CLA */
command[1]=0x12; /* INS */
command[2]=0x01; /* P1 */
command[3]=0x00; /* P2 */
command[4]=0x00; /* Le */
/* Funktion (CT_data) aufrufen */
res=CT_data (ctn,&dad,&sad,5,command,&lenr,response);
/* Fehlerbehandlung hier nicht beschrieben */
/* ... */
/* nach Auswerfen der Karte mit CT-Kommando EJECT ICC */
printf("%s", res);
res=CT_close(ctn);
FreeLibrary (hDLL); /* DLL aus dem Speicher entfernen */
return(0);
}
die ct_api.h:
#define OK 0
#define ERR_INVALID -1
#define ERR_CT -8
#define ERR_TRANS -10
#define ERR_MEMORY -11
#define ERR_HOST -127
#define ERR_HTSI -128
typedef CHAR (WINAPI *CT_INIT) (USHORT, USHORT);
typedef CHAR (WINAPI *CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, _
  USHORT*, UCHAR*);
typedef CHAR (WINAPI *CT_CLOSE) (USHORT);
Kann mir das jmd in VB.NET bringen, oder zumindes erklären, wie ich die dll in VB.Net benutze?

Danke
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DllImport5.811Bernd_K09.04.04 18:16
Re: DllImport2.873ModeratorDaveS09.04.04 18:39
Re: DllImport3.536WaldiMaywood09.04.04 22:44
Re: DllImport2.400lkatsch21.01.05 12:05
Re: DllImport2.452ModeratorFZelle21.01.05 13:45
Re: DllImport2.276ModeratorDaveS21.01.05 14:06
Re: DllImport2.230ModeratorFZelle21.01.05 15:08
Re: DllImport2.198ModeratorDaveS21.01.05 15:10
Re: DllImport2.265lkatsch24.01.05 11:10
Re: DllImport2.121ModeratorDaveS24.01.05 11:14
Re: DllImport2.105ModeratorFZelle24.01.05 11:27
Re: DllImport 2.308ModeratorDaveS24.01.05 11:33
Re: DllImport 2.225ModeratorFZelle24.01.05 12:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel