example - guid php
¿Por qué se declara la estructura GUID tal como es? (2)
En rpc.h, la estructura GUID se declara de la siguiente manera:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
Entiendo Data1, Data2 y Data3. Definen el primer, segundo y tercer conjunto de dígitos hexadecimales al escribir un GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
Lo que nunca entendí fue por qué los dos últimos grupos se declararon juntos en el mismo conjunto de bytes. ¿No hubiera tenido más sentido (y hubiera sido más fácil codificar en contra)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
¿Alguien sabe por qué está declarado de esta manera?
http://en.wikipedia.org/wiki/Globally_Unique_Identifier y http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (representación original del DCE, puede ver la agrupación de bits allí en una tabla)