Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een DIF_REMOVE aanvraag meldt een installatieprogramma dat Windows op het punt staat een apparaat te verwijderen en geeft het installatieprogramma de mogelijkheid om de verwijdering voor te bereiden.
Wanneer verzonden
Wanneer een gebruiker een apparaat in Apparaatbeheer verwijdert.
Wie verwerkt
Co-installatieprogramma van klasse |
Kan verwerken |
Co-installatieprogramma voor apparaten |
Kan verwerken |
Klasse-installatieprogramma |
Kan verwerken |
Invoer van installatieprogramma
DeviceInfoSet
Hiermee wordt een ingang geleverd aan de apparaatgegevensset die het apparaat bevat dat moet worden verwijderd.
DeviceInfoData
Hiermee wordt een aanwijzer geleverd aan een SP_DEVINFO_DATA structuur voor het apparaat in de gegevensset van het apparaat.
Parameters voor apparaatinstallatie
Er zijn apparaatinstallatieparameters (SP_DEVINSTALL_PARAMS) gekoppeld aan DeviceInfoData.
Parameters voor klasse-installatie
Een SP_REMOVEDEVICE_PARAMS structuur kan worden gekoppeld aan DeviceInfoData.
Er zijn geen installatieparameters voor de klasse voor de aanvraag als de vlag DI_CLASSINSTALLPARAMS in de SP_DEVINSTALL_PARAMS is uitgeschakeld. In dit geval wordt er geen hardwareprofiel opgegeven en moet het apparaat als geheel uit het systeem worden verwijderd.
Uitvoer van installatieprogramma
Retourwaarde van installatieprogramma
Een co-installatieprogramma kan NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED of een Win32-foutcode retourneren.
Als een klasse-installatieprogramma deze aanvraag verwerkt en SetupDiCallClassInstaller vervolgens de standaardhandler moet aanroepen, retourneert het installatieprogramma van de klasse ERROR_DI_DO_DEFAULT.
Als het installatieprogramma van de klasse deze aanvraag verwerkt, inclusief het rechtstreeks aanroepen van de standaardhandler, moet het installatieprogramma van de klasse NO_ERROR retourneren en setupDiCallClassInstaller de standaardhandler vervolgens niet opnieuw aanroepen.
Opmerking Het klasse-installatieprogramma kan de standaardhandler rechtstreeks aanroepen, maar het klasse-installatieprogramma mag nooit proberen de bewerkingen van de standaardhandler te vervangen.
Zie De standaard-DIF-codehandlers aanroepen voor meer informatie over het aanroepen van de standaardhandler.
Als het klasse-installatieprogramma een fout tegenkomt, moet het installatieprogramma een geschikte Win32-foutcode retourneren en setupDiCallClassInstaller vervolgens de standaardhandler niet aanroepen.
Standaard DIF-codehandler
Installatieprogramma
In reactie op een DIF_REMOVE aanvraag voert een installatieprogramma doorgaans enkele opschoonbewerkingen uit. In dit geval retourneert een co-installatieprogramma NO_ERROR en retourneert een klasse-installatieprogramma ERROR_DI_DO_DEFAULT.
Als een installatieprogramma vaststelt dat het apparaat niet mag worden verwijderd, mislukt het installatieprogramma de DIF-aanvraag door een Win32-foutcode te retourneren. Als de vlag DI_QUIETINSTALL duidelijk is, moet het installatieprogramma een bericht weergeven aan de gebruiker waarin wordt uitgelegd waarom het apparaat niet wordt verwijderd.
Co-installatieprogramma's mogen niet proberen het apparaat zelf te verwijderen door SetupDiRemoveDevice aan te roepen. Co-installatieprogramma's verwerken deze aanvraag meestal na het verwerken, nadat het apparaat is verwijderd.
Als een co-installatieprogramma bijvoorbeeld informatie in het register moet verwijderen, moet het co-installatieprogramma dit doen bij naverwerking en alleen als de vorige installatieprogramma's de verwijderingsaanvraag hebben voltooid. In de voorverwerkingspas moet het co-installatieprogramma de registergegevens opslaan in de contextparameter en ERROR_DI_POSTPROCESSING_REQUIRED retourneren om postverwerking aan te vragen. Wanneer Windows het co-installatieprogramma aanroept voor naverwerking van deze DIF-aanvraag, moet het co-installatieprogramma controleren of de DIF-status is NO_ERROR en vervolgens de registergegevens verwijderen. Als een co-installatieprogramma registergegevens verwijdert in de voorverwerkingspas en het klasse-installatieprogramma (of een ander co-installatieprogramma) de DIF_REMOVE mislukt, kan het co-installatieprogramma het apparaat in een onvoorspelbare status laten.
Installatieprogramma's mogen geen bestanden verwijderen bij het verwerken van deze DIF-aanvraag, voor het geval de bestanden door een ander apparaat worden gebruikt.
Windows deze DIF-aanvraag verzendt voordat de verwerking van PnP-query's wordt gestart en verwijderd.
Zie Dif-codes verwerken voor meer informatie over DIF-codes.
Requirements
Version |
Ondersteund in Microsoft Windows 2000 en latere versies van Windows. |
Header |
Setupapi.h (inclusief Setupapi.h) |