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 |