RegConnectRegistryA 함수(winreg.h)
다른 컴퓨터에서 미리 정의된 레지스트리 키에 대한 연결을 설정합니다.
구문
LSTATUS RegConnectRegistryA(
[in, optional] LPCSTR lpMachineName,
[in] HKEY hKey,
[out] PHKEY phkResult
);
매개 변수
[in, optional] lpMachineName
원격 컴퓨터의 이름입니다. 문자열의 형식은 다음과 같습니다.
\\Computername
호출자는 원격 컴퓨터에 대한 액세스 권한이 있어야 합니다. 그렇지 않으면 함수가 실패합니다.
이 매개 변수가 NULL이면 로컬 컴퓨터 이름이 사용됩니다.
[in] hKey
미리 정의된 레지스트리 핸들입니다. 이 매개 변수는 원격 컴퓨터에서 다음과 같은 미리 정의된 키 중 하나일 수 있습니다.
HKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_USERS
[out] phkResult
원격 컴퓨터에서 미리 정의된 핸들을 식별하는 키 핸들을 수신하는 변수에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 ERROR_SUCCESS.
함수가 실패하면 반환 값은 Winerror.h에 정의된 0이 아닌 오류 코드입니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.
설명
RegConnectRegistry 를 사용하려면 원격 레지스트리 서비스를 원격 컴퓨터에서 실행해야 합니다. 기본적으로 이 서비스는 수동으로 시작되도록 구성됩니다. 원격 레지스트리 서비스가 자동으로 시작되도록 구성하려면 Services.msc를 실행하고 서비스의 시작 유형을 자동으로 변경합니다.
Windows Server 2003 및 Windows XP/2000: 원격 레지스트리 서비스는 기본적으로 자동으로 시작되도록 구성됩니다.
RegConnectRegistry에서 반환된 핸들이 더 이상 필요하지 않은 경우 RegCloseKey를 호출하여 닫아야 합니다.
컴퓨터가 작업 그룹에 조인되고 "로컬 계정을 사용하여 네트워크 로그온을 게스트로 인증하도록 강제" 정책을 사용하도록 설정하면 함수가 실패합니다. 컴퓨터가 작업 그룹에 조인된 경우 이 정책은 기본적으로 사용하도록 설정됩니다.
현재 사용자에게 원격 컴퓨터에 대한 적절한 액세스 권한이 없는 경우 RegConnectRegistry 호출이 실패합니다. 원격 레지스트리에 연결하려면 RegConnectRegistry를 호출하기 전에 LOGON32_LOGON_NEW_CREDENTIALS 및 ImpersonateLoggedOnUser를 사용하여 LogonUser를 호출합니다.
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 |
헤더 | winreg.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |