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_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 版或更新版本)

另請參閱

登錄值類型