Compartilhar via


Usando EnumOptions

Importante

Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft, juntamente com o PSA (Aplicativos de Suporte para Impressão), para personalizar a experiência de impressão em Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte o Guia de design do aplicativo de suporte para impressão.

Um chamador pode usar EnumOptions para recuperar uma lista de palavras-chave de opções para recursos de driver com suporte e quaisquer recursos ppd. Para recursos PPD, o EnumOptions sempre tem suporte e retorna as opções definidas pelo PPD.

Para recursos de driver, o EnumOptions tem suporte apenas para recursos que têm suporte no momento e têm um conjunto fixo de opções. Por exemplo: %AddEuro tem duas opções: "True" e "False" e %PageOrder tem duas opções "FrontToBack" e "BackToFront". Há suporte para EnumOptions para %AddEuro (se o nível de linguagem for 2 e superior), assim como %PageOrder (se o spooler EMF estiver habilitado). Mas recursos como %CustomPageSize, %PSMemory e outros têm um número ilimitado de opções possíveis, o que significa que não há suporte para EnumOptions para eles.

Para recursos de driver que não têm suporte no momento ou para recursos de driver com suporte que não são enumeráveis por meio de EnumOptions, EnumOptions retorna E_NOTIMPL.

Além disso, algumas opções de um recurso de driver podem não ter suporte em determinadas condições. Por exemplo, se o spool de EMF do spooler estiver desabilitado no Windows 2000 e versões posteriores do sistema operacional, a opção "Booklet" não terá suporte para o recurso %PagePerSheet. Para outro exemplo, se a impressora não tiver um rasterizador Type42, a opção "NativeTrueType" não terá suporte para %TTDownloadFormat. Essas opções sem suporte não aparecerão na lista de palavras-chave de saída de EnumOptions.

O Pscript lida com as seguintes palavras-chave de recurso de maneira especial:

  • A palavra-chave do recurso *CustomPageSize é convertida em uma opção da palavra-chave *PageSize feature, com "CustomPageSize" sendo a palavra-chave option. Chame GetOptionAttribute para obter seus parâmetros PPD.

  • A entrada *ManualFeed True é convertida em uma opção da palavra-chave *InputSlot feature, com "ManualFeed" sendo o nome da palavra-chave option.

  • Para a palavra-chave do recurso *InputSlot, pscript sempre adiciona uma opção gerada pelo driver com o nome da palavra-chave de opção "*UseFormTrayTable" como a primeira opção (o prefixo "*" é usado no nome da palavra-chave de opção para evitar possível conflito de nome com opções definidas por PPD), que é seguido por opções definidas no PPD. Se a opção "*UseFormTrayTable" estiver selecionada, o Pscript usará a tabela de atribuição forma a bandeja para selecionar automaticamente a bandeja de papel que dá suporte ao tamanho do papel selecionado.