共用方式為


RegQueryValueW 函式 (winreg.h)

擷取與指定登錄機碼之預設或未命名值相關聯的資料。 資料必須是 以 Null結尾的字串。

注意 此函式僅適用于與 16 位版本的 Windows 相容。 應用程式應該使用 RegQueryValueEx 函式。
 

語法

LSTATUS RegQueryValueW(
  [in]                HKEY    hKey,
  [in, optional]      LPCWSTR lpSubKey,
  [out, optional]     LPWSTR  lpData,
  [in, out, optional] PLONG   lpcbData
);

參數

[in] hKey

開啟登錄機碼的控制碼。 金鑰必須已以KEY_QUERY_VALUE存取權限開啟。 如需詳細資訊,請參閱 登錄機碼安全性和存取權限

RegCreateKeyExRegCreateKeyTransactedRegOpenKeyEx 或 RegOpenKeyTransacted 函式會傳回此控制碼。 它也可以是下列其中一個 預先定義的金鑰

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in, optional] lpSubKey

擷取預設值之 hKey 參數的子機碼名稱。

索引鍵名稱不區分大小寫。

如果此參數為 Null 或指向空字串,則函式會擷取 hKey所識別索引鍵的預設值。

如需詳細資訊,請參閱 登錄專案大小限制

[out, optional] lpData

接收指定索引鍵預設值之緩衝區的指標。

如果 lpValueNull,且 lusbValue 為非Null,則函式會傳回ERROR_SUCCESS,並將資料的大小儲存在 lusbValue所指向的變數中。 這可讓應用程式判斷為值資料配置緩衝區的最佳方式。

[in, out, optional] lpcbData

變數的指標,指定 lpValue 參數所指向的緩衝區大小,以位元組為單位。 當函式傳回時,此變數包含複製到 lpValue的資料大小,包括任何終止 的 Null 字元。

如果資料具有REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ類型,則此大小會包含任何終止 的 Null 字元或字元。 如需詳細資訊,請參閱<備註>。

如果指定的緩衝區 lpValue 不夠大,無法保存資料,則函式會傳回ERROR_MORE_DATA,並將所需的緩衝區大小儲存在 l其Value所指向的變數中。 在此情況下, 未定義 lpValue 緩衝區的內容。

傳回值

如果函式成功,傳回值會ERROR_SUCCESS。

如果函式失敗,則傳回值是 系統錯誤碼

如果 lpValue 緩衝區太小而無法接收值,則函式會傳回ERROR_MORE_DATA。

備註

如果藉由明確呼叫 RegQueryValueA 或未定義 UNICODE 來使用此函式的 ANSI 版本 (,或在包含 Windows.h 檔案) 之前未定義 UNICODE,則此函式會在將預存的 Unicode 字串複製到 lpValue 參數所指定的緩衝區之前,先將預存的 Unicode 字串轉換成 ANSI 字串。

如果資料具有REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ類型,字串可能尚未以適當的 null終止字元儲存。 因此,即使函式傳回ERROR_SUCCESS,應用程式也應該確保字串在使用之前已正確終止;否則,它可能會覆寫緩衝區。 (請注意,REG_MULTI_SZ字串應該有兩個 null終止字元。)

請注意,存取特定登錄機碼的作業會重新導向。 如需詳細資訊,請參閱登錄中的登錄虛擬化和 32 位和 64 位應用程式資料

注意

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

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winreg.h (包括 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

RegEnumKeyEx

RegEnumValue

RegQueryInfoKey

RegQueryValueEx

RegSetValueEx

登錄函式

登錄概觀