Perché la struttura GUID è dichiarata così com'è?
-
07-07-2019 - |
Domanda
In rpc.h, la struttura GUID è dichiarata come segue:
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data[8];
} GUID;
Comprendo Data1, Data2 e Data3. Definiscono la prima, la seconda e la terza serie di cifre esadecimali quando si scrive un GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX).
Quello che non ho mai capito è stato il motivo per cui gli ultimi 2 gruppi sono stati dichiarati insieme nello stesso array di byte. Non avrebbe avuto più senso (e sarebbe stato più facile codificarlo)?
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
WORD Data4;
BYTE Data5[6];
} GUID;
Qualcuno sa perché è stato dichiarato in questo modo?
Altri suggerimenti
http://en.wikipedia.org/wiki/Globally_Unique_Identifier e http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCE's rappresentazione originale, puoi vedere il raggruppamento di bit in una tabella)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow