Porque é que a estrutura GUID declarada do jeito que está?
-
07-07-2019 - |
Pergunta
Em rpc.h, a estrutura GUID é declarado o seguinte:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
Eu entendo dados1, dados2, e Data3. Eles definem o primeiro segundo e terceiro conjuntos de dígitos hexadecimais, ao escrever um GUID (XXXXXXXX-XXXXXXXX-XXXX-XXXXXXXX).
O que eu nunca entendi foi por isso que os últimos 2 grupos foram declarados juntos na mesma matriz de bytes. Não seria este ter feito mais sentido (e foi mais fácil para código contra)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Alguém sabe por que ela é declarada desta maneira?
Outras dicas
http://en.wikipedia.org/wiki/Globally_Unique_Identifier e http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCE de representação original, você pode ver o agrupamento de pedaços lá em uma mesa)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow