Partager via


DeletePrinterDriverEx, fonction

La fonction DeletePrinterDriverEx supprime le nom du pilote d’imprimante spécifié de la liste des noms des pilotes pris en charge sur un serveur et supprime les fichiers associés au pilote. Cette fonction peut également supprimer des versions spécifiques du pilote.

Syntaxe

BOOL DeletePrinterDriverEx(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName,
  _In_ DWORD  dwDeleteFlag,
  _In_ DWORD  dwVersionFlag
);

Paramètres

pName [in]

Pointeur vers une chaîne terminée par null qui spécifie le nom du serveur à partir duquel le pilote doit être supprimé. Si ce paramètre a la valeur NULL, la fonction supprime le pilote d’imprimante de l’ordinateur local.

pEnvironment [in]

Pointeur vers une chaîne terminée par null qui spécifie l’environnement à partir duquel le pilote doit être supprimé (par exemple, Windows NT x86, Windows IA64 ou Windows x64). Si ce paramètre a la valeur NULL, le nom du pilote est supprimé de l’environnement actuel de l’application appelante et de l’ordinateur client (et non de l’application de destination et du serveur d’impression).

pDriverName [in]

Pointeur vers une chaîne terminée par null spécifiant le nom du pilote à supprimer.

dwDeleteFlag [in]

Options permettant de supprimer des fichiers et des versions du pilote. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
DPD_DELETE_SPECIFIC_VERSION
Supprime la version spécifiée dans dwVersionFlag. Cela ne garantit pas que le pilote sera supprimé de la liste des pilotes pris en charge pour le serveur.
DPD_DELETE_UNUSED_FILES
Supprime tous les fichiers de pilotes inutilisés.
DPD_DELETE_ALL_FILES
Supprime le pilote uniquement si tous les fichiers associés peuvent être supprimés. L’opération de suppression échoue si l’un des fichiers du pilote est utilisé par un autre pilote installé.

Si DPD_DELETE_SPECIFIC_VERSION n’est pas spécifié, la fonction supprime toutes les versions du pilote si aucune d’entre elles n’est en cours d’utilisation. Si ni DPD_DELETE_UNUSED_FILES ni DPD_DELETE_ALL_FILES n’est spécifié, la fonction ne supprime pas les fichiers de pilote.

dwVersionFlag [in]

Version du pilote à supprimer. Ce paramètre peut être 0, 1, 2 ou 3. Ce paramètre est utilisé uniquement si dwDeleteFlag inclut l’indicateur DPD_DELETE_SPECIFIC_VERSION.

Valeur retournée

Si la fonction réussit, la valeur de retour est une valeur différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Notes

Notes

Il s’agit d’une fonction bloquante ou synchrone qui peut ne pas être retournée immédiatement. La rapidité avec laquelle cette fonction retourne dépend de facteurs d’exécution tels que l’status réseau, la configuration du serveur d’impression et les facteurs d’implémentation du pilote d’imprimante qui sont difficiles à prédire lors de l’écriture d’une application. L’appel de cette fonction à partir d’un thread qui gère l’interaction avec l’interface utilisateur peut donner l’impression que l’application ne répond pas.

Avant que la fonction ne supprime les fichiers du pilote, elle appelle la fonction DrvDriverEvent du pilote, ce qui permet au pilote de supprimer tous les fichiers privés qui ne sont pas utilisés. Pour plus d’informations sur DrvDriverEvent, consultez le Kit de développement de pilotes Microsoft Windows (DDK).

Si les fichiers de pilote sont actuellement chargés, la fonction les déplace vers un répertoire temporaire et les marque pour suppression au redémarrage.

Avant d’appeler DeletePrinterDriverEx, vous devez supprimer tous les objets d’imprimante qui utilisent le pilote d’imprimante.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winspool.h (inclure Windows.h)
Bibliothèque
Winspool.lib
DLL
Winspool.drv
Noms Unicode et ANSI
DeletePrinterDriverExW (Unicode) et DeletePrinterDriverExA (ANSI)

Voir aussi

Impression

Fonctions API du spouleur d’impression

AddPrinterDriverEx