共用方式為


RegQueryInfoKeyW 函式 (winreg.h)

擷取指定之登錄機碼的相關信息。

語法

LSTATUS RegQueryInfoKeyW(
  [in]                HKEY      hKey,
  [out, optional]     LPWSTR    lpClass,
  [in, out, optional] LPDWORD   lpcchClass,
                      LPDWORD   lpReserved,
  [out, optional]     LPDWORD   lpcSubKeys,
  [out, optional]     LPDWORD   lpcbMaxSubKeyLen,
  [out, optional]     LPDWORD   lpcbMaxClassLen,
  [out, optional]     LPDWORD   lpcValues,
  [out, optional]     LPDWORD   lpcbMaxValueNameLen,
  [out, optional]     LPDWORD   lpcbMaxValueLen,
  [out, optional]     LPDWORD   lpcbSecurityDescriptor,
  [out, optional]     PFILETIME lpftLastWriteTime
);

參數

[in] hKey

開啟登錄機碼的句柄。 金鑰必須使用KEY_QUERY_VALUE訪問許可權開啟。 如需詳細資訊,請參閱 登入機碼安全性和存取權限

此句柄是由 RegCreateKeyExRegCreateKeyTransactedRegOpenKeyExRegOpenKeyTransacted 函式所傳回。 它也可以是下列其中一個 預先定義的索引鍵


   HKEY_CLASSES_ROOT
   HKEY_CURRENT_CONFIG
   HKEY_CURRENT_USER
   HKEY_LOCAL_MACHINE
   HKEY_PERFORMANCE_DATA
   HKEY_USERS

[out, optional] lpClass

接收索引鍵使用者定義類別之緩衝區的指標。 此參數可以是 NULL

[in, out, optional] lpcchClass

變數的指標,指定字元中 lpClass 參數所指向的緩衝區大小。

大小應包含終止 null 字元。 當函式傳回時,此變數會包含儲存在緩衝區中的類別字串大小。 傳回的計數不包含結束 null 字元。 如果緩衝區不夠大,函式會傳回ERROR_MORE_DATA,而變數會包含字串的大小,以字元為單位,而不會計算結束 null 字元。

如果 lpClassNULLlpcClass 就可以 NULL

如果 lpClass 參數是有效的位址,但 lpcClass 參數 不是,例如,它 NULL,則函式會傳回ERROR_INVALID_PARAMETER。

lpReserved

此參數是保留的,而且必須 NULL

[out, optional] lpcSubKeys

變數的指標,這個變數會接收指定索引鍵所包含的子機碼數目。 此參數可以是 NULL

[out, optional] lpcbMaxSubKeyLen

變數的指標,這個變數會接收名稱最長的索引鍵子機碼大小,以 Unicode 字元表示,不包含終止 null 字元。 此參數可以是 NULL

[out, optional] lpcbMaxClassLen

變數的指標,會接收 Unicode 字元中指定子機碼類別之最長字串的大小。 傳回的計數不包含結束 null 字元。 此參數可以是 NULL

[out, optional] lpcValues

變數的指標,可接收與索引鍵相關聯的值數目。 此參數可以是 NULL

[out, optional] lpcbMaxValueNameLen

在 Unicode 字元中,接收索引鍵最長值名稱大小的變數指標。 大小不包含終止 null 字元。 此參數可以是 NULL

[out, optional] lpcbMaxValueLen

變數的指標,可接收索引鍵值中最長數據元件的大小,以位元組為單位。 此參數可以是 NULL

[out, optional] lpcbSecurityDescriptor

接收金鑰之安全性描述元大小的變數指標,以位元組為單位。 此參數可以是 NULL

[out, optional] lpftLastWriteTime

FILETIME 結構的指標,可接收上次寫入時間。 此參數可以是 NULL

函式會設定 FILETIME 結構 的成員,指出上次修改索引鍵或其任何值項目的時間。

傳回值

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

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

如果 lpClass 緩衝區太小,無法接收類別的名稱,則函式會傳回ERROR_MORE_DATA。

言論

注意

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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winreg.h (包括 Windows.h)
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

登錄函式

登錄概觀