Warum ist die GUID-Struktur so deklariert, wie sie ist?
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 den ersten, zweiten und dritten Satz von Hexadezimalziffern beim Schreiben einer GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
Was ich nie verstanden habe war, warum die letzten 2 Gruppen zusammen in demselben Bytearray deklariert wurden. Wäre das nicht sinnvoller (und einfacher zu programmieren) gewesen?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Weiß jemand, warum es so deklariert ist?