Frage

In rpc.h wird die GUID-Struktur wie folgt deklariert:

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   BYTE Data[8];
} GUID;

Ich verstehe Data1, Data2 und Data3. Sie definieren die ersten, zweiten und dritten Sätze von Hexadezimalziffern wenn eine GUID auszuschreiben (XXXXXXXX XXXXXXXX--XXXX-XXXXXXXX).

Was ich nie verstanden, warum war die letzten 2 Gruppen zusammen im gleichen Byte-Array deklariert wurden. Wäre dies mehr Sinn nicht gemacht (und war leichter Code gegen)?

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   WORD Data4;  
   BYTE Data5[6]; 
} GUID;

Wer weiß, warum es auf diese Weise erklärt wird?

War es hilfreich?

Lösung

Es ist, weil eine GUID ein Spezialfall eines UUID . Für Informationen darüber, was alle Felder bedeuten, können Sie unter RFC 4122 aussehen.

Andere Tipps

http://en.wikipedia.org/wiki/Globally_Unique_Identifier und http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCE orginal Darstellung, können Sie die Gruppierung von Bits gibt in einer Tabelle)

siehe
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top