Freigeben über


Abrufen von Daten aus der Registrierung

Um Daten aus der Registrierung abzurufen, listet eine Anwendung in der Regel die Unterschlüssel eines Schlüssels auf, bis sie einen bestimmten Schlüssel findet, und ruft dann Daten aus dem wert oder den ihr zugeordneten Werten ab. Eine Anwendung kann die RegEnumKeyEx-Funktion aufrufen, um die Unterschlüssel eines bestimmten Schlüssels aufzulisten.

Um detaillierte Daten zu einem bestimmten Unterschlüssel abzurufen, kann eine Anwendung die RegQueryInfoKey-Funktion aufrufen. Die RegGetKeySecurity-Funktion ruft eine Kopie der Sicherheitsbeschreibung ab, die einen Schlüssel schützt.

Eine Anwendung kann die RegEnumValue-Funktion verwenden, um die Werte für einen bestimmten Schlüssel aufzulisten, und die RegQueryValueEx-Funktion , um einen bestimmten Wert für einen Schlüssel abzurufen. Eine Anwendung ruft normalerweise RegEnumValue auf, um die Wertnamen zu bestimmen, und dann RegQueryValueEx , um die Daten für die Namen abzurufen.

Die RegQueryMultipleValues-Funktion ruft den Typ und die Daten für eine Liste von Wertnamen ab, die einem geöffneten Registrierungsschlüssel zugeordnet sind. Diese Funktion ist nützlich für Anbieter dynamischer Schlüssel, da sie die Konsistenz der Daten durch Abrufen mehrerer Werte in einem atomaren Vorgang gewährleistet.

Da andere Anwendungen die Daten in einem Registrierungswert zwischen dem Zeitpunkt ändern können, zu dem Ihre Anwendung einen Wert lesen und verwenden kann, müssen Sie möglicherweise sicherstellen, dass Ihre Anwendung über die neuesten Daten verfügt. Sie können die RegNotifyChangeKeyValue-Funktion verwenden, um den aufrufenden Thread zu benachrichtigen, wenn Änderungen an den Attributen oder Inhalten eines Registrierungsschlüssels vorgenommen werden oder wenn der Schlüssel gelöscht wird. Die Funktion signalisiert ein Ereignisobjekt, um den Aufrufer zu benachrichtigen. Wenn der Thread, der RegNotifyChangeKeyValue aufruft , beendet wird, wird das Ereignis signalisiert, und die Überwachung des Registrierungsschlüssels wird beendet.

Sie können steuern oder angeben, welche Änderungen gemeldet werden sollen, mithilfe eines Benachrichtigungsfilters oder -flags. Normalerweise werden Änderungen gemeldet, indem ein Ereignis signalisiert wird, das Sie für die Funktion angeben. Beachten Sie, dass die RegNotifyChangeKeyValue-Funktion nicht mit Remotehandles funktioniert.

Weitere Informationen zum Überwachen von Registrierungsvorgängen finden Sie unter Registrierung.