Pourquoi la structure du GUID est-elle déclarée telle quelle?
-
07-07-2019 - |
Question
Dans rpc.h, la structure du GUID est déclarée comme suit:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
Je comprends Data1, Data2 et Data3. Ils définissent les premier, deuxième et troisième ensembles de chiffres hexadécimaux lors de l’écriture d’un GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
Ce que je n'ai jamais compris, c'est pourquoi les 2 derniers groupes ont été déclarés ensemble dans le même tableau d'octets. Cela n’aurait-il pas été plus logique (et plus facile de coder)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Quelqu'un sait pourquoi c'est déclaré de cette façon?
Autres conseils
http://en.wikipedia.org/wiki/Globally_Unique_Identifier et http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCE's représentation originale, vous pouvez voir le regroupement des bits dans un tableau)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow