SHRegGetUSValueW 函式 (shlwapi.h)
從使用者特定子樹的登錄子機碼擷取值(HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE)。
語法
LSTATUS SHRegGetUSValueW(
[in] LPCWSTR pszSubKey,
[in, optional] LPCWSTR 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_MACHINE 和 HKEY_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 所指向之緩衝區的大小,以位元組為單位,。
[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 旗標來擷取錯誤的泛型描述。
言論
當 fIgnoreHKCU 設定 為 true時,SHRegGetUSValue 會從 HKEY_LOCAL_MACHINE下的索引鍵傳回值。 當設定為 FALSE時,SHRegGetUSValue 會先嘗試從 HKEY_CURRENT_USER底下的機碼傳回值。 不過,如果在 HKEY_CURRENT_USER下找不到索引鍵,則值會從 HKEY_LOCAL_MACHINE下的索引鍵傳回。 如果索引鍵不存在,或發生錯誤且
此函式會在每次使用時開啟金鑰。 如果您的程式代碼牽涉到從同一個索引鍵取得一系列值,則使用 SHRegOpenUSKey 開啟密鑰,然後使用 SHRegQueryUSValue 來擷取數據更有效率。
注意
shlwapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SHRegGetUSValue 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlwapi.h |
連結庫 | Shlwapi.lib |
DLL | Shlwapi.dll (4.71 版或更新版本) |