Condividi tramite


Uso di EnumOptions

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Un chiamante può usare EnumOptions per recuperare un elenco di parole chiave di opzioni per le funzionalità del driver supportate e tutte le funzionalità PPD. Per le funzionalità PPD, EnumOptions è sempre supportato e restituisce le opzioni definite dal PPD.

Per le funzionalità dei driver, EnumOptions è supportato solo per le funzionalità attualmente supportate e con un set fisso di opzioni. Ad esempio: %AddEuro ha due opzioni: "True" e "False" e %PageOrder ha due opzioni "FrontToBack" e "BackToFront". EnumOptions è supportato per %AddEuro (se il livello lingua è 2 e superiore), come è %PageOrder (se lo spooler EMF spooling è abilitato). Tuttavia, le funzionalità come %CustomPageSize, %PSMemory e altri hanno un numero illimitato di opzioni possibili, il che significa che EnumOptions non è supportato per loro.

Per le funzionalità dei driver non attualmente supportate o per le funzionalità del driver supportate che non sono enumerabili tramite EnumOptions, EnumOptions restituisce E_NOTIMPL.

Inoltre, alcune opzioni di una funzionalità driver potrebbero non essere supportate in determinate condizioni. Ad esempio, se lo spooling EMF dello spooling è disabilitato nelle versioni del sistema operativo Windows 2000 e versioni successive, l'opzione "Opuscolo" non è supportata per la funzionalità %PagePerSheet. Per un altro esempio, se la stampante non dispone di un rasterizzatore Type42, l'opzione "NativeTrueType" non è supportata per %TTDownloadFormat. Queste opzioni non supportate non verranno visualizzate nell'elenco delle parole chiave di output di EnumOptions.

Pscript gestisce le parole chiave di funzionalità seguenti in modo speciale:

  • La parola chiave della funzionalità *CustomPageSize viene convertita in un'opzione della parola chiave della funzionalità *PageSize, con "CustomPageSize" come parola chiave option. Chiamare GetOptionAttribute per ottenere i parametri PPD.

  • La voce *ManualFeed True viene convertita in un'opzione della parola chiave della funzionalità *InputSlot, con "ManualFeed" come nome della parola chiave dell'opzione.

  • Per la parola chiave della funzionalità *InputSlot, Pscript aggiunge sempre un'opzione generata dal driver con il nome della parola chiave dell'opzione "*UseFormTrayTable" come prima opzione (il prefisso "*" viene usato nel nome della parola chiave dell'opzione per evitare possibili conflitti di nomi con le opzioni definite dal PPD), seguite dalle opzioni definite nel PPD. Se è selezionata l'opzione "*UseFormTrayTable", Pscript userà la tabella di assegnazione da maschera a vassoio per selezionare automaticamente il vassoio di carta che supporta il formato carta selezionato.