Partager via


Fonction EndDocPrinter

La fonction EndDocPrinter met fin à un travail d’impression pour l’imprimante spécifiée.

Syntaxe

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Paramètres

hPrinter [in]

Gérez une imprimante pour laquelle le travail d’impression doit être terminé. Utilisez la fonction OpenPrinter ou AddPrinter pour récupérer un handle d’imprimante.

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.

La fonction EndDocPrinter retourne une erreur si le travail d’impression n’a pas été démarré en appelant la fonction StartDocPrinter .

La séquence d’un travail d’impression est la suivante :

  1. Pour commencer un travail d’impression, appelez StartDocPrinter.
  2. Pour commencer chaque page, appelez StartPagePrinter.
  3. Pour écrire des données dans une page, appelez WritePrinter.
  4. Pour terminer chaque page, appelez EndPagePrinter.
  5. Répétez 2, 3 et 4 pour autant de pages que nécessaire.
  6. Pour terminer le travail d’impression, appelez EndDocPrinter.

Lorsqu’une page d’un fichier en pool dépasse environ 350 Mo, il se peut qu’elle ne parvient pas à imprimer et qu’elle n’envoie pas de message d’erreur. Par exemple, cela peut se produire lors de l’impression de fichiers EMF volumineux. La limite de taille de page dépend de nombreux facteurs, notamment la quantité de mémoire virtuelle disponible, la quantité de mémoire allouée par les processus appelants et la quantité de fragmentation dans le tas de processus.

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
Spoolss.dll

Voir aussi

Impression

Fonctions API du spouleur d’impression

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter