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 アクセス用にハンドルが開かれている必要があります。 詳細については、「ZwCreateKey の DesiredAccess パラメーター」を参照してください。
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) |