共用方式為


GDL 架構

本主題描述一般描述元語言 (GDL) 的架構。

針對每個 GDL 資料集,您應該定義 GDL 架構 來描述資料的格式。 每個包含資料集的檔案都會參考 GDL 架構。 此架構可讓 GDL 剖析器確認資料集符合架構,並在建構快照集時執行任何指定的轉換。 針對 GPD 中定義的所有資料,Microsoft 已提供標準架構。 此外,剖析器可讓您將某些資料定義為可設定。 其他資料可以透過讓資料相依于使用的組態來描述。

規格可以轉換成 GDL 架構。 每個包含資料集的檔案都會參考 GDL 架構。 此架構可讓 GDL 剖析器確認資料集符合架構,並在建構快照集時執行任何指定的轉換。

定義資料集和架構之後,用戶端就可以透過指定不同的組態,從單一資料集建立多個檢視或 快照集。 針對 Unidrv 設定和轉譯外掛程式,用戶端可以透過 IPrintCoreHelperUni 介面中的方法存取快照集。 GDL 剖析器會載入資料集中指定的架構,並確認資料集符合其架構。 如果資料集不符合規範,剖析器將會指出無法剖析檔案。

定義資料集和架構之後,用戶端可以藉由指定組態來建立資料集的快照集:

  1. 外掛程式會透過IPrintOemUI::P ublishDriverInterface方法,取得IPrintCoreHelperUni介面的指標。

  2. 外掛程式會透過 呼叫 IPrintCoreHelperUni::CreateGDLSnapshotIPrintCoreHelperUni::CreateDefaultGDLSnapshot來要求存取快照集。 如果外掛程式呼叫 CreateGDLSnapshot,呼叫端會提供 DEVMODE 結構,其中包含剖析器用來判斷快照集檢視的組態。

  3. GDL 剖析器會載入資料集中指定的架構,並確認資料集符合其架構。 如果資料集不符合規範,將會發出錯誤訊息。

  4. GDL 剖析器會從 GDL 來源檔案建立內部資料結構,並根據架構中提供的組態和處理指示來判斷適當的檢視。

  5. 剖析器會建立 XML 標記法, (已處理之資料項目目的 快照 集) 。 此 XML 快照集會以 stream 的形式傳回外掛程式。

如果省略架構,剖析器只會執行架構驗證,而快照集值將會以原本在 GDL 來源檔案中定義的位元組字串來表示。

注意PublishDriverInterface方法也是IPrintOemUni介面和其他介面的一部分。 因此,外掛程式不一定會從 IPrintOemUI::P ublishDriverInterface取得協助程式介面。 它可以根據外掛程式實作的介面類別型,從 IPrintOemUni::P ublishDriverInterface 或其他位置取得協助程式介面。