SHRegWriteUSValueA 函式 (shlwapi.h)
將值寫入使用者特定子樹狀目錄中的登錄子機碼, (HKEY_CURRENT_USER 或HKEY_LOCAL_MACHINE) 。
語法
LSTATUS SHRegWriteUSValueA(
[in] HUSKEY hUSKey,
[in] LPCSTR pszValue,
[in] DWORD dwType,
[in] const void *pvData,
[in] DWORD cbData,
[in] DWORD dwFlags
);
參數
[in] hUSKey
類型: HUSKEY
目前開啟之登錄子機碼的句柄。 子機碼必須以KEY_SET_VALUE訪問許可權開啟。 如需詳細資訊,請參閱 登錄機碼安全性和訪問許可權。
此句柄可透過 SHRegOpenUSKey 函式取得。
[in] pszValue
類型: LPCTSTR
指定值名稱之 Null 終止字串的指標。 此值是 hUSKey 所指定子機碼中的專案。 如果具有這個名稱的值尚未出現在子機碼中,則會新增它。
如果此參數為 NULL 或空字串,則函式會設定子機碼預設值的類型和數據。
[in] dwType
類型: DWORD
要儲存在 pszValue 所指定值中的數據型別。 在 Winnt.h 和 Wdm.h 中定義的下列其中一個登錄值類型。
REG_NONE (0x00000000)
REG_SZ (0x00000001)
REG_EXPAND_SZ (0x00000002)
REG_BINARY (0x00000003)
REG_DWORD (0x00000004)
REG_DWORD_LITTLE_ENDIAN (0x00000004)
REG_DWORD_BIG_ENDIAN (0x00000005)
REG_LINK (0x00000006)
REG_MULTI_SZ (0x00000007)
REG_RESOURCE_LIST (0x00000008)
REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)
REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)
REG_QWORD (0x0000000B)
REG_QWORD_LITTLE_ENDIAN (0x0000000B)
[in] pvData
類型: const void*
要針對 pszValue 所指定值所設定之數據的指標。 對於字串型別,例如 REG_SZ,字串必須以 Null 結束。 使用REG_MULTI_SZ數據類型時,字串必須以兩個 Null 字元終止。 路徑中的反斜杠前面必須加上另一個反斜杠做為逸出字元。 例如,指定 「C:\mydir\myfile」 來儲存字串 「C:\mydir\myfile」。。
[in] cbData
類型: DWORD
pvData 參數所指向之數據的大小,以位元組為單位。 如果數據的類型為REG_SZ、REG_EXPAND_SZ或 REG_MULTI_SZ,cbData 必須包含終止 Null 字元或字元的大小。
[in] dwFlags
類型: DWORD
旗標,指出應該寫入數據的子樹。 下列一或多個值:
SHREGSET_HKCU (0x00000001)
只有在 pszValue 中指定的名稱值目前不存在於指定的子機碼下時,才寫入HKEY_CURRENT_USER。
SHREGSET_FORCE_HKCU (0x00000002)
寫入 HKEY_CURRENT_USER。 如果 pszValue 中指定的名稱值已經存在,則會覆寫它。
SHREGSET_HKLM (0x00000004)
只有在 pszValue 中指定的名稱值目前不存在於指定的子機碼下時,才寫入HKEY_LOCAL_MACHINE。
SHREGSET_FORCE_HKLM (0x00000008)
寫入 HKEY_LOCAL_MACHINE。 如果 pszValue 中指定的名稱值已經存在,則會覆寫它。
SHREGSET_DEFAULT (0x00000006)
相當於 (SHREGSET_FORCE_HKCU | SHREGSET_HKLM) 。
傳回值
類型: LSTATUS
如果成功,則傳回ERROR_SUCCESS;否則,在 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來擷取錯誤的泛型描述。
備註
若要使用 SHRegWriteUSValue,您必須先使用 SHRegOpenUSKey開啟密鑰。 開啟金鑰之後,您可以視需要使用 SHRegWriteUSValue 多次。
如果您只需要撰寫單一值,您應該使用 SHRegSetUSValue,這兩者都會開啟索引鍵並寫入值。
如果您需要在同一個索引鍵上寫入多個值, 則對 SHRegWriteUSValue 的多個呼叫通常比 SHRegSetUSValue 更有效率,因為索引鍵只會開啟一次。
注意
shlwapi.h 標頭會將SHRegWriteUSValue定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或Unicode版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (4.71 版或更新版本) |