GUID

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

GUID (Globally Unique Identifier)またはグローバル一意識別子(ぐろーばるいちいしきべつし)は、コンピュータで使用される識別子の体系のひとつで、世界で一意である事を意図された2進128ビットの値である。UUIDの実装のひとつで、(擬似)乱数による生成のためには2122の空間があるので、誕生日のパラドックスによっても、正しく生成されていれば、生成したあるIDが、他で生成されたIDと偶然一致する確率は、1/261である。

GUIDの語は、UUIDマイクロソフト社による実装を指すと解されることもあるが、オラクル社のデータベースノベルeDirectoryディレクトリ・サービス)、GUIDパーティションテーブルなど、ほぼUUIDを指して、GUIDの語が使われることもある。

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など。

外部リンク[編集]