ZwDeleteKey 関数 (wdm.h)

ZwDeleteKey ルーチンは、開いているキーをレジストリから削除します。

構文

NTSYSAPI NTSTATUS ZwDeleteKey(
  [in] HANDLE KeyHandle
);

パラメーター

[in] KeyHandle

削除するレジストリ キーを処理します。 ハンドルは、 ZwCreateKey または ZwOpenKey の正常な呼び出しによって作成 されます

戻り値

ZwDeleteKey は NTSTATUS 値を返します。 可能な戻り値は次のとおりです。

  • STATUS_SUCCESS

  • STATUS_ACCESS_DENIED

  • STATUS_INVALID_HANDLE

  • STATUS_CANNOT_DELETE (「解説」を参照)

注釈

ZwDeleteKey を呼び出す前に、指定されたキーの下にあるすべてのキーと値が削除されていることを確認します。 最初に各サブキーを削除し、リーフ キーから始めて、作業を進めます。

このルーチンを正常に実行するには、DELETE アクセス用にハンドルが開かれている必要があります。 詳細については、「ZwCreateKeyDesiredAccess パラメーター」を参照してください。

ZwDeleteKey を呼び出すと、KeyHandle パラメーターで指定されたハンドルと、削除されたキーに対する他のすべてのハンドルが無効になります。 ZwDeleteKey の呼び出しによってキー ハンドルが無効にされた後、ZwClose を呼び出してキー ハンドルを閉じる必要があります。

レジストリ キーの操作の詳細については、「 ドライバーでのレジストリの使用」を参照してください。

この関数の呼び出しがユーザー モードで行われる場合は、"ZwDeleteKey" ではなく "NtDeleteKey" という名前を使用する必要があります。

カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)IrqlZwPassive(wdm)PowerIrpDDis(wdm)ZwRegistryCreate(storport)、ZwRegistryCreate(storport)、 ZwRegistryCreate(wdm)ZwRegistryOpen(storport)、ZwRegistryOpen(storport)、 ZwRegistryOpen(wdm)

こちらもご覧ください

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

ZwCreateKey

ZwOpenKey