Freigeben über


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

Weitere Informationen

LoadUserProfile

RegCloseKey

RegOpenKeyEx

Registrierungsfunktionen

Registrierungsübersicht