RegConnectRegistryW-Funktion (winreg.h)
Stellt eine Verbindung mit einem vordefinierten Registrierungsschlüssel auf einem anderen Computer her.
Syntax
LSTATUS RegConnectRegistryW(
[in, optional] LPCWSTR lpMachineName,
[in] HKEY hKey,
[out] PHKEY phkResult
);
Parameter
[in, optional] lpMachineName
Der Name des Remotecomputers. Die Zeichenfolge hat die folgende Form:
\\ Computername
Der Aufrufer muss Zugriff auf den Remotecomputer haben, oder die Funktion schlägt fehl.
Wenn dieser Parameter NULL-ist, wird der name des lokalen Computers verwendet.
[in] hKey
Ein vordefinierter Registrierungshandle. Dieser Parameter kann eine der folgenden vordefinierten Schlüssel auf dem Remotecomputer sein.
HKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_USERS
[out] phkResult
Ein Zeiger auf eine Variable, die ein Schlüsselhandle empfängt, das das vordefinierte Handle auf dem Remotecomputer identifiziert.
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 FORMAT_MESSAGE_FROM_SYSTEM Flag verwenden, um eine allgemeine Beschreibung des Fehlers zu erhalten.
Bemerkungen
RegConnectRegistry erfordert, dass der Remoteregistrierungsdienst auf dem Remotecomputer ausgeführt wird. Standardmäßig ist dieser Dienst so konfiguriert, dass er manuell gestartet wird. Um den Remoteregistrierungsdienst so zu konfigurieren, dass er automatisch gestartet wird, führen Sie "Services.msc" aus, und ändern Sie den Starttyp des Diensts in "Automatisch".
Windows Server 2003 und Windows XP/2000: Der Remoteregistrierungsdienst ist standardmäßig so konfiguriert, dass er automatisch gestartet wird.
Wenn ein von RegConnectRegistry zurückgegebenes Handle nicht mehr benötigt wird, sollte es durch Aufrufen RegCloseKeygeschlossen werden.
Wenn der Computer einer Arbeitsgruppe beigetreten ist und die Richtlinie "Netzwerkanmeldungen mithilfe lokaler Konten zur Authentifizierung als Gast erzwingen" aktiviert ist, schlägt die Funktion fehl. Beachten Sie, dass diese Richtlinie standardmäßig aktiviert ist, wenn der Computer mit einer Arbeitsgruppe verbunden ist.
Wenn der aktuelle Benutzer keinen ordnungsgemäßen Zugriff auf den Remotecomputer hat, schlägt der Aufruf von RegConnectRegistry fehl. Um eine Verbindung mit einer Remoteregistrierung herzustellen, rufen Sie LogonUser mit LOGON32_LOGON_NEW_CREDENTIALS und ImpersonateLoggedOnUser- auf, bevor Sie RegConnectRegistry-aufrufen.
Windows 2000: Eine mögliche Problemumgehung besteht darin, eine Sitzung mit einer administrativen Freigabe wie IPC$ mithilfe einer anderen Gruppe von Anmeldeinformationen einzurichten. Um andere Anmeldeinformationen als die des aktuellen Benutzers anzugeben, verwenden Sie die WNetAddConnection2--Funktion, um eine Verbindung mit der Freigabe herzustellen. Wenn Sie den Zugriff auf die Registrierung abgeschlossen haben, brechen Sie die Verbindung ab.
Windows XP Home Edition: Sie können diese Funktion nicht verwenden, um eine Verbindung mit einem Remotecomputer unter Windows XP Home Edition herzustellen. Diese Funktion funktioniert mit dem Namen des lokalen Computers, auch wenn windows XP Home Edition ausgeführt wird, da dadurch die Authentifizierungsebene umgangen wird.
Anmerkung
Der winreg.h-Header definiert RegConnectRegistry als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winreg.h (enthalten Windows.h) |
Library | Advapi32.lib |
DLL- | Advapi32.dll |