Moin Chris,
das hier ist schlicht falsch:
inc(aWorkBuffer, sizeOf(PUSER_INFO_0));
Es muss schlicht
inc(aWorkBuffer);
heissen.
Da aWorkBuffer typisiert ist (eben PUSER_INFO_O), zählt der Compiler bei einem inc(aWorkBuffer) automatisch um SizeOf(PUSER_INFO_0) hoch.
Nur wenn der Typ Pointer ist, muss man sich um die Grösse der Struktur selber Gedanken machen.
Das kannst Du auch in meinen Beiträgen zu dem Ursprungsthread auch schon sehen (auch wenn ich es dort wohl nicht explizit dazugeschrieben hatte.
@Luckie:
Da man mit i hier nicht direkt einen Tabelleneintrag indiziert spielt es keine Rolle, ob man i nun von 0 bis dwEntriesRead-1, von 1 bis dwEntriesRead oder von 278 bis dwEntriesRead+277 laufen lässt. Hauptsache die Gesamtzahl der Schleifendurchläuft ist korrekt.