RegConnectRegistryA-Funktion (winreg.h)
Stellt eine Verbindung mit einem vordefinierten Registrierungsschlüssel auf einem anderen Computer her.
Syntax
LSTATUS RegConnectRegistryA(
[in, optional] LPCSTR 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, andernfalls schlägt die Funktion fehl.
Wenn dieser Parameter NULL ist, wird der Name des lokalen Computers verwendet.
[in] hKey
Ein vordefiniertes Registrierungshandle. Dieser Parameter kann einer 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 in Winerror.h definierter Fehlercode ungleich null. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.
Hinweise
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 so konfiguriert, dass er standardmäßig automatisch gestartet wird.
Wenn ein von RegConnectRegistry zurückgegebenes Handle nicht mehr benötigt wird, sollte es durch Aufrufen von RegCloseKey geschlossen werden.
Wenn der Computer in eine Arbeitsgruppe eingebunden 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 verknüpft 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 Administratorfreigabe wie IPC$ mit einem anderen Satz 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 herzustellen, auf dem Windows XP Home Edition ausgeführt wird. Diese Funktion funktioniert mit dem Namen des lokalen Computers, auch wenn windows XP Home Edition ausgeführt wird, da dadurch die Authentifizierungsebene umgangen wird.
Hinweis
Der winreg.h-Header definiert RegConnectRegistry als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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 |
---|---|
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 (Windows.h einschließen) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |