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 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標,以取得錯誤的一般描述。
備註
RegConnectRegistry 需要遠端登錄服務在遠端電腦上執行。 根據預設,此服務會設定為手動啟動。 若要將 Remote Registry 服務設定為自動啟動,請執行 Services.msc,並將服務的啟動類型變更為 [自動]。
Windows Server 2003 和 Windows XP/2000: 遠端登錄服務預設會設定為自動啟動。
不再需要 RegConnectRegistry 傳回的句柄時,應該呼叫 RegCloseKey 來關閉它。
如果計算機已加入工作組,且已啟用「使用本機帳戶強制網路登入以來賓身分驗證」原則,則函式會失敗。 請注意,如果計算機已加入工作組,則預設會啟用此原則。
如果目前的使用者無法正確存取遠端計算機, 則對 RegConnectRegistry 的呼叫會失敗。 若要連線到遠端登錄,請先使用 LOGON32_LOGON_NEW_CREDENTIALS 和 ImpersonateLoggedOnUser 呼叫 LogonUser,再呼叫 RegConnectRegistry。
Windows 2000: 其中一個可能的因應措施是使用一組不同的認證來建立系統管理共用的會話,例如 IPC$ 。 若要指定目前使用者以外的認證,請使用 WNetAddConnection2 函式來連線到共用。 當您完成登錄的存取權之後,請取消連線。
Windows XP Home Edition: 您無法使用此函式連線到執行 Windows XP Home Edition 的遠端電腦。 即使執行 Windows XP Home Edition,此函式仍會使用本機計算機的名稱,因為這會略過驗證層。
注意
winreg.h 標頭會將 RegConnectRegistry 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winreg.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |