daveGetBlockInfo => VB.Net

Fliegertiger

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich vermisse der Funktion 'daveGetBlockInfo' in der libnodave.net.dll mit der ich die Länge eines DB´s bestimmen kann.

Im C-Quellcode ist diese Funktion implementiert:

Code:
[SIZE=2][COLOR=#0000ff]
int[/COLOR][/SIZE][SIZE=2] DECL2 daveGetBlockInfo(daveConnection * dc, daveBlockInfo *dbi, uc type, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] number)
{
[/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] res;
uc pa[]={0,1,18,4,17,67,3,0}; [/SIZE][SIZE=2][COLOR=#008000]/* param */
[/COLOR][/SIZE][SIZE=2]uc da[]={[/SIZE][SIZE=2][COLOR=#a31515]'0'[/COLOR][/SIZE][SIZE=2],0,[/SIZE][SIZE=2][COLOR=#a31515]'0'[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#a31515]'0'[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#a31515]'0'[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#a31515]'1'[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#a31515]'0'[/COLOR][/SIZE][SIZE=2],[/SIZE][SIZE=2][COLOR=#a31515]'A'[/COLOR][/SIZE][SIZE=2]};
PDU p2;
sprintf(([/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2]*)(da+2),[/SIZE][SIZE=2][COLOR=#a31515]"%05d"[/COLOR][/SIZE][SIZE=2],number);
da[1]=type;
da[7]=[/SIZE][SIZE=2][COLOR=#a31515]'A'[/COLOR][/SIZE][SIZE=2];
res=daveBuildAndSendPDU(dc, &p2,pa, [/SIZE][SIZE=2][COLOR=#0000ff]sizeof[/COLOR][/SIZE][SIZE=2](pa), da, [/SIZE][SIZE=2][COLOR=#0000ff]sizeof[/COLOR][/SIZE][SIZE=2](da)); 
[/SIZE][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2] ((dbi!=NULL) && (p2.udlen==[/SIZE][SIZE=2][COLOR=#0000ff]sizeof[/COLOR][/SIZE][SIZE=2](daveBlockInfo))) {
memcpy(dbi, p2.udata, p2.udlen);
dbi->number=daveSwapIed_16(dbi->number);
dbi->length=daveSwapIed_16(dbi->length);
}
[/SIZE][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][SIZE=2] res; 
[/SIZE]

Frage: Was muß ich tun um diese Funktion mittels DLLImport unter VB.Net zu nutzen, bzw. wie sehen die Übergabeparameter hierfür aus?


Gruß Fliegertiger
 
Wieso machst du denn dafür noch einen Thread auf? :confused:
Na, immerhin hast du ja die Definition in C parat, hast du schon versucht, das ganze in die cs-Datei (entsprechend angepaßt) einzubauen? Das wäre zumindest der Weg, den ich zuerst mal einschlagen würde. Aus der cs-Datei kann man sich ja mal eine ähnliche Definition hernehmen, dann die Implementation im C-Code nachschauen und das, auf die von dir gewünschte, übertragen.
 
Zurück
Oben