Partager via


Commandes d’imprimante générées dynamiquement

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application de support d’impression.

Chaque fois que vous spécifiez une commande d’imprimante dans un fichier GPD pour un minidriver Unidrv, vous pouvez utiliser l’une des deux méthodes suivantes :

  • Placez la chaîne de commande dans le fichier GPD.

    Lorsque vous placez la chaîne de commande dans un fichier GPD, Unidrv envoie la commande au spouleur d’impression au moment approprié. Ces chaînes de commande peuvent inclure des variables standard, que Unidrv évalue avant d’envoyer la commande.

  • Fournissez une fonction de rappel.

    Si vous fournissez une fonction de rappel, Unidrv appelle la fonction lorsqu’il est temps d’envoyer la commande, et la fonction est chargée d’envoyer la commande au spouleur d’impression. Cela vous permet d’inclure le code qui génère dynamiquement une chaîne de commande, puis l’envoie à l’imprimante.

Pour placer une chaîne de commande dans un fichier GPD, vous devez inclure un attribut *Cmd dans l’entrée *Command de la commande.

Pour fournir du code qui génère dynamiquement une chaîne de commande, vous devez effectuer les opérations suivantes :

Lorsque Unidrv est prêt à émettre une commande d’imprimante, il vérifie la base de données minidriver pour déterminer si la commande a été spécifiée avec un attribut *Cmd ou avec un attribut *CallbackID. Dans le premier cas, Unidrv envoie la chaîne de commande au spouleur d’impression. Dans ce dernier cas, Unidrv appelle la méthode IPrintOemUni::CommandCallback , en passant les valeurs *CallbackID et *Params comme arguments d’entrée.