Ich bin mir schonmal ganz sicher, daß die
WinAPI keine Delphi-Arrays (Array of ...) kennt.
Delphi-Quellcode:
type
PAddrInfo = ^TAddrInfo;
TAddrInfo = packed record
ai_flags: Integer;
ai_family: Integer;
ai_socktype: Integer;
ai_protocol: Integer;
ai_addrlen: LongWord;
ai_canonname: PAnsiChar; // Pointer auf "Array[0..0] of AnsiChar"
ai_addr: PSOCKADDR;
ai_next: PAddrInfo;
end;
Delphi-Quellcode:
var orig_getaddrinfo, new_getaddrinfo: function(nodename: PAnsiChar;
servname: PAnsiChar; hints: PAddrInfo; res: PAddrInfo): Integer; stdcall;
// nodename, servname und hints = nur Lesezugriff
// res = Schreibzugriff
oder eventuell auch so
Delphi-Quellcode:
var orig_getaddrinfo, new_getaddrinfo: function(nodename, servname: PAnsiChar;
const hints: TAddrInfo; var res: TAddrInfo): Integer; stdcall;