Hi,
ich versuche gerade irgendwie alle Freigaben aufzulisten, aber trotzdem macht mir die
WinAPI da einen Strich durch die Rechnung. Mit Hilfe der
JEDI-Überestzung der
lm.h rufe ich su
NetShareEnum auf:
Delphi-Quellcode:
NetShareEnum(@sServer[1], 502, @aShareBuffer, MAX_PREFERRED_LENGTH,
dwEntriesRead, dwEntriesRead, nil);
Dazu folgenden Variablen:
Delphi-Quellcode:
type
PSHARE_INFO_502 = ^_SHARE_INFO_502;
var
aShareBuffer, aWorkBuffer: PSHARE_INFO_502;
dwEntriesRead: Cardinal;
Der Delphi-Compiler wirft mir aber hinter
@aShareBuffer,
folgenden Fehler in's Gesicht:
Ausgabe des Compilers
[Fehler] MainUnit.pas(42): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
Mir ist klar, was mir Delphi damit sagen will, aber in meinen Augen ist das alles richtig.
Die Definition der Funktion in den
Jedi-Übersetzungen lautet so:
Delphi-Quellcode:
function NetShareEnum(servername: LPTSTR; level: DWORD; var butptr: Pointer;
prefmaxlen: DWORD; var entriesread: DWORD; var totalentries: DWORD;
resume_handle: PDWORD): NET_API_STATUS; stdcall;
Wo ist da der Hund begraben?
Chris