Vordefinierte Schlüssel
Eine Anwendung muss einen Schlüssel öffnen, bevor sie der Registrierung Daten hinzufügen kann. Um einen Schlüssel zu öffnen, muss eine Anwendung ein Handle für einen anderen Schlüssel in der Registrierung bereitstellen, der bereits geöffnet ist. Das System definiert vordefinierte Schlüssel, die immer geöffnet sind. Vordefinierte Schlüssel unterstützen eine Anwendung beim Navigieren in der Registrierung und ermöglichen die Entwicklung von Tools, mit denen ein Systemadministrator Kategorien von Daten bearbeiten kann. Anwendungen, die der Registrierung Daten hinzufügen, sollten immer im Rahmen vordefinierter Schlüssel funktionieren, damit Verwaltungstools die neuen Daten finden und verwenden können.
Eine Anwendung kann Handles für diese Schlüssel als Einstiegspunkte in die Registrierung verwenden. Diese Handles sind für alle Implementierungen der Registrierung gültig, obwohl die Verwendung der Handles von Plattform zu Plattform variieren kann. Darüber hinaus wurden weitere vordefinierte Handles für bestimmte Plattformen definiert. Im Folgenden werden die Handles für die vordefinierten Schlüssel beschrieben.
Handle | BESCHREIBUNG |
---|---|
HKEY_CLASSES_ROOT |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, definieren Typen (oder Klassen) von Dokumenten und die eigenschaften, die diesen Typen zugeordnet sind. Shell- und COM-Anwendungen verwenden die unter diesem Schlüssel gespeicherten Informationen. Dieser Schlüssel bietet auch Abwärtskompatibilität mit der Windows 3.1-Registrierungsdatenbank, indem Informationen für die DDE- und OLE-Unterstützung gespeichert werden. Datei-Viewer und Benutzeroberflächenerweiterungen speichern ihre OLE-Klassenbezeichner in HKEY_CLASSES_ROOT, und In-Process-Server werden in diesem Schlüssel registriert. Dieses Handle sollte nicht in einem Dienst oder einer Anwendung verwendet werden, die die Identität verschiedener Benutzer angibt. Weitere Informationen finden Sie unter HKEY_CLASSES_ROOT. |
HKEY_CURRENT_CONFIG |
Enthält Informationen zum aktuellen Hardwareprofil des lokalen Computersystems. Die Informationen unter HKEY_CURRENT_CONFIG beschreiben nur die Unterschiede zwischen der aktuellen Hardwarekonfiguration und der Standardkonfiguration. Informationen zur Standardhardwarekonfiguration werden unter den Software - und Systemschlüsseln der HKEY_LOCAL_MACHINE gespeichert. HKEY_CURRENT_CONFIG ist ein Alias für HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current. Weitere Informationen finden Sie unter HKEY_CURRENT_CONFIG. |
HKEY_CURRENT_USER |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, definieren die Einstellungen des aktuellen Benutzers. Diese Einstellungen umfassen die Einstellungen von Umgebungsvariablen, Daten zu Programmgruppen, Farben, Druckern, Netzwerkverbindungen und Anwendungseinstellungen. Dieser Schlüssel erleichtert das Einrichten der Einstellungen des aktuellen Benutzers. Der Schlüssel wird dem Branch des aktuellen Benutzers in HKEY_USERS zugeordnet. In HKEY_CURRENT_USER speichern Softwarehersteller die aktuellen benutzerspezifischen Einstellungen, die in ihren Anwendungen verwendet werden sollen. Microsoft erstellt beispielsweise den HKEY_CURRENT_USER\Software\Microsoft Schlüssel für seine Anwendungen, die verwendet werden sollen, wobei jede Anwendung einen eigenen Unterschlüssel unter dem Microsoft-Schlüssel erstellt. Die Zuordnung zwischen HKEY_CURRENT_USER und HKEY_USERS erfolgt pro Prozess und wird erstellt, wenn der Prozess zum ersten Mal auf HKEY_CURRENT_USER verweist. Die Zuordnung basiert auf dem Sicherheitskontext des ersten Threads, der auf HKEY_CURRENT_USER verweist. Wenn in diesem Sicherheitskontext keine Registrierungsstruktur in HKEY_USERS geladen ist, wird die Zuordnung mit HKEY_USERS\.Defaulteingerichtet. Nachdem diese Zuordnung eingerichtet wurde, wird sie auch dann beibehalten, wenn sich der Sicherheitskontext des Threads ändert. Alle Registrierungseinträge in HKEY_CURRENT_USER mit Ausnahme der Einträge unter HKEY_CURRENT_USER\Software\Classes sind im Registrierungsteil pro Benutzer eines Roamingbenutzerprofils enthalten. Um andere Einträge aus einem Roamingbenutzerprofil auszuschließen, speichern Sie sie in HKEY_CURRENT_USER_LOCAL_SETTINGS. Dieses Handle sollte nicht in einem Dienst oder einer Anwendung verwendet werden, die die Identität verschiedener Benutzer angibt. Rufen Sie stattdessen die RegOpenCurrentUser-Funktion auf. Weitere Informationen finden Sie unter HKEY_CURRENT_USER. |
HKEY_CURRENT_USER_LOCAL_SETTINGS |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, definieren einstellungen des aktuellen Benutzers, die lokal auf dem Computer sind. Diese Einträge sind nicht im Registrierungsteil pro Benutzer eines Roamingbenutzerprofils enthalten.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP/2000: Dieser Schlüssel wird ab Windows 7 und Windows Server 2008 R2 unterstützt. |
HKEY_LOCAL_MACHINE |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, definieren den physischen Zustand des Computers, einschließlich Daten zum Bustyp, zum Systemspeicher sowie zu installierter Hardware und Software. Es enthält Unterschlüssel, die aktuelle Konfigurationsdaten enthalten, einschließlich Plug & Play Informationen (der Enum-Branch, der eine vollständige Liste aller Hardware enthält, die sich jemals auf dem System befunden hat), Netzwerkanmeldungseinstellungen, Netzwerksicherheitsinformationen, softwarebezogene Informationen (z. B. Servernamen und der Standort des Servers) und andere Systeminformationen. Weitere Informationen finden Sie unter HKEY_LOCAL_MACHINE. |
HKEY_PERFORMANCE_DATA |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, ermöglichen Ihnen den Zugriff auf Leistungsdaten. Die Daten werden nicht tatsächlich in der Registrierung gespeichert; die Registrierungsfunktionen bewirken, dass das System die Daten aus seiner Quelle sammelt. |
HKEY_PERFORMANCE_NLSTEXT |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, verweisen auf die Textzeichenfolgen, die Leistungsindikatoren in der lokalen Sprache des Bereichs beschreiben, in dem das Computersystem ausgeführt wird. Diese Einträge sind für Regedit.exe und Regedt32.exe nicht verfügbar. Windows 2000: Dieser Schlüssel wird nicht unterstützt. |
HKEY_PERFORMANCE_TEXT |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, verweisen auf die Textzeichenfolgen, die Leistungsindikatoren in US-Englisch beschreiben. Diese Einträge sind für Regedit.exe und Regedt32.exe nicht verfügbar. Windows 2000: Dieser Schlüssel wird nicht unterstützt. |
HKEY_USERS |
Registrierungseinträge, die diesem Schlüssel untergeordnet sind, definieren die Standardbenutzerkonfiguration für neue Benutzer auf dem lokalen Computer und die Benutzerkonfiguration für den aktuellen Benutzer. |
Mit der RegOverridePredefKey-Funktion können Sie einen vordefinierten Registrierungsschlüssel einem angegebenen Schlüssel in der Registrierung zuordnen. Für instance könnte ein Softwareinstallationsprogramm einen vordefinierten Schlüssel neu zuordnen, bevor eine DLL-Komponente installiert wird. Dadurch kann das Installationsprogramm problemlos die Informationen untersuchen, die die Installationsprozedur der DLL in den vordefinierten Schlüssel schreibt.
Die Funktionen RegDisablePredefinedCache und RegDisablePredefinedCacheEx deaktivieren die Handle-Zwischenspeicherung für vordefinierte Registrierungshandles. Dienste, die einen Identitätswechsel verwenden, sollten RegDisablePredefinedCacheEx aufrufen, bevor vordefinierte Registrierungshandles verwendet werden.
Die vordefinierten Handles sind nicht threadsicher. Das Schließen eines vordefinierten Handles in einem Thread wirkt sich auf alle anderen Threads aus, die das Handle verwenden.