次の方法で共有


ORDeleteKey 関数

オフライン レジストリ ハイブからサブキーとその値を削除します。

構文

DWORD ORDeleteKey(
  _In_     ORHKEY Handle,
  _In_opt_ PCWSTR lpSubKey
);

パラメーター

ハンドル [入力]

オフライン レジストリ ハイブで開いているレジストリ キーへのハンドル。 このハンドルは、 ORCreateKey または OROpenKey 関数によって返されます。

lpSubKey [in, optional]

削除するキーの名前。 ハンドルが識別するキーのサブキーである必要がありますが、サブキーを持つことはできません。

サブキーが存在しない場合、関数は ERROR_NOT_FOUNDを返します。

このパラメーターが NULL の場合、関数は Handle パラメーターで指定されたキーを削除します。 Handle パラメーターで指定されたキーがハイブのルート キーである場合、関数は ERROR_INVALID_PARAMETERを返します。

キー名では大文字と小文字は区別されません。

戻り値

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

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

  • 指定したサブキーが存在しない場合、関数は ERROR_FILE_NOT_FOUNDを返します。
  • 指定したサブキーがレジストリ ハイブのルート キーである場合、関数は ERROR_INVALID_PARAMETERを返します。
  • 指定したサブキーにサブキーがある場合、関数は ERROR_KEY_HAS_CHILDRENを返します。

解説

指定したレジストリ キーが存在する場合は、削除済みとしてマークされます。 削除されたキーは、最後のハンドルが閉じられるまで削除されません。

削除するキーにサブキーを含めてはなりません。 キーとそのすべてのサブキーを削除するには、 OREnumKey 関数を使用してサブキーを列挙し、それらを個別に削除します。

削除されたキーに対して呼び出できるのは ORCloseKey 関数だけです。その他のオフライン レジストリ操作はすべて失敗します。 削除されたキーが ORCreateKey を呼び出して明示的に作成された場合、削除されたキーの最後のハンドルが閉じられると、キーに関連付けられているリソースが解放されます。

要件

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

関連項目

ORCloseKey

ORCreateKey

OREnumKey

OROpenKey