SetupDiRemoveDevice 関数 (setupapi.h)
SetupDiRemoveDevice 関数は、DIF_REMOVEインストール要求の既定のハンドラーです。
構文
WINSETUPAPI BOOL SetupDiRemoveDevice(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
パラメーター
[in] DeviceInfoSet
削除するデバイスを表す デバイス情報 要素を含むローカル システムのデバイス情報セットへのハンドル。
[in, out] DeviceInfoData
DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 DeviceInfoSet のため、これは IN-OUT パラメーターです。DevInst は、戻り時に新しいハンドル値で更新される場合があります。 これがグローバルな削除または最後のハードウェア プロファイル固有の削除である場合、デバイス インスタンスのすべてのトレースがレジストリから削除され、ハンドルは NULL になります。
戻り値
成功した場合、この関数は TRUE を 返します。 それ以外の場合は FALSE を 返し、ログに記録されたエラーは GetLastError の呼び出しによって取得できます。
注釈
SetupDiRemoveDevice は 、システムからデバイスを削除します。 デバイスのハードウェアとソフトウェアのレジストリ キーと、ハードウェア プロファイル固有のレジストリ キー (構成固有のレジストリ キー) が削除されます。 この関数は、 DevInst がアクティブであり、これがグローバルな削除または最後の構成固有の削除である場合に、デバイスを動的に停止します。 デバイスを動的に停止できない場合は、デバイス情報セットの [パラメーターのインストール] ブロックにフラグが設定され、最終的にユーザーにコンピューターの再起動を求めるメッセージが表示されます。
デバイスの削除は、すべてのハードウェア プロファイルに対してグローバルであるか、DIF_REMOVE要求のクラス インストール パラメーターを提供するSP_REMOVEDEVICE_PARAMS構造体の Scope メンバーによって指定された 1 つのハードウェア プロファイルに固有です。 構成固有の削除は、ルート列挙デバイスにのみ適しており、システム コードからのみ要求する必要があります。
SetupDiRemoveDevice の呼び出し元は、Administrators グループのメンバーである必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |