PrintCapabilities 架構和檔建構
本主題不是最新的。 如需最新的資訊,請參閱 列印架構規格。
目前的 Win32 DevCaps 函式 (,例如 GetDeviceCaps 或 DeviceCapabilities,這兩者都如 Microsoft Platform Software Development Kit (SDK 中所述,) 檔) 嚴格限制非驅動程式元件可以取得的資訊類型,以及列印裝置的功能和屬性。 不支援發佈列印處理器的功能,也不支援列舉非標準功能的方法。 因此,驅動程式以外的元件無法建構完整的使用者介面。 此外,用戶端或應用程式無法完全判斷裝置的功能,或列印超出 Win32 DevCaps 函式所提供的佇列。 目前的函式無法延伸,因此裝置無法發佈新的屬性或功能。
PrintCapabilities 架構旨在藉由提供這些函式所提供功能的超集合來消除 Win32 DevCaps 函式的許多限制。 如果需要更多功能,PrintCapabilities 檔的提供者可以藉由新增私用定義的元素實例,在列印架構架構的條件約束內,擴充 Print Schema 關鍵字。 由於它依賴 XML 做為交換媒體,因此 PrintCapabilities 檔的任何取用者都可以存取檔中的所有資料,而不需考慮與不同的作業系統版本相容。 本節描述 PrintCapabilities 架構及其使用詳細資料。
本節的目標物件包括下列群組:
PrintTicket/PrintCapabilities 提供者介面的實作者
PrintCapabilities 的取用者
PrintTicket/PrintCapabilities 提供者介面的用戶端
上述清單中的第一個類別稱為本節其餘部分的 PrintCapabilities 提供者。 第二個和第三個類別稱為 PrintCapabilities 取用者。
與列印架構和 PrintTicket 架構的關聯性
PrintCapabilities 和 PrintTicket 架構都是列印架構的特殊部分。 PrintCapabilities 架構的這些子集之間的主要結構差異是 PrintCapabilities 架構包含未包含在 PrintTicket 架構中的 Property 和 ParameterDef 實例,而 PrintTicket 架構包含 Property 和 ParameterInit 實例,這些實例不包含在 PrintCapabilities 架構中。 除了這些差異之外,PrintCapabilities 和 PrintTicket 架構通常會在內容中彼此鏡像、共用功能、選項、ScoredProperty 和 Value 實例。 任何這類共用內容都必須保持最新狀態。 例如,如果在 PrintCapabilities 架構的 PageMediaSize 功能中進行變更,則必須在 PrintTicket 架構中進行相同的變更。
相關主題