Функция 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

См. также раздел

RegCloseKey

Функции реестра

Общие сведения о реестре