Avatar billede jakobdo Ekspert
12. december 2003 - 13:45 Der er 6 kommentarer og
1 løsning

DNS_RECORD, jeg skal bruge IP4_ADDRESS som noget læsbart.

Jeg leger pt med lidt DNS opslag...
Jeg har fået fuldt data i min DNS_RECORD struct...
MX kan jeg læse direkte ud!
Men DNS_A_DATA indeholder en IP af typen: IP4_ADDRESS

Hvad fanden er det for en fisk?

Hvordan får jeg konverteret IP4_ADDRESS til en læsbar IP?
Avatar billede jakobdo Ekspert
12. december 2003 - 14:02 #1
Jeg tror faktisk det er en DWORD hvad jeg har læst mig til i WINDNS.H!
Avatar billede jpk Nybegynder
12. december 2003 - 14:29 #2
Hvis din variabel hedder fx dw, kan du:

BYTE* pB = (unsigned char*)&dw;
int a = pB[0];
int b = pB[1];
int c = pB[2];
int d = pB[3];
Avatar billede jpk Nybegynder
12. december 2003 - 14:30 #3
Hvis typen vel at mærke indeholder IP-adressens 4 komponener i de 4 bytes...
Avatar billede jpk Nybegynder
12. december 2003 - 14:33 #4
Du kan også:

int a1 = ((BYTE)(dw));
int b1 = ((BYTE)(((WORD)(dw)) >> 8));
int c1 = ((BYTE)((dw)>>16));
int d1 = ((BYTE)((dw)>>24));
Avatar billede jakobdo Ekspert
12. december 2003 - 14:49 #5
Jeg har lavet følgende:

DnsQuery(blablabla)
Som læser data ind i: ppQueryResultsSet
DNS_RECORD* ppQueryResultsSet;
Inde i ppQueryResultsSet er der så DATA og en masse ting og sager...
F.eks. MX og A og lign...

Hvis jeg f.eks. skal have MX records:
ppQueryResultsSet->Data.MX.pNameExchange

Det jeg gerne vil have, er:
ppQueryResultsSet->Data.A.IpAddress
Avatar billede jpk Nybegynder
12. december 2003 - 14:54 #6
Hvad mener du, virker ppQueryResultsSet->Data.A.IpAddress ikke?

ellers er det jo bare at skifte dw ud med ppQueryResultsSet->Data.A.IpAddress:

BYTE* pB = (unsigned char*)&ppQueryResultsSet->Data.A.IpAddress;
int a = pB[0];
int b = pB[1];
int c = pB[2];
int d = pB[3];
Avatar billede jakobdo Ekspert
12. december 2003 - 14:57 #7
JPK: Du har ret, jeg var bare ikke lige med på hvad der var hvad! :o) Takker for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester