Sieht schlimm aus.
Erst mal waere eine anstaendige Formatierung der Sourcen angebracht.
nduCType.pas ist voll von ueberfluessigen Typdeklarationen. void laesst sich nicht in Delphi ausdruecken. pvoid = Pointer.
Es waere angebracht die Schreibweise von C zu uebernehmen, also PVOID nicht pvoid.
Die enums einfach zu uebernehmen kann boese schiefgehen. Ein {$MINENUMSIZE 4} muss in die Sourcen, da C immer 4-Byte Enums macht.
Bei einer Konversion ist es besser die Namen komplett zu uebernehmen. Der ndu-Prefix sollte also rausfliegen.
Auch die Delphi-Art des Typen mit T-Prefix sollte nur als zzusaetzlicher Typ aufteten.
Ganz uebel ist die Veraenderung des Wertes von NDU_DOT11_SSID_MAX_LENGTH.
So ist es richtig:
Delphi-Quellcode:
const
DOT11_SSID_MAX_LENGTH = 32; //32 Bytes
type
DOT11_SSID = packed record
uSSIDLength: ULONG;
ucSSID: array [0..DOT11_SSID_MAX_LENGTH-1] of UCHAR;
end;
Ob es packed record ist kann ich nicht sagen. Die C-Header deuten eher an das nicht, da ein #pragma dazu fehlt.
Ich wuerde hier eher auf 8-Byte-Grenzen wetten.
Es empfiehlt sich die
jedi-apilib zu benutzen (
http://jedi-apilib.sf.net). Damit sollte mna zumindest nduCType.pas und nduWinNT.pas loswerden koennen.
Unangenehm ist das das Windows
DDK noch kaum konvertiert ist. Da wartet noch viel Arbeit auf uns.