Partager via


Fonction DevQueryPrintEx (winddiui.h)

La fonction DevQueryPrintEx d’une DLL d’interface d’imprimante détermine si un travail d’impression spécifié est compatible avec la configuration actuelle de l’imprimante et peut donc être imprimé.

Syntaxe

BOOL DevQueryPrintEx(
  [in, out] PDEVQUERYPRINT_INFO pDQPInfo
);

Paramètres

[in, out] pDQPInfo

Pointeur fourni par l’appelant vers une structure DEVQUERYPRINT_INFO .

Valeur retournée

Si le travail d’impression peut être imprimé, la fonction doit retourner TRUE ; dans le cas contraire, elle doit retourner FALSE.

Remarques

Les DLL d’interface d’imprimante doivent définir une fonction DevQueryPrintEx . La fonction est appelée par le spouleur d’impression si l’option Conserver les documents incompatibles est cochée sur la page Avancé de la feuille de propriétés de l’imprimante. Si la fonction retourne TRUE, le spouleur met en file d’attente le travail d’impression pour l’impression. Sinon, le travail est tenu, sous l’hypothèse que l’imprimante sera finalement reconfigurée pour que le travail puisse imprimer.

La structure DEVQUERYPRINT_INFO reçue pointe vers une structure DEVMODEW décrivant les caractéristiques de l’imprimante requises par le travail d’impression. La fonction DevQueryPrintEx doit d’abord vérifier que les membres de taille et de version de la structure DEVMODEW reçue sont compatibles avec le pilote. Ensuite, il doit déterminer si le contenu DEVMODEW fourni est compatible avec la configuration actuelle de l’imprimante.

Si le travail peut être imprimé, la fonction doit simplement retourner TRUE. Si le travail doit être conservé plus tard, la fonction doit retourner FALSE après avoir fourni une chaîne de texte affichable (dans la mémoire tampon pointée par le membre pszErrorStr de la structure DEVQUERYPRINT_INFO) décrivant la raison pour laquelle le travail ne peut pas être imprimé.

Les chaînes de texte affichables doivent être définies en tant que ressources de chaîne dans un fichier de ressources.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winddiui.h (incluez Winddiui.h)
Bibliothèque Winspool.lib
DLL WinSpool.drv