SetupDiUnremoveDevice 関数 (setupapi.h)

SetupDiUnremoveDevice 関数は、DIF_UNREMOVEインストール要求の既定のハンドラーです。

構文

WINSETUPAPI BOOL SetupDiUnremoveDevice(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

パラメーター

[in] DeviceInfoSet

復元および再起動するデバイスを表す デバイス情報 要素を含むローカル システムのデバイス情報セットへのハンドル。

[in, out] DeviceInfoData

DeviceInfoSet のデバイス情報要素を指定するSP_DEVINFO_DATA構造体へのポインター。 DeviceInfoData のため、これは IN-OUT パラメーターです。DevInst は、戻り時に新しいハンドル値で更新される場合があります。

戻り値

成功した場合、関数は TRUE を 返します。 それ以外の場合は FALSE を 返し、ログに記録されたエラーは GetLastError の呼び出しによって取得できます。

注釈

SetupDiUnremoveDevice は 、デバイスをハードウェア プロファイルに復元します。 この関数は、可能であればデバイスを起動するか、デバイスのインストール パラメーターにフラグを設定します。これにより、最終的にユーザーにシステムのシャットダウンを求めるメッセージが表示されます。

メモ SetupDiUnremoveDevice を呼び出す必要があるのは、クラス インストーラーのみが SetupDiUnremoveDevice を呼び出す必要があり、 SetupDiUnremoveDevice が既定のデバイスの移動不可操作を完了した後に、クラス インストーラーがデバイスの移動を中止する操作を実行する必要がある状況でのみ実行されます。 このような状況では、インストーラーがDIF_UNREMOVE要求を処理するときに、クラス インストーラーが SetupDiUnremoveDevice を直接呼び出す必要があります。 既定のハンドラーの呼び出しの詳細については、「 既定の DIF コード ハンドラーの呼び出し」を参照してください。
 
復元されるデバイスには、 DIF_UNREMOVE のクラス インストール パラメーターが必要です。または、関数が失敗し、 GetLastError が ERROR_NO_CLASSINSTALL_PARAMSを返します。

DeviceInfoSet には、ローカル コンピューター上の要素のみが含まれている必要があります。

SetupDiUnremoveDevice の呼び出し元は、Administrators グループのメンバーである必要があります。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib
[DLL] Setupapi.dll

こちらもご覧ください

DIF_UNREMOVE

SP_DEVINFO_DATA

SetupDiRemoveDevice