Почему структура 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;
Кто-нибудь знает, почему так заявлено?