Kann mir jemand beim Umschreiben von 2 Apifunktionen helfen?
Ich möchte:
Code:
Private Declare Function RasEnumConnections Lib "RasApi32.DLL" _
Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As _
Long, lpcConnections As Long) As Long
Private Declare Function RasGetConnectionStatistics Lib _
"RasApi32.DLL" (ByVal hRasConn As Long, lpStatistics _
As RASSTATS2000) As Long
in delphi nutzen.
mein Versuch war:
Code:
Function RasGetConnectionStatistics(hRasConn:Longint;
var lpStatistics:RASSTATS2000):longint; stdcall; external 'RasApi32.DLL'
Function RasEnumConnectionsA(lpRasCon:RASType; lpcb:Longint;
lpcConnections:Longint):longint; stdcall; external 'RasApi32.DLL'
leider scheint da ein kleiner deklarationsfehler zu sitzen. Der anschließende Aufruf bringt irgendwie nicht das Result, was unter VB erwartet wird.
Miene Procedur:
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var RAS:array[0..255] of RASType;
RASStatus:RASStatusType;
lg,lpcon,Result:longint;
myStats:RASSTATS2000;
rtn:Longint;
tmp:longint;
begin
lpcon:=0;
lg:=0;
RAS[0].dwSize:= 412;
lg:= 256 * RAS[0].dwSize;
tmp:= RasEnumConnectionsA(RAS[0], lg, lpcon);
showmessage(inttostr(lpcon));
myStats.dwSize:= SizeOf(myStats);
rtn:= RasGetConnectionStatistics(RAS[0].hRasCon, myStats);
edit1.text:=inttostr(myStats.dwBytesXmited);
edit2.text:=inttostr(mystats.dwBytesRcved);
end;
Diese Procedur sollte eigentlich die gesendeten und empfangenen bytes einer Win2k DFÜ Verbindung auf Edit1 und edit2 setzen, leider bleiben diese Variablen bei 0.
Bin für jeden Hinweis dankbar!