Hab den Fehler gefunden.
Der Rückgabewert von "NetBios" war 7 was so viel heißt wie "illegal buffer address". Trotz dessen das der Buffer verwendet wurde und laut debugger nicht weg optimiert wurde hat es nicht funktioniert. Deswegen hab ich einfach aus "TLanaEnum" ein "^TLanaEnum" gemacht und selbst mit "new" speicher dafür angefordert. Und siehe da - es funktioniert.
abgeänderter Source der Funktion:
Delphi-Quellcode:
var AdapterList: ^TLanaEnum;
NCB: TNCB;
begin
new(AdapterList);
FillChar(NCB, SizeOf(NCB), 0);
NCB.ncb_command := Char(NCBENUM);
NCB.ncb_buffer := PChar(AdapterList);
NCB.ncb_length := SizeOf(AdapterList^);
Netbios(@NCB);
Result := Byte(AdapterList.length);
dispose(AdapterList);
end;