次の方法で共有


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 ドライバーから、WdfRegistryRemoveKey を呼び出し、同じキーで WdfRegistryClose しないでください。 WdfRegistryRemoveKey が返 後、WDFKEY は無効になります。

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

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

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

NTSTATUS  status;

status = WdfRegistryRemoveKey(Key);

必要条件

要件 価値
ターゲット プラットフォーム 万国
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfregistry.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)