Функция RegConnectRegistryA (winreg.h)
Устанавливает соединение с предопределенным разделом реестра на другом компьютере.
Синтаксис
LSTATUS RegConnectRegistryA(
[in, optional] LPCSTR lpMachineName,
[in] HKEY hKey,
[out] PHKEY phkResult
);
Параметры
[in, optional] lpMachineName
Имя удаленного компьютера. Строка имеет следующую форму:
\\Computername
Вызывающий объект должен иметь доступ к удаленному компьютеру, в противном случае функция завершается ошибкой.
Если этот параметр имеет значение NULL, используется имя локального компьютера.
[in] hKey
Предопределенный дескриптор реестра. Этот параметр может быть одним из следующих предопределенных ключей на удаленном компьютере.
HKEY_USERSHKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA
[out] phkResult
Указатель на переменную, которая получает дескриптор ключа, определяющий предопределенный дескриптор на удаленном компьютере.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой ненулевой код ошибки, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.
Комментарии
RegConnectRegistry требует, чтобы служба удаленного реестра была запущена на удаленном компьютере. По умолчанию эта служба запускается вручную. Чтобы настроить автоматический запуск службы удаленного реестра, запустите Services.msc и измените тип запуска службы на Автоматически.
Windows Server 2003 и Windows XP/2000: Служба удаленного реестра настроена на автоматический запуск по умолчанию.
Если дескриптор, возвращаемый RegConnectRegistry , больше не нужен, его следует закрыть, вызвав RegCloseKey.
Если компьютер присоединен к рабочей группе и включена политика принудительного входа в сеть с помощью локальных учетных записей для проверки подлинности в качестве гостя, функция завершается ошибкой. Обратите внимание, что эта политика включена по умолчанию, если компьютер присоединен к рабочей группе.
Если текущий пользователь не имеет надлежащего доступа к удаленному компьютеру, вызов RegConnectRegistry завершается ошибкой . Чтобы подключиться к удаленному реестру, вызовите LogonUser с LOGON32_LOGON_NEW_CREDENTIALS и ImpersonateLoggedOnUser перед вызовомRegConnectRegistry.
Windows 2000: Одним из возможных обходных путей является создание сеанса в административной общей папке, такой как IPC$, с использованием другого набора учетных данных. Чтобы указать учетные данные, отличные от учетных данных текущего пользователя, используйте функцию WNetAddConnection2 для подключения к общей папке. Завершив доступ к реестру, отмените подключение.
Windows XP Home Edition: Эту функцию нельзя использовать для подключения к удаленному компьютеру под управлением Windows XP Home Edition. Эта функция работает с именем локального компьютера, даже если он работает под управлением Windows XP Home Edition, так как она обходит уровень проверки подлинности.
Примечание
Заголовок winreg.h определяет RegConnectRegistry в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winreg.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |