レジストリ
読み:レジストリ
外語:registry

 Microsoft Windowsオペレーティングシステム(OS)として持っている、設定を保存するためのデータベース。Windows 7でも音引きを付けず「レジストリ」とされている。
目次

概要
 レジストリには、ユーザーの情報や、OSやプログラムの動作に必要な情報が格納されている。
 ルートには、HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、の五種類のキーが存在する。

特徴

階層構造
 レジストリは階層構造となっており、レジストリ エディターでは左ペインにツリーとして階層構造が表示される。
 ファイルシステムなら「フォルダー」に相当するものが「キー」、ファイルに相当するものが「レジストリエントリ」と呼ばれる。

レジストリエントリ
 全てのキーには、既定のレジストリエントリが一つ存在する。レジストリ エディターでは「(規定)」と表示される。
 各キーには一つ以上の文字列または数値を格納できるレジストリエントリを格納できるほか、キーの下に更にキー(サブキー)を作ることができ、これによってレジストリは階層構造となる。

データ型
 レジストリエントリで使用できるデータ型は次のとおりである。
REG_BINARYバイナリ値0バイト以上の任意のバイナリ
REG_DWORDDWORD(32 ビット)値32ビットの数値 (REG_DWORD_LITTLE_ENDIAN または REG_DWORD_BIG_ENDIAN)
REG_DWORD_LITTLE_ENDIAN32ビットの数値 (リトルエンディアン)
REG_DWORD_BIG_ENDIAN32ビットの数値 (ビッグエンディアン)
REG_EXPAND_SZ展開可能な文字列値環境変数の展開前の表記
REG_LINK (内部用)
REG_MULTI_SZ複数行文字列値複数行に対応するNUL末端の文字列値
REG_NONE 未定義の型 (内部用)
REG_QWORDQWORD(64 ビット)値64ビットの数値 (REG_QWORD_LITTLE_ENDIAN または REG_QWORD_BIG_ENDIAN)
REG_QWORD_LITTLE_ENDIAN64ビットの数値 (リトルエンディアン)
REG_RESOURCE_LIST デバイスドライバーのリソースリスト (内部用)
REG_SZ文字列値NUL末端の文字列値
 REG_QWORD_BIG_ENDIANはWindows 8.1までで存在しないが、将来に登場する可能性はゼロではない。

技術

ルートの意味

ファイルのありか
 実際のファイル自体は、次のとおり。
 ただし、このファイル自体は、アプリケーションからは操作しない。また、この内容を破壊しないよう、Windowsを使用する場合は注意する必要がある。
 レジストリの参照/更新は、Windows自体が用意したAPIを使用する。

影響
 UNIXの世界では、Windowsでいうところの.INIファイル相当を各アプリケーションごとに持つのが当たり前である。
 しかしWindowsのこのレジストリの影響は大きく、UNIXシステムにも輸入されている。例えば、UNIX用の統合デスクトップ環境GNOMEは、システムとしてレジストリのような機構を持っている。

再検索