Moin Zusammen,
also ich gehe da von der
PSDK Deklaration aus, so dass der Typ von aBuffer ein Pointer auf eine USER_INFO_x Struktur ist.
Wie in Delphi sonst üblich einen Record zu übergeben kann ja eigentlich deshalb schon nicht klappen, da man sich ja eine beliebige Anzahl an Einträgen zurückgeben lassen kann, ohne vorher zu Wissen, wieviele es sind.
Ein Witz an diesen Netxxx Funktionen ist ja, dass sie den erforderlichen Speicher selber reservieren.
aBuffer wäre dann also als
Delphi-Quellcode:
var
aBuffer : PUSER_INFO_1;
deklariert, so dass man auf diesem Wege das Ergebnis verarbeiten kann
Delphi-Quellcode:
for i := 1 to dwEntriesRead do
begin
//... was auch immer mit aBuffer geschehen soll
inc(aBuffer); // auf den nächsten Eintrag adressieren
end;
Deshalb auch das Sichern von aBuffer in einer Variablen gleichen Typs, da man ja an NetApiBufferFree die Startadresse des Ergebnisbuffers zurückliefern muss, damit der Speicher wieder freigegeben werden kann.
Als Pointer ist aBuffer in der Funktion nur deshalb deklariert, da es sich um einen Pointer auf verschiedene Datenstrukturen (USER_INF0_x) handeln kann, so dass eine feste Typangabe nicht möglich ist.