Utilisation de EnumOptions
Important
La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte 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’impression.
Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.
Un appelant peut utiliser EnumOptions pour récupérer une liste d'options par mot-clé pour les fonctionnalités prises en charge par le pilote et toutes les fonctionnalités PPD. Pour les fonctionnalités PPD, EnumOptions est toujours pris en charge et renvoie les options définies par PPD.
Pour les fonctionnalités des pilotes, EnumOptions n'est pris en charge que pour les fonctionnalités qui sont actuellement prises en charge et qui disposent d'un ensemble fixe d'options. Par exemple : %AddEuro a deux options : « True » et “False”, et %PageOrder a deux options “FrontToBack” et “BackToFront”. EnumOptions est pris en charge pour %AddEuro (si le niveau de langue est égal ou supérieur à 2), de même que %PageOrder (si le spooler EMF est activé). Mais des fonctionnalités telles que %CustomPageSize, %PSMemory et d'autres ont un nombre illimité d'options possibles, ce qui signifie qu'EnumOptions n'est pas pris en charge pour elles.
Pour les fonctionnalités du pilote qui ne sont pas prises en charge actuellement, ou pour les fonctionnalités du pilote prises en charge qui ne peuvent pas être énumérées via EnumOptions, EnumOptions renvoie E_NOTIMPL.
Par ailleurs, certaines options d'une fonctionnalité du pilote peuvent ne pas être prises en charge dans certaines conditions. Par exemple, si le spooler EMF est désactivé sous Windows 2000 et les versions ultérieures du système d'exploitation, l'option « Booklet » n'est pas prise en charge pour la fonctionnalité %PagePerSheet. Autre exemple, si l'imprimante ne dispose pas d'un rasterizer Type42, l'option « NativeTrueType » n'est pas prise en charge pour %TTDownloadFormat. Ces options non prises en charge n'apparaîtront pas dans la liste des mots-clés de sortie de EnumOptions.
Pscript traite les mots-clés de fonctionnalité suivants d'une manière particulière :
Le mot-clé de la fonctionnalité *CustomPageSize est converti en une option du mot-clé de la fonctionnalité *PageSize, avec « CustomPageSize » comme mot-clé de l'option. Appelez GetOptionAttribute pour obtenir ses paramètres PPD.
L'entrée *ManualFeed True est convertie en une option du mot-clé de la fonctionnalité *InputSlot, avec « ManualFeed » comme nom du mot-clé de l'option.
Pour le mot-clé de fonctionnalité *InputSlot, Pscript ajoute toujours une option générée par le pilote avec le nom de mot-clé « *UseFormTrayTable » comme première option (le préfixe « * » est utilisé dans le nom du mot-clé de l'option pour éviter un éventuel conflit de nom avec les options définies dans le PPD), qui est suivie par les options définies dans le PPD. Si l'option « *UseFormTrayTable » est sélectionnée, Pscript utilisera la table d'affectation formulaire-bac pour sélectionner automatiquement le bac à papier qui prend en charge le format de papier sélectionné.