共用方式為


PDEV 交涉

任何圖形驅動程式的主要責任之一,是在驅動程式初始化期間啟用 PDEV 。 PDEV 是實體裝置的邏輯標記法。 此標記法是由驅動程式所定義,通常是私人資料結構。 如需啟用 PDEV 的詳細資訊,請參閱 DrvEnablePDEV

透過 DrvEnablePDEV 函式,驅動程式必須將資訊提供給 GDI,以描述要求的裝置及其功能。 驅動程式提供 GDI 的其中一項重要資訊是deVINFO結構的flGraphicsCapsflGraphicsCaps2成員中的圖形功能旗標集 (GCAPS_Xxx和GCAPS2_Xxx旗標) 。

功能旗標可讓 GDI 判斷 PDEV 支援的作業。 例如,GDI 會測試功能旗標,指出 PDEV 是否可以在 GDI 嘗試呼叫 DrvStrokePath 函式之前處理 Bezier 曲線和幾何寬線,以使用這些基本類型繪製路徑。 如果功能旗標指出 PDEV 無法處理這些基本類型,GDI 會細分線條或曲線,以便對驅動程式進行更簡單的呼叫。

從驅動程式端,每當驅動程式從 GDI 取得進階路徑相關呼叫時,如果路徑或裁剪太複雜,裝置無法處理,它就會傳回 FALSE

驅動程式在處理外觀線條時無法從DrvStrokePath傳回FALSE,因為驅動程式必須處理任何複雜的裁剪或外觀線條樣式。 不過,如果路徑有 Bezier 曲線或幾何線, DrvStrokePath 可以傳回 FALSE 。 發生這種情況時,GDI 會將呼叫中斷為更簡單的呼叫,就像未設定功能位一樣。 例如,如果 DrvStrokePath 在傳送幾何線時傳回 FALSE ,GDI 會簡化該行並呼叫 DrvFillPath 函式。

如果 DrvStrokePath 要回報錯誤,則必須傳回DDI_ERROR。

對於相依于 PDEV 的函式,GDI 與驅動程式之間這種交涉,允許 GDI 和驅動程式產生高品質的輸出,而不需要過多的通訊。