Korzystanie z enumOptions

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zobacz Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).

Wywołujący może użyć EnumOptions, aby pobrać listę słów kluczowych opcji dla obsługiwanych funkcji sterowników oraz dowolnych funkcji PPD. W przypadku cech PPD, EnumOptions jest zawsze obsługiwane i zwraca opcje zdefiniowane przez PPD.

W przypadku funkcji sterowników EnumOptions jest obsługiwana tylko w przypadku funkcji, które są obecnie obsługiwane i mają stały zestaw opcji. Na przykład: %AddEuro posiada dwie opcje: "True" i "False", a %PageOrder ma dwie opcje "FrontToBack" i "BackToFront". EnumOptions jest obsługiwana dla %AddEuro (jeśli poziom języka wynosi 2 lub wyższy), podobnie jak %PageOrder (jeśli buforowanie EMF w buforze drukarki jest włączone). Jednak funkcje takie jak %CustomPageSize, %PSMemoryi inne mają nieograniczoną liczbę możliwych opcji, co oznacza, że EnumOptions nie jest dla nich obsługiwana.

W przypadku funkcji sterowników, które nie są obecnie obsługiwane, lub funkcji sterowników, które są obsługiwane, ale nie wyliczane przez EnumOptions, EnumOptions zwraca E_NOTIMPL.

Ponadto niektóre opcje funkcji sterownika mogą nie być obsługiwane w określonych warunkach. Jeśli na przykład buforowanie EMF jest wyłączone w systemie Windows 2000 i nowszych wersjach systemu, opcja "Booklet" nie jest obsługiwana w przypadku funkcji %PagePerSheet. Na inny przykład, jeśli drukarka nie ma rasteryzatora Type42, opcja "NativeTrueType" nie jest obsługiwana dla %TTDownloadFormat. Te nieobsługiwane opcje nie będą wyświetlane na liście słów kluczowych wyjściowych enumOptions.

Język PScript obsługuje następujące słowa kluczowe funkcji w specjalny sposób:

  • Słowo kluczowe *CustomPageSize jest przekształcane w opcję dla słowa kluczowego *PageSize, przy czym "CustomPageSize" staje się słowem kluczowym opcji. Wywołaj GetOptionAttribute, aby uzyskać jego parametry PPD.

  • Wpis *ManualFeed True zostaje przekonwertowany na opcję funkcji ze słowem kluczowym *InputSlot, gdzie "ManualFeed" jest nazwą słowa kluczowego tej opcji.

  • Dla słowa kluczowego *InputSlot, funkcjonalność Pscript zawsze dodaje opcję wygenerowaną przez sterownik z nazwą słowa kluczowego opcji "*UseFormTrayTable" jako pierwszą opcję (prefiks "*" jest używany w nazwie słowa kluczowego opcji, aby uniknąć możliwego konfliktu nazw z opcjami zdefiniowanymi przez PPD), a następnie dodawane są opcje zdefiniowane w PPD. Jeśli zostanie wybrana opcja "*UseFormTrayTable", Pscript użyje tabeli przyporządkowania formularzy do tac, aby automatycznie wybrać zasobnik papieru obsługujący wybrany rozmiar papieru.