Why is the GUID structure declared the way it is?
Posted
by
alabamasucks
on Stack Overflow
See other posts from Stack Overflow
or by alabamasucks
Published on 2008-11-09T21:48:17Z
Indexed on
2012/04/05
17:30 UTC
Read the original article
Hit count: 144
guid
In rpc.h, the GUID structure is declared as follows:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
I understand Data1, Data2, and Data3. They define the first, second, and third sets of hex digits when writing out a GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
What I never understood was why the last 2 groups were declared together in the same byte array. Wouldn't this have made more sense (and been easier to code against)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Anyone know why it is declared this way?
© Stack Overflow or respective owner