Почему структура GUID объявлена ​​такой, какая она есть?

В rpc.h структура GUID объявлена ​​следующим образом:

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

Я понимаю, Data1, Data2 и Data3. Они определяют первый, второй и третий набор шестнадцатеричных цифр при записи GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).

Я никогда не понимал, почему последние 2 группы были объявлены вместе в одном байтовом массиве. Разве это не имело бы больше смысла (и было бы легче кодировать)?

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

Кто-нибудь знает, почему так заявлено?

Ответы на вопрос(2)

Ваш ответ на вопрос