Partager via


Fonctions définies par les fournisseurs d’impression

Avertissement

À compter de Windows 10, les API qui prennent en charge les fournisseurs d’impression tiers sont déconseillées. Microsoft ne recommande aucun investissement dans des fournisseurs d’impression tiers. En outre, sur Windows 8 et les produits plus récents où le modèle de pilote d’impression v4 est disponible, les fournisseurs d’impression tiers peuvent ne pas créer ou gérer de files d’attente qui utilisent des pilotes d’impression v4.

Cette rubrique répertorie toutes les fonctions qu’un fournisseur d’impression peut fournir. La plupart de ces fonctions sont décrites dans la documentation Microsoft Windows SDK. Si la fonction est décrite dans le Kit de pilotes Windows (WDK), le nom de la fonction fournit un lien vers la page de référence associée.

Tous les fournisseurs d’impression doivent fournir des pointeurs pour toutes les fonctions répertoriées. Toutefois, la plupart des fournisseurs d’impression fournis par le fournisseur sont des « fournisseurs partiels » qui n’ont pas besoin de prendre en charge la plupart des opérations définies par les fonctions. Par conséquent, la plupart des pointeurs de fonction peuvent être NULL. Pour plus d’informations sur les fournisseurs d’impression partielle, consultez Écriture d’un fournisseur d’impression réseau.

Dans les listes de fonctions suivantes, les fonctions qui doivent être prises en charge sont étiquetées « Obligatoire ».

Tous les fournisseurs d’impression doivent exporter la fonction d’initialisation InitializePrintProvidor. Les pointeurs vers toutes les autres fonctions doivent être fournis dans une structure PRINTPROVIDOR . (Notez que ces deux noms sont mal orthographiés, mais sont cohérents avec les noms qui apparaissent dans le fichier d’en-tête, Winsplp.h.)

Les fonctions sont divisées en groupes et présentées dans les sections suivantes :

  • Fonction d’initialisation

  • Fonctions de gestion des files d’attente d’impression

  • Fonctions de gestion des pilotes d’imprimante

  • Fonctions de création de travaux d’impression

  • Fonctions de planification des travaux d’impression

  • Fonctions de gestion des formulaires

  • Fonctions de gestion du processeur d’impression

  • Fonctions de gestion du moniteur d’impression

  • Fonctions de gestion des ports

  • Fonctions de gestion du Registre

  • Autres fonctions

Fonction d’initialisation

Fonction Description
InitializePrintProvidor (obligatoire) Initialise le fournisseur d’impression et retourne des pointeurs vers les fonctions fournies.
Fonction Description
Addprinter Ajoute une file d’attente d’impression à la liste de celles gérées par le fournisseur d’impression et associe un processeur d’impression à la file d’attente d’impression.
AddPrinterConnection Crée une connexion à la file d’attente d’impression spécifiée.
ClosePrinter (obligatoire) Désactive l’accès de l’appelant à une file d’attente d’impression spécifiée.
DeletePrinter Supprime une file d’attente d’impression de la liste de celles gérées par le fournisseur d’impression.
DeletePrinterConnection Supprime une connexion à la file d’attente d’impression spécifiée.
EnumPrinters (obligatoire) Énumère la liste des files d’attente d’impression actuellement gérées par le fournisseur d’impression.
FindClosePrinterChangeNotification Désactive les notifications de modification d’imprimante activées par FindFirstPrinterChangeNotification.
FindFirstPrinterChangeNotification Retourne un handle à un objet wait que l’appelant peut utiliser pour attendre les événements d’imprimante spécifiés.
GetPrinter (obligatoire) Retourne les valeurs de paramètres actuelles pour une file d’attente d’impression spécifiée.
OpenPrinter (obligatoire) Active l’accès de l’appelant à une file d’attente d’impression spécifiée.
RefreshPrinterChangeNotification Appelé par le routeur si le client appelle FindNextPrinterChangeNotification avec l’indicateur PRINTER_NOTIFY_OPTIONS_REFRESH défini.
ResetPrinter Modifie le type de données ou la structure DEVMODEW d’une file d’attente d’impression.
SetPrinter (obligatoire) Définit les paramètres d’une file d’attente d’impression spécifiée.
WaitForPrinterChange Obsolète.

Fonctions de gestion des pilotes d’imprimante

Fonction Description
AddPrinterDriver Ajoute les fichiers de pilote d’une imprimante spécifiée à un serveur spécifié.
AddPrinterDriverEx Identique à AddPrinterDriver, avec des paramètres supplémentaires.
DeletePrinterDriver Supprime l’accès aux fichiers de pilote d’une imprimante spécifiée, sur un serveur spécifié.
DeletePrinterDriverEx Identique à DeletePrinterDriver, avec des paramètres supplémentaires.
EnumPrinterDrivers Renvoie la liste des pilotes d’imprimante qui ont été ajoutés à un serveur spécifié en appelant AddPrinterDriver ou AddPrinterDriverEx.
GetPrinterDriver Retourne des informations sur un pilote d’imprimante, que l’appelant peut ensuite passer à AddPrinterDriver. (Les informations retournées sont généralement obtenues à partir d’un fichier INF.)
[GetPrinterDriverEx Identique à GetPrinterDriver, avec des paramètres supplémentaires.
GetPrinterDriverDirectory Retourne le nom du répertoire du pilote d’imprimante du serveur.
Fonction Description
AbortPrinter (obligatoire) Tente de supprimer le travail en cours de la file d’attente d’impression spécifiée.
AddJob (Obligatoire) Retourne un identificateur de travail et le chemin du fichier de pool. L’appelant utilise CreateFile et WriteFile pour envoyer des données au fichier de spouleur.
EndDocPrinter (obligatoire) Effectue des opérations d’achèvement du travail.
EndPagePrinter Effectue des opérations de saisie semi-automatique de page.
ReadPrinter Obtient des informations status à partir d’une imprimante bidirectionnelle.
ScheduleJob (obligatoire) Informe le fournisseur qu’un travail spécifié peut être planifié. Le travail est spécifié par un identificateur de travail précédemment retourné par AddJob.
StartDocPrinter (obligatoire) Prépare le fournisseur d’impression pour commencer à mettre en file d’attente un travail d’impression.
StartPagePrinter Prépare le fournisseur d’impression à recevoir une page de travail d’impression.
WritePrinter (obligatoire) Reçoit une partie du flux de données du travail d’impression.

Notes

AddJob... La séquence ScheduleJob est une alternative à StartDocPrinter... Séquence EndDocPrinter.

Fonction Description
EnumJobs (obligatoire) Retourne une liste de travaux d’impression planifiés.
GetJob (obligatoire) Retourne les paramètres de travail.
SetJob (obligatoire) Annule, suspend, reprend ou redémarre un travail d’impression, ou définit des paramètres de travail.

Fonctions de gestion des formulaires

Fonction Description
AddForm Ajoute un formulaire spécifié à la liste de ceux disponibles pour une imprimante spécifiée.
DeleteForm Supprime un formulaire spécifié de la liste de ceux disponibles pour une imprimante spécifiée.
EnumForms Retourne la liste des formulaires disponibles pour une imprimante spécifiée.
GetForm Retourne les caractéristiques d’un formulaire spécifié.
SetForm Modifie les caractéristiques d’un formulaire spécifié.
Fonction Description
AddPrintProcessor Installe un processeur d’impression sur le serveur spécifié et l’ajoute à la liste de ceux que le fournisseur d’impression peut appeler.
DeletePrintProcessor Supprime un processeur d’impression de la liste de ceux que le fournisseur d’impression peut appeler.
EnumPrintProcessorDataTypes Retourne une liste des types de données pris en charge par les processeurs d’impression qui peuvent être appelé par le fournisseur d’impression.
EnumPrintProcessors Retourne la liste des processeurs d’impression que le fournisseur d’impression peut appeler.
GetPrintProcessorDirectory Retourne le chemin du répertoire dans lequel les fichiers du processeur d’impression doivent être stockés.
Fonction Description
AddMonitor Ajoute un moniteur d’impression à la liste de ceux que le fournisseur d’impression peut appeler.
DeleteMonitor Supprime un moniteur d’impression de la liste de ceux que le fournisseur d’impression peut appeler.
EnumMonitors Retourne la liste des moniteurs d’impression que le fournisseur d’impression peut appeler.

Fonctions de gestion des ports

Fonction Description
AddPort Ajoute un port d’imprimante à la liste des ports disponibles, généralement en appelant la fonction AddPortUI du moniteur de port spécifié.
AddPortEx(/previous-versions/ff545025(v%3dvs.85)) Identique à AddPort, avec des paramètres supplémentaires.
ConfigurePort (obligatoire) Configure un port d’imprimante, généralement en appelant la fonction ConfigurePortUI du moniteur de port spécifié.
DeletePort (obligatoire) Supprime un port d’imprimante de la liste de ceux disponibles, généralement en appelant la fonction DeletePortUI du moniteur de port spécifié.
EnumPorts (obligatoire) Retourne la liste des ports d’imprimante disponibles.
SetPort Définit les paramètres d’un port d’imprimante spécifié.

Fonctions de gestion du Registre

Fonction Description
DeletePrinterData Supprime la valeur actuellement affectée à un nom de valeur spécifié, sous la clé PrinterDriverData de l’imprimante spécifiée.
DeletePrinterDataEx Identique à DeletePrinterData, avec des paramètres supplémentaires.
DeletePrinterKey Supprime une clé spécifiée et ses sous-clés, si elles sont actuellement stockées dans le Registre sous la clé PrinterDriverData de l’imprimante spécifiée.
EnumPrinterData Retourne chacun des noms de valeurs et des valeurs actuellement affectées qui sont stockées dans le Registre sous la clé PrinterDriverData de l’imprimante spécifiée.
EnumPrinterDataEx Identique à EnumPrinterData, avec des paramètres supplémentaires.
EnumPrinterKey Retourne une liste de sous-clés actuellement contenues dans le Registre sous un nom de clé spécifié.
GetPrinterData Retourne la valeur actuellement affectée à un nom de valeur spécifié, qui est stockée dans le Registre sous la clé PrinterDriverData de l’imprimante spécifiée.
GetPrinterDataEx Identique à GetPrinterData, avec des paramètres supplémentaires.
SetPrinterData Stocke un nom et une valeur de valeur spécifiés dans le Registre, sous la clé PrinterDriverData de l’imprimante spécifiée.
SetPrinterDataEx Identique à SetPrinterData, avec des paramètres supplémentaires.

Autres fonctions

Fonction Description
XcvData Fournit un chemin de communication entre une DLL d’interface utilisateur de moniteur de port et une DLL de serveur de moniteur de port.