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訪問許可權開啟。 如需詳細資訊,請參閱 登錄機碼安全性和訪問許可權。
RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx 或 RegOpenKeyTransacted 函式會傳回此句柄。 它也可以是下列其中一個 預先定義的索引鍵:
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 字元。
如果 lpClass 為 NULL,lpcClass 可以是 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 標頭會將 RegQueryInfoKey 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winreg.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |