Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Probleme mit NetShareEnum

  Alt 25. Sep 2004, 17:16
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
  Mit Zitat antworten Zitat