Share via


使用 EnumOptions

重要

建議您使用 Microsoft 的 IPP 收件匣類別驅動程式,以及列印支援應用程式 () ,來自訂印表機裝置開發Windows 10和 11 中的列印體驗。

如需詳細資訊,請參閱 列印支援應用程式設計指南

呼叫端可以使用 EnumOptions 來擷取支援驅動程式功能和任何 PPD 功能的關鍵字清單。 針對 PPD 功能,一律支援 EnumOptions ,並傳回 PPD 所定義的選項。

對於驅動程式功能, EnumOptions 僅支援目前支援的功能,而且有一組固定的選項。 例如:%AddEuro 有兩個選項:「True」 和 「False」,而 %PageOrder 有兩個選項 「FrontToBack」 和 「BackToFront」。 如果語言層級為 2 和更高) ,則 %AddEuro (支援EnumOptions,如同啟用多工緩衝處理 EMF 多工緩衝處理) ,則為 %PageOrder (。 但 %CustomPageSize、%PSMemory 等功能有無限數目的可能選項,這表示不支援 EnumOptions

對於目前不支援的驅動程式功能,或針對無法透過 EnumOptions列舉支援的驅動程式功能, EnumOptions 會傳回E_NOTIMPL。

此外,在某些情況下,可能無法支援驅動程式功能的一些選項。 例如,如果 Windows 2000 和更新版本的作業系統版本停用多工緩衝處理常式 EMF 多工緩衝處理,則 %PagePerSheet 功能不支援 「Booklet」 選項。 例如,如果印表機沒有 Type42 點陣化程式,則 %TTDownloadFormat 不支援 「NativeTrueType」 選項。 這些不支援的選項不會出現在 EnumOptions 的輸出關鍵字清單中。

Pscript 會以特殊方式處理下列功能關鍵字:

  • *CustomPageSize 功能關鍵字會轉換成 *PageSize 功能關鍵字的選項,而 「CustomPageSize」 是 option 關鍵字。 呼叫 GetOptionAttribute 以取得其 PPD 參數。

  • *ManualFeed True 專案會轉換成 *InputSlot 功能關鍵字的選項,而 「ManualFeed」 是選項關鍵字名稱。

  • 針對 *InputSlot 功能關鍵字,Pscript 一律會新增具有選項關鍵字名稱 「*UseFormTrayTable」 的驅動程式產生選項作為第一個選項, (選項關鍵字名稱中使用 「*」 前置詞,以避免可能的名稱與 PPD 定義的選項衝突) ,後面接著 PPD 中所定義的選項。 如果已選取 「*UseFormTrayTable」 選項,Pscript 會使用表單到匣指派表格來自動選取支援所選紙張大小的紙匣。