SHGetValueA 函式 (shlwapi.h)
擷取登錄值。
語法
LSTATUS SHGetValueA(
[in] HKEY hkey,
[in, optional] LPCSTR pszSubKey,
[in, optional] LPCSTR pszValue,
[out, optional] DWORD *pdwType,
[out, optional] void *pvData,
[in, out, optional] DWORD *pcbData
);
參數
[in] hkey
類型: HKEY
目前開啟索引鍵的控制碼,或下列任何預先定義的值。
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
[in, optional] pszSubKey
類型: LPCTSTR
Null 終止字串的位址,指定要從中擷取值之子機碼的名稱。
[in, optional] pszValue
類型: LPCTSTR
值的位址。
[out, optional] pdwType
類型: LPDWORD
值的類型。 如需詳細資訊,請參閱 登錄資料類型。
[out, optional] pvData
類型: LPVOID
目的地資料緩衝區的位址。
[in, out, optional] pcbData
類型: LPDWORD
目的地資料緩衝區的大小。
傳回值
類型: LSTATUS
如果成功,則傳回ERROR_SUCCESS,否則傳回 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來擷取錯誤的泛型描述。
備註
如果您的應用程式必須設定/擷取相同機碼中的一系列值,最好是開啟機碼一次,並使用一般 Microsoft Win32 登錄函式來設定/擷取值,而不是重複使用此函式。
注意
shlwapi.h 標頭會將 SHGetValue 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (4.71 版或更新版本) |