次の方法で共有


OREnumKey 関数

オフライン レジストリ ハイブで指定された開いているレジストリ キーのサブキーを列挙します。 関数は、呼び出されるたびに 1 つのサブキーに関する情報を取得します。

構文

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
);

パラメーター

ハンドル [入力]

オフライン レジストリ ハイブで開いているレジストリ キーへのハンドル。

dwIndex [in]

取得するサブキーのインデックス。 このパラメーターは、関数の最初の呼び出しでは 0 で、その後の呼び出しではインクリメントする必要があります。

サブキーは順序付けされないため、新しいサブキーには任意のインデックスが付きます。 つまり、関数は任意の順序でサブキーを返す可能性があります。

lpName [out]

サブキーの名前を受け取るバッファーへのポインター (終端の null 文字を含む)。 関数は、完全なキー階層ではなく、サブキーの名前のみをバッファーにコピーします。 関数が失敗した場合、このバッファーに情報はコピーされません。

詳細については、「 レジストリ要素のサイズ制限」を参照してください。

lpcName [in, out]

WCHARlpName パラメーターで指定されたバッファーのサイズを指定する変数へのポインター。 このサイズには、終端の null 文字を含める必要があります。 関数が成功した場合、 lpcName が指す変数には、バッファーに格納されている文字数が含まれますが、終端の null 文字は含まれません。

lpClass [out, optional]

列挙されたサブキーの null で終わるクラス文字列を受け取るバッファーへのポインター。 このパラメーターは、NULL でもかまいません。

lpcClass [in, out, optional]

WCHARlpClass パラメーターで指定されたバッファーのサイズを指定する変数へのポインター。 サイズには、終端の null 文字を含める必要があります。 関数が成功した場合、 lpcClass にはバッファーに格納されている文字数が含まれますが、終端の null 文字は含まれません。 このパラメーターは、lpClassNULL の場合にのみ NULL にすることができます。

lpftLastWriteTime [out, optional]

列挙サブキーが最後に書き込まれた時刻を受け取る FILETIME 構造体へのポインター。 このパラメーターは、NULL でもかまいません。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。

関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用すると、エラーの一般的な説明を取得できます。 考えられるエラー コードは次のとおりです。

  • lpName バッファーが小さすぎてキーの名前を受け取れなければ、関数は ERROR_MORE_DATAを返します。
  • 使用可能なサブキーがこれ以上ない場合、関数は ERROR_NO_MORE_ITEMSを返します。

解説

サブキーを列挙するには、アプリケーションは最初に、dwIndex パラメーターを 0 に設定して OREnumKey 関数を呼び出す必要があります。 その後、アプリケーションは dwIndex パラメーターをインクリメントし、サブキーがなくなったまで OREnumKey を呼び出す必要があります (つまり、関数はERROR_NO_MORE_ITEMSを返します)。

また、アプリケーションは、関数の最初の呼び出しで最後のサブキーのインデックスに dwIndex を設定し、インデックス 0 のサブキーが列挙されるまでインデックスをデクリメントすることもできます。 最後のサブキーのインデックスを取得するには、 ORQueryInfoKey 関数を使用します。

アプリケーションは OREnumKey 関数を使用していますが、列挙するキーを変更する可能性のあるオフライン レジストリ関数を呼び出さないでください。

要件

要件
再頒布可能パッケージ
Windows オフライン レジストリ ライブラリ バージョン 1.0 以降
ヘッダー
Offreg.h
[DLL]
Offreg.dll

関連項目

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey