コンテンツにスキップ

GUID

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。94.21.221.36 (会話) による 2009年6月7日 (日) 23:17個人設定で未設定ならUTC)時点の版 (外部リンク)であり、現在の版とは大きく異なる場合があります。

GUID (Globally Unique Identifier)またはグローバル一意識別子(ぐろーばるいちいしきべつし)は、ソフトウェアで使用される擬似乱数で、世界で一意な識別子として使用される128ビットの2進数値である。ただし、絶対に一意であることを保証するものではなく、生成される識別子の数が(2128 つまり 3.40282366×1038) と非常に大きいため、同じ識別子が生成される確率がきわめて小さいということである。GUIDは『グーイッド』と発音する

GUIDという用語は一般に、UUID(Universally Unique IDentifier)のマイクロソフト社での実装を指して言うが、オラクル社のデータベースノベルeDirectoryディレクトリ・サービス)をはじめとする多くのソフトウェアでこの用語が使用されている。

GUIDを生成するツールとして、Microsoft Windows SDKに付属するGuidGenなどがある。

構造

GUID は16バイト(128ビット)の2進数値で、以下のような構造体で表現される。

GUID STRUCT
 Data1 dd
 Data2 dw
 Data3 dw
 Data4 db 8
GUID ENDS

guiddef.h におけるGUIDの定義は以下のとおり。

typedef struct _GUID {
    unsigned long  Data1;
    unsigned short Data2;
    unsigned short Data3;
    unsigned char  Data4[8];
} GUID;

テキスト表記

GUIDは一般に以下のような16進表記が行われている。

3F2504E0-4F89-11D3-9A0C-0305E82C3301

このテキスト表記は以下のような32桁の構造を持つ。

  1. Data1 (8桁)
  2. ハイフン
  3. Data2 (4桁)
  4. ハイフン
  5. Data3 (4桁)
  6. ハイフン
  7. Data4 の最初の2アイテム(4桁)
  8. ハイフン
  9. Data4 の残りの6アイテム(12桁)

波括弧(ブレース)で囲んで表記することも多い。

{3F2504E0-4F89-11D3-9A0C-0305E82C3301}

使用例

  • COMで用いられているオブジェクト識別のためのクラスID、インターフェイスIDなど。

外部リンク