OREnumKey 函式
列舉離線登錄區中指定之開啟登錄機碼的子機碼。 函式會在每次呼叫時擷取一個子機碼的相關資訊。
語法
DWORD OREnumKey(
_In_ ORHKEY Handle,
_In_ DWORD dwIndex,
_Out_ PWSTR lpName,
_Inout_ PDWORD lpcName,
_Out_opt_ PWSTR lpClass,
_Inout_opt_ PDWORD lpcClass,
_Out_opt_ PFILETIME lpftLastWriteTime
);
參數
-
控制碼 [in]
-
離線登錄區中開啟登錄機碼的控制碼。
-
dwIndex [in]
-
要擷取之子機碼的索引。 第一次呼叫函式時,此參數應該是零,然後針對後續呼叫遞增。
因為子機碼未排序,所以任何新的子機碼都會有任意索引。 這表示函式可以依任何順序傳回子機碼。
-
lpName [out]
-
接收子機碼名稱之緩衝區的指標,包括終止的 Null 字元。 函式只會將子機碼的名稱,而不是完整金鑰階層複製到緩衝區。 如果函式失敗,則不會將任何資訊複製到這個緩衝區。
如需詳細資訊,請參閱 登錄專案大小限制。
-
lpcName [in, out]
-
變數的指標,指定WCHAR中lpName參數所指定的緩衝區大小。 此大小應包含終止 Null 字元。 如果函式成功, lpcName 所指向的變數會包含儲存在緩衝區中的字元數,不包括終止的 Null 字元。
-
lpClass [out, 選擇性]
-
緩衝區的指標,接收列舉子機碼的 Null 終止類別字串。 此參數可以是 Null。
-
lpcClass [in, out, optional]
-
變數的指標,指定WCHAR中lpClass參數所指定的緩衝區大小。 大小應包含終止 Null 字元。 如果函式成功, lpcClass 會包含儲存在緩衝區中的字元數,不包括終止的 Null 字元。 只有當lpClass為Null時,此參數才能為Null。
-
lpftLastWriteTime [out, optional]
-
FILETIME結構的指標,會接收上次寫入列舉子機碼的時間。 此參數可以是 Null。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來取得錯誤的泛型描述。 可能的錯誤碼包括下列各項:
- 如果 lpName 緩衝區太小而無法接收索引鍵的名稱,則函式會傳回ERROR_MORE_DATA。
- 如果沒有其他可用的子機碼,函式會傳回ERROR_NO_MORE_ITEMS。
備註
若要列舉子機碼,應用程式一開始應該呼叫 OREnumKey 函式, 並將 dwIndex 參數設定為零。 然後,應用程式應該遞增 dwIndex 參數並呼叫 OREnumKey ,直到沒有任何子機碼 (表示函式會傳回ERROR_NO_MORE_ITEMS) 。
應用程式也可以在第一次呼叫函式時,將 dwIndex 設定為最後一個子機碼的索引,並遞減索引,直到列舉索引 0 的子機碼為止。 若要擷取最後一個子機碼的索引,請使用 ORQueryInfoKey 函式。
當應用程式使用 OREnumKey 函 式時,它不應該呼叫任何可能會變更所列舉金鑰的離線登錄函式。
規格需求
需求 | 值 |
---|---|
可轉散發套件 |
Windows 離線登錄程式庫 1.0 版或更新版本 |
標頭 |
|
DLL |
|
另請參閱