GUID構造がそのまま宣言されているのはなぜですか?

StackOverflow https://stackoverflow.com/questions/276524

  •  07-07-2019
  •  | 
  •  

質問

rpc.hでは、GUID構造体は次のように宣言されています。

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   BYTE Data[8];
} GUID;

Data1、Data2、およびData3を理解しています。 GUID(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX)を書き出すときに、16進数の最初、2番目、3番目のセットを定義します。

私が理解できなかったのは、最後の2つのグループが同じバイト配列で一緒に宣言された理由です。これはもっと理にかなっているのではないでしょうか(そしてコーディングが簡単になったのではないでしょうか)

typedef struct _GUID 
{  
   DWORD Data1;  
   WORD Data2;  
   WORD Data3;  
   WORD Data4;  
   BYTE Data5[6]; 
} GUID;

誰がこのように宣言されているのか知っていますか?

役に立ちましたか?

解決

GUIDは UUID の特殊なケースであるためです。すべてのフィールドの意味については、 RFC 4122 をご覧ください。

>

他のヒント

http://en.wikipedia.org/wiki/Globally_Unique_Identifier および http://www.opengroup.org/onlinepubs/9629399/apdxa.htm (DCEの元の表現では、テーブルにビットのグループ化が表示されます)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top