RegOpenUserClassesRoot-Funktion (winreg.h)
Ruft ein Handle für den HKEY_CLASSES_ROOT-Schlüssel für einen angegebenen Benutzer ab. Der Benutzer wird durch ein Zugriffstoken identifiziert. Der zurückgegebene Schlüssel verfügt über eine Ansicht der Registrierung, die den Inhalt des Schlüssels HKEY_LOCAL_MACHINE\Software\Classes mit dem Inhalt der Software\Classes-Schlüssel in der Registrierungsstruktur des Benutzers zusammenführt. Weitere Informationen finden Sie unter HKEY_CLASSES_ROOT Schlüssel.
Syntax
LSTATUS RegOpenUserClassesRoot(
[in] HANDLE hToken,
DWORD dwOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult
);
Parameter
[in] hToken
Ein Handle für ein primäres Zugriffstoken oder identitätswechsel, das den relevanten Benutzer identifiziert. Dies kann ein Tokenhandle sein, das durch einen Aufruf der Funktionen LogonUser, CreateRestrictedToken, DuplicateToken, DuplicateTokenEx, OpenProcessToken oder OpenThreadToken zurückgegeben wird.
Das Handle muss über TOKEN_QUERY Zugriff verfügen. Weitere Informationen finden Sie unter Zugriffsrechte für Access-Token-Objekte.
dwOptions
Dieser Parameter ist reserviert und muss null sein.
[in] samDesired
Eine Maske, die die gewünschten Zugriffsrechte für den Schlüssel angibt. Die Funktion schlägt fehl, wenn die Sicherheitsbeschreibung des Schlüssels den angeforderten Zugriff für den aufrufenden Prozess nicht zulässt. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.
[out] phkResult
Ein Zeiger auf eine Variable, die ein Handle auf den geöffneten Schlüssel empfängt. Wenn Sie das zurückgegebene Handle nicht mehr benötigen, rufen Sie die RegCloseKey-Funktion auf, um es zu schließen.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein nichtzero-Fehlercode, der in Winerror.h definiert ist. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.
Hinweise
Mit der RegOpenUserClassesRoot-Funktion können Sie die zusammengeführten HKEY_CLASSES_ROOT Informationen für andere Benutzer als den interaktiven Benutzer abrufen. Beispielsweise könnte die Serverkomponente einer Client-/Serveranwendung RegOpenUserClassesRoot verwenden, um die zusammengeführten Informationen für einen Client abzurufen.
RegOpenUserClassesRoot schlägt fehl, wenn das Benutzerprofil für den angegebenen Benutzer nicht geladen wird. Wenn sich ein Benutzer interaktiv anmeldet, lädt das System automatisch das Profil des Benutzers. Für andere Benutzer können Sie die LoadUserProfile-Funktion aufrufen, um das Profil des Benutzers zu laden. LoadUserProfile kann jedoch sehr zeitaufwändig sein, also rufen Sie es nicht zu diesem Zweck auf, es sei denn, es ist unbedingt erforderlich, dass die HKEY_CLASSES_ROOT Informationen des Benutzers zusammengeführt werden.
Anwendungen, die im Sicherheitskontext des interaktiv angemeldeten Benutzers ausgeführt werden, müssen RegOpenUserClassesRoot nicht verwenden. Diese Anwendungen können die RegOpenKeyEx-Funktion aufrufen, um eine zusammengeführte Ansicht des HKEY_CLASSES_ROOT Schlüssels für den interaktiven Benutzer abzurufen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winreg.h (einschließlich Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |