GPD/PPD 型功能描述變更
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
Microsoft XPSDrv Unidrv/PScript5 驅動程式不包含任何硬式編碼的 Unidrv/PScript5 功能。 如果核心驅動程式組態模組需要處理功能、選項或條件約束,您應該在 GPD 或 PPD 檔案中指定每個功能、選項和條件約束。 您仍然可以實作支援非 GPD 或非 PPD 功能、選項或條件約束的元件。
根 GPD 或 PPD 檔案(在 INF 檔案中指定為驅動程式的 DataFile)是核心驅動程式組態模組將剖析的內容。 此根 GPD 或 PPD 檔案可以包含其他 GPD 或 PPD 檔案,以啟用 GPD 或 PPD 檔案的模組化設計。 除了包含
Msxpsinc.gpd 和 Msxpsinc.ppd 檔案,您可以決定如何建構篩選管線的 GPD 和 PPD 檔案。 我們建議您將篩選條件與 GPD 或 PPD 檔案配對,以最大化篩選條件的重複使用性。
下列程式代碼範例顯示 GPD 範例,以指定以 Unidrv 為基礎的 XPSDrv 篩選管線中支援的反向順序列印功能:
*Feature: ReverseOrderPrinting
{
*PrintSchemaKeywordMap: "JobPageOrder"
*Option: FrontToBack
{
*PrintSchemaKeywordMap: "Standard"
}
*Option: BackToFront
{
*PrintSchemaKeywordMap: "Reverse"
}
}
在上述範例中,定義 「ReverseOrderPrinting」 自定義 GPD 功能有兩個自定義選項:“FrontToBack” 和 “BackToFront”。 此範例會使用 PrintSchemaKeywordMap 關鍵詞,將 GPD 自定義功能或選項對應至公用 Print Schema 關鍵詞。
下列程式代碼範例顯示PPD範例,以指定PScript5型 XPSDrv 篩選管線中支援篩選條件的頁面方向功能。
*OpenUI *PageOrientation: PickOne
*DefaultPageOrientation: Portrait
*PageOrientation Portrait: ""
*PageOrientation Landscape: ""
*PageOrientation RotatedLandscape: ""
*CloseUI: *PageOrientation
*MSPrintSchemaKeywordMap: PageOrientation *PageOrientation
*MSPrintSchemaKeywordMap: PageOrientation Portrait *PageOrientation Portrait
*MSPrintSchemaKeywordMap: PageOrientation Landscape *PageOrientation Landscape
*MSPrintSchemaKeywordMap: PageOrientation ReverseLandscape *PageOrientation RotatedLandscape
在上述範例中,已定義具有三個自定義選項的自定義PPD功能,以指定篩選條件支援三個列印架構標準PageOrientation選項的能力。
藉由使用 PrintSchemaKeywordMap 或 MSPrintSchemaKeywordMap 關鍵詞,這些 GPD 或 PPD 自定義功能或選項將會使用對應的公用 Print Schema 關鍵詞,在 XML PrintCapabilities 或 PrintTickets 中正確公開。
在核心驅動程式的 DEVMODE 結構中,這些自定義 GPD 或 PPD 功能的設定會儲存在選項陣列中。
針對 Windows 7,MxdcGetPDEVAdjustment 函式具有橫向旋轉的新參數。 如需詳細資訊,請參閱 MxdcXDCGetPDEVAdjustment。