В rpc.h структура GUID объявляется следующим образом:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
Я понимаю Data1, Data2 и Data3. Они определяют первый, второй и третий набор шестнадцатеричных цифр при записи GUID (XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
Я никогда не понимал, почему последние две группы были объединены в один и тот же массив байтов. Разве это не имело бы смысла (и было легче процитировать)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Кто-нибудь знает, почему это объявлено таким образом?