コンテンツにスキップ

GUID

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

これはこのページの過去の版です。演歌ビニール (会話 | 投稿記録) による 2015年5月25日 (月) 12:44個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

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

GUIDの語は、UUIDマイクロソフトによる実装を指すと解されることもあるが、オラクルのデータベースNetIQeDirectoryディレクトリ・サービス)、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など。

外部リンク