RegDeleteKeyExW

指定されたプラットフォーム固有のレジストリビューから、サブキーとその値を削除する。(Unicode)

RegDeleteKeyExW hKey, lpSubKey, samDesired, Reserved

hKey : [intptr] 開かれているレジストリキーへのハンドル。このキーのアクセス権は削除操作に影響しない。アクセス権の詳細はレジストリキーのセキュリティとアクセス権を参照のこと。このハンドルは RegCreateKeyEx または RegOpenKeyEx 関数が返すか、以下の定義済みキーのいずれかを指定できる: HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS
lpSubKey : [wstr] 削除するキーの名前。このキーは hKey パラメータの値で指定されるキーのサブキーでなければならない。関数は DELETE アクセス権でサブキーを開く。キー名は大文字小文字を区別しない。このパラメータの値を NULL にすることはできない。
samDesired : [int] レジストリのプラットフォーム固有のビューを指定するアクセスマスク。
Reserved : [int] このパラメータは予約されており、0 でなければならない。

(プラグイン / モジュール : advapi32.dll)

解説

指定されたプラットフォーム固有のレジストリビューから、サブキーとその値を削除する。(Unicode)

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS となる。関数が失敗した場合、戻り値は Winerror.h で定義された 0
以外のエラーコードとなる。FormatMessage 関数に FORMAT_MESSAGE_FROM_SYSTEM
フラグを指定して呼び出すと、エラーの一般的な説明を取得できる。

[備考]
削除されたキーは、それに対する最後のハンドルが閉じられるまで実際には削除されない。WOW64 では、32 ビットアプリケーションは 64
ビットアプリケーションが参照するレジストリツリーとは別のレジストリツリーを参照する。この関数を使用すると、アプリケーションはもう一方のレジストリビュー内のエントリを削除できる。削除するサブキーはサブキーを持っていてはならない。キーとそのすべてのサブキーを削除するには、サブキーを列挙して個別に削除する必要がある。キーを再帰的に削除するには
RegDeleteTree または SHDeleteKey 関数を使用する。関数が成功した場合、RegDeleteKeyEx
は指定したキーをレジストリから削除する。キー全体(すべての値を含む)が削除される。> [!NOTE] > 古いバージョンの Windows
では、この API は kernel32.dll 経由でも公開されている。
> [!NOTE] > winreg.h ヘッダは RegDeleteKeyEx をエイリアスとして定義しており、UNICODE
プリプロセッサ定数の定義に基づいて ANSI または Unicode
版を自動的に選択する。エンコーディングに中立なエイリアスをエンコーディング中立でないコードと混在させると、コンパイル時または実行時エラーとなる可能性がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照のこと。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs