Freigeben über


Verwenden von SetupAPI zum Deinstallieren von Geräten und Treiberpaketen

SetupAPI ist eine Systemkomponente, die verschiedene Funktionssätze bereitstellt, einschließlich Geräteinstallationsfunktionen.

Geräteinstallationsanwendungen, Co-Installer und Klasseninstallationsprogramme können diese Funktionen verwenden, um benutzerdefinierte Vorgänge für die Geräteinstallation auszuführen. SetupAPI unterstützt auch die Deinstallation der von ihr installierten Geräte und Treiberpakete .

In diesem Thema werden die Verfahren beschrieben, die Sie zum Deinstallieren von Geräten und Treiberpaketen mithilfe der SetupAPI-Funktionen ausführen können.

Weitere Informationen zum Deinstallieren von Treiber- und Treiberpaketen finden Sie unter "Deinstallation von Geräten und Treiberpaketen".

Deinstallieren des Geräts

SetupAPI ermöglicht es Ihnen, ein Gerät zu deinstallieren und den Geräteknoten (Devnode) mithilfe der folgenden Methoden aus dem System zu entfernen:

  • Eine Geräteinstallationsanwendung kann anfordern, dass ein Gerät deinstalliert wird, indem die SetupDiCallClassInstaller-Funktion aufgerufen wird. Wenn die Anwendung diese Funktion aufruft, um ein Gerät zu deinstallieren, muss der InstallFunction-Parameter auf den DIF_REMOVE Code festgelegt werden. Eine Liste aller DIF-Codes finden Sie unter Geräteinstallationsfunktionen.

    Wenn SetupDiRemoveDevice während der Verarbeitung der DIF_REMOVE Anforderung aufgerufen wird, entfernt die Funktion die Devnode des Geräts aus dem System. Außerdem werden die Hardware- und Softwareregistrierungsschlüssel des Geräts zusammen mit allen hardwareprofilspezifischen Registrierungsschlüsseln (konfigurationsspezifische Registrierungsschlüssel) gelöscht.

    HinweisSetupDiRemoveDevice darf nur von einem Klasseninstallationsprogramm und nicht von einer Geräteinstallationsanwendung aufgerufen werden.

    Weitere Informationen zu DIF-Codes finden Sie unter Behandeln von DIF-Codes.

  • Ab Windows 7 kann eine Geräteinstallationsanwendung ein Gerät deinstallieren, indem die DiUninstallDevice-Funktion aufgerufen wird. Diese Funktion ähnelt dem Aufrufen von SetupDiCallClassInstaller , wobei der InstallFunction-Parameter auf DIF_REMOVE festgelegt ist. Zusätzlich zum Entfernen der Devnode des angegebenen Geräts versucht diese Funktion jedoch, alle untergeordneten Devnodes des Geräts zu entfernen, die zum Zeitpunkt des Aufrufs auf dem System vorhanden sind.

Löschen eines Treiberpakets aus dem Treiberspeicher

Ab Windows XP kann eine Geräteinstallationsanwendung die SetupUninstallOEMInf-Funktion aufrufen, um eine angegebene INF-Datei aus dem INF-Systemdateiverzeichnis zu entfernen.

Ab Windows Vista entfernt diese Funktion auch das Treiberpaket, das die angegebene INF-Datei enthält, aus dem Treiberspeicher.

Alternativ kann eine Geräteinstallationsanwendung DiUninstallDriver aufrufen, um ein Treiberpaket aus dem Treiberspeicher zu entfernen.

Weitere Informationen zum Entfernen eines Treiberpakets aus dem Treiberspeicher finden Sie unter Löschen eines Treiberpakets aus dem Treiberspeicher.

Löschen der Binärdateien des installierten Treibers

SetupAPI kann nicht zum Ausführen dieser Aktion verwendet werden.