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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage