RegDeleteKeyA 関数 (winreg.h)

サブキーとその値を削除します。 キー名では大文字と小文字は区別されないことに注意してください。

64 ビット Windows: WOW64 では、32 ビット アプリケーションは、64 ビット アプリケーションが表示するレジストリ ツリーとは別のレジストリ ツリーを表示します。 アプリケーションで代替レジストリ ビューのエントリを削除できるようにするには、 RegDeleteKeyEx 関数を使用します。

構文

LSTATUS RegDeleteKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey
);

パラメーター

[in] hKey

開いているレジストリ キーへのハンドル。 このキーのアクセス権は、削除操作には影響しません。 アクセス権の詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。

このハンドルは、 RegCreateKeyEx または RegOpenKeyEx 関数によって返されます。または、次の 定義済みキーのいずれかになります。

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

削除するキーの名前。 hKey が識別するキーのサブキーである必要がありますが、サブキーを持つことはできません。 このパラメーターを NULL にすることはできません。

関数は、DELETE アクセス権を持つサブキーを開きます。

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

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

戻り値

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

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

解説

削除されたキーは、最後のハンドルが閉じられるまで削除されません。

削除するサブキーにサブキーを含めてはなりません。 キーとそのすべてのサブキーを削除するには、サブキーを列挙して個別に削除する必要があります。 キーを再帰的に削除するには、 RegDeleteTree または SHDeleteKey 関数を 使用します。

この関数を使用する例については、「 サブキーを使用したキーの削除」を参照してください。

Note

従来のバージョンの Windows では、この API は kernel32.dll によっても公開されます。

Note

winreg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして RegDeleteKey を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winreg.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

関連項目

RegCloseKey

RegCreateKeyEx

RegDeleteTree

RegOpenKeyEx

レジストリ関数

レジストリの概要

SHDeleteEmptyKey

SHDeleteKey