RegSetKeyValueW 函式 (winreg.h)
在指定的登錄機碼和子機碼中設定指定值的數據。
語法
LSTATUS RegSetKeyValueW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[in, optional] LPCWSTR lpValueName,
[in] DWORD dwType,
[in, optional] LPCVOID lpData,
[in] DWORD cbData
);
參數
[in] hKey
開啟登錄機碼的句柄。 金鑰必須已以KEY_SET_VALUE訪問許可權開啟。 如需詳細資訊,請參閱 登錄機碼安全性和訪問許可權。
RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx 或 RegOpenKeyTransacted 函式會傳回此句柄。 它也可以是下列其中一個 預先定義的索引鍵:
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS
[in, optional] lpSubKey
與 hKey 所識別之索引鍵相對的子機碼名稱。 如果子機碼不存在,則會建立為具有預設安全性描述元的非變動性密鑰。 如果此參數為 NULL,則會在 hKey 所指定的索引鍵中建立值。
[in, optional] lpValueName
要更新其數據的登錄值名稱。
[in] dwType
lpData 參數所指向的數據類型。 如需可能類型的清單,請參閱 登錄實值型別。
[in, optional] lpData
要以指定值名稱儲存的數據。
對於字串型別,例如 REG_SZ,字串必須以 Null 結尾。 使用 REG_MULTI_SZ 資料類型時,字串必須以兩個 Null 字元終止。
[in] cbData
lpData 參數所指向的資訊大小,以位元組為單位。 如果數據的類型為 REG_SZ、REG_EXPAND_SZ 或 REG_MULTI_SZ,cbData 必須包含終止 Null 字元或字元的大小。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標,以取得錯誤的一般描述。
備註
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0600或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭。
注意
winreg.h 標頭會將 RegSetKeyValue 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winreg.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |