Struktur addrinfo in windows.inc auskommentiert
-
Hallo zusammen,
ich stecke zur Zeit in der Netzwerkprogrammierung mit der WinApi.
Um die IP-Adresse eines Rechners zu ermitteln nutze ich die Funktion
gethostbyname().In der MSDN ist ein Hinweis auf die neue Funktion getaddrinfo().
Diese braucht die Struktur addrinfo, die wiederum in der windows.inc
auskommentiert ist.comment * addrinfo STRUCT ai_flags DWORD ? ai_family DWORD ? ai_socktype DWORD ? ai_protocol WORD ? ai_addrlen DWORD ? ai_canonname BYTE ? ai_addr sockaddr <> ai_next addrinfo <> addrinfo ENDS *
Wenn ich diese Struktur dennoch verwenden will und in meinem Programm einbinde,
erhalte ich Fehlermeldungen wie diese:Syntax error : ai_addr
Syntax error : ai_nextnon-benign structure redefinition auf Googledeutsch:
nicht gutartige Struktur redefinitionWenn ich die Struktur sockaddr vor addrinfo erstelle, ist der erste Fehler weg.
Der zweite will einfach nicht weichen. Zumal in der MSDN noch steht, das diese
beiden Parameter mit NULL zu initialisieren sind.Hier http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520(v=vs.85).aspx ist ein Beispiel für C/C++ was ich aber beim besten Willen
nicht umgesetzt bekomme mit MASM.Weiß jemand wieso diese Struktur auskommentiert ist und wie ich diese dennoch
nutzen kann?Grüße, Nicky
-
addrinfo STRUCT ai_flags SDWORD ? ai_family SDWORD ? ai_socktype SDWORD ? ai_protocol SDWORD ? ai_addrlen DWORD ? ai_canonname PCHAR ? ai_addr PVOID ? ; struct sockaddr* ai_next PVOID ? ; struct addrinfo* addrinfo ENDS
Die Struktur ist auskommentiert, da die Deklaration falsch ist und wegen der Selbstreferenz auch nicht 1:1 in MASM umzusetzen ist.