Att använda EnumOptions

Viktigt!

Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.

Mer information finns i designguiden för utskriftssupportapp v1 och v2.

En anropare kan använda EnumOptions för att hämta en nyckelordslista med alternativ för drivrutinsfunktioner som stöds och eventuella PPD-funktioner. För PPD-funktioner stöds alltid EnumOptions och returnerar de alternativ som definierats av PPD.

För drivrutinsfunktioner stöds EnumOptions endast för funktioner som för närvarande stöds och har en fast uppsättning alternativ. Till exempel: %AddEuro har två alternativ: "True" och "False", och %PageOrder har två alternativ "FrontToBack" och "BackToFront". EnumOptions stöds för %AddEuro (om språknivån är 2 och högre), och för %PageOrder (om spooler EMF-spooling är aktiverat). Men funktioner som %CustomPageSize, %PSMemoryoch andra har ett obegränsat antal möjliga alternativ, vilket innebär att EnumOptions inte stöds för dem.

För drivrutinsfunktioner som för närvarande inte stöds eller för drivrutinsfunktioner som inte kan räknas upp via EnumOptionsreturnerar EnumOptions E_NOTIMPL.

Vissa alternativ för en drivrutinsfunktion kanske inte stöds under vissa förhållanden. Om till exempel spooler EMF-spooling är inaktiverat på Windows 2000 och senare operativsystemsversioner, stöds inte "Häfte"-alternativet för funktionen %PagePerSheet. Om skrivaren till exempel inte har en Type42-rastrering stöds inte alternativet "NativeTrueType" för %TTDownloadFormat. Dessa alternativ som inte stöds visas inte i nyckelordslistan för utdata för EnumOptions.

Pscript hanterar följande funktionsnyckelord på ett speciellt sätt:

  • Nyckelordet *CustomPageSize-funktion konverteras till ett alternativ för nyckelordet *PageSize-funktion, där "CustomPageSize" är nyckelordet för alternativet. Anropa GetOptionAttribute för att hämta dess PPD-parametrar.

  • Posten *ManualFeed True blir en del av *InputSlot-funktionens alternativnyckelord, där "ManualFeed" är nyckelordets namn för alternativet.

  • För nyckelordet *InputSlot-funktionen lägger Pscript alltid till ett drivrutinsgenererat alternativ med nyckelordsnamnet "*UseFormTrayTable" som det första alternativet (prefixet "*" används i alternativets nyckelordsnamn för att undvika eventuell namnkonflikt med PPD-definierade alternativ), vilket följs av alternativ som definierats i PPD. Om alternativet "*UseFormTrayTable" är valt använder Pscript form-till-fack-tilldelningstabellen för att automatiskt välja det pappersfack som stöder den valda pappersstorleken.