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]

變數的指標,指定WCHARlpName參數所指定的緩衝區大小。 此大小應包含終止 Null 字元。 如果函式成功, lpcName 所指向的變數會包含儲存在緩衝區中的字元數,不包括終止的 Null 字元。

lpClass [out, 選擇性]

緩衝區的指標,接收列舉子機碼的 Null 終止類別字串。 此參數可以是 Null

lpcClass [in, out, optional]

變數的指標,指定WCHARlpClass參數所指定的緩衝區大小。 大小應包含終止 Null 字元。 如果函式成功, lpcClass 會包含儲存在緩衝區中的字元數,不包括終止的 Null 字元。 只有當lpClassNull時,此參數才能為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 版或更新版本
標頭
Offreg.h
DLL
Offreg.dll

另請參閱

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey