Share via


レジストリからのデータの取得

レジストリからデータを取得するために、アプリケーションは通常、特定のキーを見つけるまでキーのサブキーを列挙し、それに関連付けられている値または値からデータを取得します。 アプリケーションは RegEnumKeyEx 関数を呼び出して、特定のキーのサブキーを列挙できます。

特定のサブキーに関する詳細なデータを取得するために、アプリケーションは RegQueryInfoKey 関数を呼び出すことができます。 RegGetKeySecurity 関数は、キーを保護するセキュリティ記述子のコピーを取得します。

アプリケーションでは 、RegEnumValue 関数を使用して特定のキーの値を列挙し、 RegQueryValueEx 関数を使用してキーの特定の値を取得できます。 通常、アプリケーションは RegEnumValue を呼び出して値の名前を決定し、 RegQueryValueEx を呼び出して名前のデータを取得します。

RegQueryMultipleValues 関数は、開いているレジストリ キーに関連付けられている値の名前の一覧の型とデータを取得します。 この関数は、アトミック操作で複数の値を取得することでデータの一貫性を確保するため、動的キー プロバイダーに役立ちます。

他のアプリケーションは、アプリケーションが値を読み取って使用できる間にレジストリ値のデータを変更できるため、アプリケーションに最新のデータがあることを確認する必要がある場合があります。 RegNotifyChangeKeyValue 関数を使用すると、レジストリ キーの属性または内容に変更がある場合、またはキーが削除された場合に呼び出し元のスレッドに通知できます。 関数は、呼び出し元に通知するイベント オブジェクトを通知します。 RegNotifyChangeKeyValue を呼び出すスレッドが終了すると、イベントが通知され、レジストリ キーの監視が停止されます。

通知フィルターまたはフラグを使用して、報告する必要がある変更を制御または指定できます。 通常、変更は、関数に指定したイベントを通知することによって報告されます。 RegNotifyChangeKeyValue 関数はリモート ハンドルでは機能しないことに注意してください。

レジストリ操作の詳細については、「 レジストリ」を参照してください。