SHRegGetUSValueA 函式 (shlwapi.h)

從使用者特定子樹狀目錄中的登錄子機碼擷取值 (HKEY_CURRENT_USER 或HKEY_LOCAL_MACHINE) 。

語法

LSTATUS SHRegGetUSValueA(
  [in]                LPCSTR pszSubKey,
  [in, optional]      LPCSTR pszValue,
  [in, out, optional] DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out, optional] DWORD  *pcbData,
  [in]                BOOL   fIgnoreHKCU,
  [in, optional]      void   *pvDefaultData,
  [in]                DWORD  dwDefaultDataSize
);

參數

[in] pszSubKey

類型: LPCTSTR

以子機碼名稱相對於 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER的 Null 終止字串指標。 例如:「Software\MyCompany\MyProduct」。。

[in, optional] pszValue

類型: LPCTSTR

具有值名稱之 Null 終止字串的指標。 此值可以是 NULL

[in, out, optional] pdwType

類型: DWORD*

接收所擷取值中所儲存數據類型之 DWORD 的指標。 使用預設值時,輸入 pdwType 是預設值的類型。 如需可能的值,請參閱 登錄數據類型。 如果不需要類型資訊,此參數可以是 NULL

[out, optional] pvData

類型: void*

接收值數據之緩衝區的指標。

[in, out, optional] pcbData

類型: DWORD*

變數的指標,指定 pvData 所指向緩衝區的大小,以位元組為單位。 當 SHRegGetUSValue 傳回時,就會包含複製到 pvData 的數據大小。

[in] fIgnoreHKCU

類型: BOOL

變數,指定要查看的索引鍵。 當設定為 TRUE 時, SHRegGetUSValue 會忽略 HKEY_CURRENT_USER ,並從 HKEY_LOCAL_MACHINE底下的機碼傳回值。

[in, optional] pvDefaultData

類型: void*

接收值預設數據的緩衝區指標。

[in] dwDefaultDataSize

類型: DWORD

pvDefaultData 所指向之緩衝區的長度,以位元組為單位。

傳回值

類型: LSTATUS

如果成功,則傳回ERROR_SUCCESS,否則會傳回 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來擷取錯誤的一般描述。

備註

fIgnore HKCU 設定為 TRUE 時, SHRegGetUSValue 會從索引鍵的 [HKEY_LOCAL_MACHINE] 底下傳回值。 當設定為 FALSE 時, SHRegGetUSValue 會先嘗試從 HKEY_CURRENT_USER底下的機碼傳回值。 不過,如果在 HKEY_CURRENT_USER 下找不到索引鍵,則會從 HKEY_LOCAL_MACHINE底下的索引鍵傳回值。 如果索引鍵不存在,或發生錯誤且 dwDefaultDataSize 為非零值,則會將預設數據複製到 pvData 並傳回ERROR_SUCCESS。 ERROR_SUCCESS會針對預設和非預設數據傳回 ,而且無法區分哪些值複製到 pvData。 若要防止使用預設數據,請將 pvDefaultData 設定為 NULL ,並將 dwDefaultDataSize 設定為零。

此函式會在每次使用時開啟金鑰。 如果您的程式代碼牽涉到從相同的索引鍵取得一系列值,使用 SHRegOpenUSKey 開啟密鑰一次,然後使用 SHRegQueryUSValue 來擷取數據會更有效率。

注意

shlwapi.h 標頭會將SHRegGetUSValue定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或Unicode版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 shlwapi.h
程式庫 Shlwapi.lib
Dll Shlwapi.dll (4.71 版或更新版本)