DiUninstallDriverW, fonction (newdev.h)
La fonction DiUninstallDriver supprime un package de pilotes des appareils sur utilisant lequel il est installé en installant ces appareils avec un autre package de pilotes correspondant, le cas échéant, ou le pilote Null si aucun autre package de pilote correspondant n’est disponible. Ensuite, le package de pilotes spécifié est supprimé du magasin de pilotes .
Syntaxe
BOOL DiUninstallDriverW(
[in, optional] HWND hwndParent,
[in] LPCWSTR InfPath,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
Paramètres
[in, optional] hwndParent
Handle vers la fenêtre de niveau supérieur qui DiUninstallDriver doit utiliser pour afficher tout composant d’interface utilisateur associé à la désinstallation du pilote. Ce paramètre est facultatif et peut être défini sur NULL.
[in] InfPath
Pointeur vers une chaîne terminée par NULL qui fournit le chemin complet du fichier INF pour le package de pilotes .
[in] Flags
Valeur de type DWORD qui spécifie zéro ou un ou plusieurs des indicateurs suivants : DIURFLAG_NO_REMOVE_INF. En règle générale, cet indicateur doit être défini sur zéro.
Si cet indicateur est égal à zéro, DiUninstallDriver supprime le package de pilotes des appareils sur utilisant lequel il est installé en installant ces appareils avec un autre package de pilotes correspondant, le cas échéant, ou le pilote Null si aucun autre package de pilote correspondant n’est disponible. Toutefois, si cet indicateur est défini sur DIURFLAG_NO_REMOVE_INF, DiUninstallDriver supprime le package de pilotes des appareils sur lequel il est installé, mais ne supprime pas le package de pilotes du magasin de pilotes.
[out, optional] NeedReboot
Pointeur vers une valeur de type BOOL qui DiUninstallDriver définit pour indiquer si un redémarrage système est nécessaire pour terminer la désinstallation. Ce paramètre est facultatif et peut être NULL. Si le paramètre est fourni et qu’un redémarrage du système est nécessaire pour terminer la désinstallation, DiUninstallDriver définit la valeur sur TRUE. Dans ce cas, l’appelant doit inviter l’utilisateur à redémarrer le système. Si ce paramètre est fourni et qu’un redémarrage du système n’est pas nécessaire pour terminer la désinstallation, DiUninstallDriver définit la valeur sur FALSE. Si le paramètre est NULL et qu’un redémarrage du système est nécessaire pour terminer la désinstallation, DiUninstallDriver affiche une boîte de dialogue de redémarrage du système. Pour plus d’informations sur ce paramètre, consultez la section remarques
Valeur de retour
DiUninstallDriver retourne TRUE si la fonction supprime correctement le package de pilotes des appareils sur lequel il est installé et est correctement supprimé du magasin de pilotes du système. Si le package de pilotes n’est pas correctement désinstallé du magasin de pilotes, DiUninstallDriver retourne FAUX et l’erreur journalisée peut être récupérée en effectuant un appel à GetLastError. Voici quelques-unes des valeurs d’erreur les plus courantes qui GetLastError peuvent retourner :
Retourner le code | Description |
---|---|
|
L’appelant n’a pas de privilèges d’administrateur. Par défaut, Windows exige que l’appelant dispose de privilèges d’administrateur pour désinstaller un package de pilotes à partir du magasin de pilotes . |
|
Le chemin d’accès du fichier INF spécifié n’existe pas. |
|
La valeur spécifiée pour indicateurs n’est pas égale à zéro ou DIURFLAG_NO_REMOVE_INF. |
|
L’application appelante est une application 32 bits qui tente d’s’exécuter dans un environnement 64 bits, qui n’est pas autorisé. Pour plus d’informations, consultez Installation d’appareils sur des systèmes 64 bits. |
Remarques
En règle générale, une application de désinstallation doit définir NeedReboot sur NULL pour diriger DiUninstallDriver pour inviter l’utilisateur à redémarrer le système si un redémarrage est nécessaire pour terminer la suppression. Une application doit fournir un pointeur NeedReboot uniquement dans les cas suivants :
- L’application doit appeler DiUninstallDriver plusieurs fois pour terminer une désinstallation. Dans ce cas, l’application doit enregistrer si une valeur TRUENeedReboot est retournée par l’un des appels à DiUninstallDriver et, le cas échéant, inviter l’utilisateur à redémarrer le système après l’appel final à DiUninstallDriver.
- L’application doit effectuer des opérations requises, autres que l’appel de DiUninstallDriver, avant qu’un redémarrage du système ne se produise. Si un redémarrage du système est nécessaire, l’application doit terminer les opérations requises, puis inviter l’utilisateur à redémarrer le système.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 10 version 1703 et versions ultérieures de Windows. |
plateforme cible | Bureau |
d’en-tête | newdev.h (include Newdev.h) |
bibliothèque | Newdev.lib |