共用方式為


SHGetValueW 函式 (shlwapi.h)

擷取登錄值。

語法

LSTATUS SHGetValueW(
  [in]                HKEY    hkey,
  [in, optional]      LPCWSTR pszSubKey,
  [in, optional]      LPCWSTR 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 Professional、Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shlwapi.h
連結庫 Shlwapi.lib
DLL Shlwapi.dll (4.71 版或更新版本)