Freigeben über


SetupDiRemoveDevice-Funktion (setupapi.h)

Die SetupDiRemoveDevice-Funktion ist der Standardhandler für die DIF_REMOVE Installationsanforderung.

Syntax

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

Parameter

[in] DeviceInfoSet

Ein Handle für einen Geräteinformationssatz für das lokale System, das ein Geräteinformationselement enthält, das das zu entfernende Gerät darstellt.

[in, out] DeviceInfoData

Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur , die das Geräteinformationselement in DeviceInfoSet angibt. Dies ist ein IN-OUT-Parameter, da DeviceInfoSet. DevInst kann bei der Rückgabe mit einem neuen Handle-Wert aktualisiert werden. Wenn es sich um eine globale Entfernung oder die letzte hardwareprofilspezifische Entfernung handelt, werden alle Ablaufverfolgungen der gerätespezifischen instance aus der Registrierung gelöscht, und das Handle ist NULL.

Rückgabewert

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist. Andernfalls wird FALSE zurückgegeben, und der protokollierte Fehler kann durch einen Aufruf von GetLastError abgerufen werden.

Hinweise

SetupDiRemoveDevice entfernt das Gerät aus dem System. Es löscht die Hardware- und Softwareregistrierungsschlüssel des Geräts sowie alle hardwareprofilspezifischen Registrierungsschlüssel (konfigurationsspezifische Registrierungsschlüssel). Diese Funktion beendet das Gerät dynamisch, wenn sein DevInst aktiv ist, und dies ist eine globale Entfernung oder die letzte konfigurationsspezifische Entfernung. Wenn das Gerät nicht dynamisch angehalten werden kann, werden flags im Block Installationsparameter des Geräteinformationssatzes festgelegt, wodurch der Benutzer schließlich aufgefordert wird, den Computer neu zu starten.

Die Geräteentfernung erfolgt entweder global für alle Hardwareprofile oder spezifisch für ein Hardwareprofil, wie im Bereichselement der SP_REMOVEDEVICE_PARAMS-Struktur angegeben, die die Klasseninstallationsparameter für die DIF_REMOVE Anforderung bereitstellt. Die konfigurationsspezifische Entfernung ist nur für root-enumerierte Geräte geeignet und sollte nur vom Systemcode angefordert werden.

Der Aufrufer von SetupDiRemoveDevice muss Mitglied der Gruppe Administratoren sein.

Hinweis Nur ein Klasseninstallationsprogramm sollte SetupDiRemoveDevice aufrufen und nur in situationen, in denen das Klasseninstallationsprogramm Geräteentfernungsvorgänge ausführen muss, nachdem SetupDiRemoveDevice den Standardvorgang zum Entfernen von Geräten abgeschlossen hat. In solchen Situationen muss das Klasseninstallationsprogramm SetupDiRemoveDevice direkt aufrufen, wenn das Installationsprogramm eine DIF_REMOVE-Anforderung verarbeitet. Weitere Informationen zum Aufrufen des Standardhandlers finden Sie unter Aufrufen von DIF-Standardcodehandlern.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile setupapi.h (schließen Sie Setupapi.h ein)
Bibliothek Setupapi.lib
DLL Setupapi.dll

Weitere Informationen

SP_DEVINFO_DATA

SP_REMOVEDEVICE_PARAMS