次の方法で共有


WdfRegistryRemoveKey 関数 (wdfregistry.h)

[KMDF と UMDF に適用]

WdfRegistryRemoveKey メソッドは、指定したフレームワーク レジストリ キー オブジェクトに関連付けられているレジストリ キーを削除し、レジストリ キー オブジェクトを削除します。

構文

NTSTATUS WdfRegistryRemoveKey(
  [in] WDFKEY Key
);

パラメーター

[in] Key

開かれたレジストリ キーを表すレジストリ キー オブジェクトへのハンドル。

戻り値

操作が成功した場合、WdfRegistryRemoveKey はSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは次のいずれかの値を返す可能性があります。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST

IRQL = PASSIVE_LEVEL で WdfRegistryRemoveKey が呼び出されませんでした。

STATUS_ACCESS_DENIED
ドライバーが削除アクセス権を持つレジストリ キーを開けませんでした。
STATUS_NOT_IMPLEMENTED
「解説」を参照してください。
 

このメソッドは、他の NTSTATUS 値を返す場合もあります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

注意

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

  

KMDF ドライバーから、同じキー に対して WdfRegistryRemoveKeyWdfRegistryClose を呼び出さないでください。 WdfRegistryRemoveKey が返された後、WDFKEY は無効になります。

 
UMDF ドライバーが WdfRegistryRemoveKey を呼び出すことは有効ですが、呼び出しは常に STATUS_NOT_IMPLEMENTEDを返します。 WDFKEY オブジェクトを削除するには、UMDF ドライバーで WdfRegistryClose を呼び出す必要があります。

レジストリ キー オブジェクトの詳細については、「 Framework-Based ドライバーでのレジストリの使用」を参照してください。

次のコード例では、レジストリ キーを削除し、レジストリ キー オブジェクトを削除します。

NTSTATUS  status;

status = WdfRegistryRemoveKey(Key);

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfregistry.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)