Share via


DEVINFO 結構 (winddi.h)

DEVINFO 結構會將驅動程式及其私人 PDEV 的相關信息提供給圖形引擎。

語法

typedef struct tagDEVINFO {
  FLONG    flGraphicsCaps;
  LOGFONTW lfDefaultFont;
  LOGFONTW lfAnsiVarFont;
  LOGFONTW lfAnsiFixFont;
  ULONG    cFonts;
  ULONG    iDitherFormat;
  USHORT   cxDither;
  USHORT   cyDither;
  HPALETTE hpalDefault;
  FLONG    flGraphicsCaps2;
} DEVINFO, *PDEVINFO;

成員

flGraphicsCaps

這是一組旗標,描述圖形驅動程式及其硬體的圖形功能。 下表會定義這些旗標。

旗標 定義
GCAPS_ALTERNATEFILL 處理交替填滿。
GCAPS_ARBRUSHOPAQUE 支援文字不透明矩形的任意筆刷, (背景色彩) 。
GCAPS_ARBRUSHTEXT 支援文字前景色彩的任意筆刷。
GCAPS_ASYNCCHANGE 這個旗標已過時。 在舊版驅動程式中,此旗標表示驅動程式可以在裝置上發生其他繪圖時變更硬體中的指標圖形。
GCAPS_ASYNCMOVE 驅動程式可以在裝置上發生其他繪圖時,在硬體中移動指標。
GCAPS_BEZIERS 處理 Bezier 曲線。
GCAPS_CMYKCOLOR 驅動程式支援 CYMK 色彩空間。
GCAPS_COLOR_DITHER 處理與 PDEV 相容表面的色彩分色。
GCAPS_DIRECTDRAW 這個旗標已過時。
GCAPS_DITHERONREALIZE 指定 GDI 可以使用 RGB 直接呼叫 DrvRealizeBrush
GCAPS_DONTJOURNAL 不允許將此印表機驅動程式進行中繼檔列印。 這僅適用於印表機 DC,而且通常會導致列印時較慢的傳回應用程式時間。
GCAPS_FONT_RASTERIZER 裝置硬體可以點陣化 TrueType 字型。
GCAPS_FORCEDITHER 允許在所有幾何手寫筆上進行任一處理。
GCAPS_GEOMETRICWIDE 處理幾何擴展。
GCAPS_GRAY16 原生處理反鋸齒文字。
GCAPS_HALFTONE 處理半角處理。
GCAPS_HIGHRESTEXT 這個旗標已過時。 在舊版驅動程式中,此旗標表示驅動程式要求由 FIX 點座標的 STROBJ 所傳回的字元位置。
GCAPS_HORIZSTRIKE 這個旗標已過時。 在舊版驅動程式中,此旗標表示驅動程式會處理 DrvTextOut中的水準刪除線。
GCAPS_ICM 指出驅動程式或印表機硬體可以執行色彩管理作業。
GCAPS_LAYERED 表示這是用於遠端處理的圖層或 鏡像驅動程式 。 印表機驅動程式不能是分層驅動程式。
GCAPS_MONO_DITHER 處理單色 dithering。
GCAPS_NO64BITMEMACCESS 這個旗標已過時。
GCAPS_NUP 表示支援「N-up」列印。
GCAPS_OPAQUERECT 處理 DrvTextOut中的不透明矩形。
GCAPS_PALMANAGED 支援調色盤管理。
GCAPS_PANNING 當 GDI 模擬指標時,應該呼叫 DrvMovePointer 來通知驅動程式目前的游標位置。 這可讓驅動程式處理行動瀏覽虛擬顯示器。
GCAPS_SCREENPRECISION 點陣化 (字型引擎) 在選擇沒有完全相符的字型時,應該選擇螢幕 (軟式) 字型。
GCAPS_VECTORFONT 處理 DrvTextOut中向量字型的掃描。
GCAPS_VERTSTRIKE 這個旗標已過時。 在舊版驅動程式中,此旗標表示驅動程式在 DrvTextOut中處理垂直刪除線。
GCAPS_WINDINGFILL 處理繞邊模式填滿。 如需詳細資訊,請參閱 路徑填滿模式
GCAPS2_REMOTEDRIVER 指出顯示驅動程式是用來支援遠端用戶會話。

lfDefaultFont

這是擴充邏輯字型結構,指定裝置的預設字型。 如需此結構的詳細資訊,請參閱 Microsoft Windows SDK 檔中的EXTLOGFONT。

lfAnsiVarFont

這是擴充邏輯字型結構,指定裝置的預設變數音調字型。 如需此結構的詳細資訊,請參閱 Windows SDK 檔中的EXTLOGFONT。

lfAnsiFixFont

這是擴充邏輯字型結構,指定裝置的默認固定間距 (單空格) 字型。 如需此結構的詳細資訊,請參閱 Windows SDK 檔中的EXTLOGFONT。

cFonts

指定裝置字型的數目。 GDI 假設裝置可以在自己的介面上繪製具有此字型數目的文字,而且驅動程式可以提供字型的計量資訊。 如果驅動程式將 cFonts 設定為 -1,GDI 會等到需要字型,才能查詢驅動程式在呼叫 DrvQueryFont 時支援的實際字型數目。

iDitherFormat

指定點圖的格式。 此參數指出每個圖元要求多少位色彩資訊,而且必須是下列其中一個值:

意義
BMF_1BPP 單色
BMF_4BPP 每個像素 4 位
BMF_8BPP 每個像素8位
BMF_16BPP 每個像素 16 位
BMF_24BPP 每個像素 24 位
BMF_32BPP 每個像素32位
BMF_4RLE 每個圖元 4 位,執行長度編碼
BMF_8RLE 每個圖元 8 位,執行長度編碼
BMF_JPEG JPEG 壓縮的影像
BMF_PNG PNG 壓縮影像

cxDither

cyDither

指定 ded 筆刷的維度。 如果這些成員是非零的,則裝置可以針對指定的 RGB 色彩建立兩個筆刷。

hpalDefault

處理裝置的預設調色盤。 驅動程式應該呼叫 EngCreatePalette 來建立調色盤。 驅動程式會將此句柄傳回至 GDI,讓調色盤與裝置產生關聯。

flGraphicsCaps2

這是一組旗標,描述設備驅動器的其他圖形功能。 下表會定義這些旗標。

旗標 定義
GCAPS2_ALPHACURSOR 處理具有每個圖元 Alpha 值的指標。
GCAPS2_CHANGEGAMMARAMP 顯示裝置具有可載入的硬體 Gamma 坡形
GCAPS2_EXCLUDELAYERED 表示這是輔助功能鏡像驅動程式。 未設定此旗標的鏡像驅動程式仍會收到分層 HWND 的繪圖基本類型。 如需詳細資訊,請參閱 鏡像驅動程式
GCAPS2_ICD_MULTIMON 通知 GDI 驅動程式想要處理 DrvSetPixelFormatDrvDescribePixelFormatDrvSwapBuffers 在多Mon環境中呼叫,即使作業中的矩形也會與另一部裝置交集。 只有一部裝置有機會處理這些呼叫。 如果未指定此功能,且涉及的區域與多個裝置交集,則不會呼叫任何驅動程式。
GCAPS2_INCLUDEAPIBITMAPS 對裝置無關的位圖呼叫 (DIB) 時,將會呼叫輔助功能鏡像驅動程式。 如需詳細資訊,請參閱 鏡像驅動程式
GCAPS2_JPEGSRC 裝置可以接受 JPEG 壓縮影像 (,也就是 在 SURFOBJ 結構中設定BMF_JPEG影像) 。
GCAPS2_MOUSETRAILS 表示驅動程式支援滑鼠追蹤 (一連串的游標影像,顯示滑鼠在短時間內的位置) 。 驅動程式能夠處理DrvSetPointerShape函式 fl 參數中所傳送的值 GDI。 驅動程式應該使用SPS_LENGTHMASK和SPS_FREQMASK遮罩來取得滑鼠線索長度和頻率的值。 如需這些遮罩的詳細資訊,請參閱 DrvSetPointerShape
GCAPS2_PNGSRC 裝置可以接受 PNG 壓縮影像 (,也就是 在 SURFOBJ 結構中設定BMF_PNG影像) 。
GCAPS2_SYNCFLUSH 驅動程式支援批次圖形 DDI 呼叫的程式設計型排清機制。 每當 GDI 必須排清驅動程式批處理的任何繪圖時,就會呼叫DrvSynchronizeSurface
GCAPS2_SYNCTIMER 驅動程式支援批次圖形 DDI 呼叫的定時器型排清機制。 DrvSynchronizeSurface 會根據 GDI 所決定的定時器間隔定期呼叫。

備註

驅動程式的 DrvEnablePDEV 函式會填入DEVINFO結構;驅動程式應該只設定與其相關的成員。 呼叫 DrvEnablePDEV 之前,GDI會先以零初始化這個結構。 應用程式沒有此結構的直接存取權。

如果驅動程式在 flGraphicsCaps2 中設定GCAPS2_JPEGSRC或GCAPS2_PNGSRC,則適用下列規則:

  • 驅動程式必須提供 DrvQueryDeviceSupport 函式。
  • 每個驅動程式定義的圖形 DDI 函式都會接收 SURFOBJ 結構做為輸入,必須能夠支援壓縮格式或傳回錯誤碼。 如果印表機驅動程式支援壓縮格式,驅動程式必須能夠執行下列其中一項工作:
    • 如果列印裝置可以處理 JPEG/PNG 壓縮格式,印表機驅動程式應該將壓縮格式傳遞至其頁面描述語言 (PDL) 輸出。
    • 如果列印裝置無法處理 JPEG/PNG 壓縮格式,印表機驅動程式必須先將壓縮的 JPEG/PNG 格式轉換成列印裝置可以處理的另一個影像格式。 印表機驅動程式接著可以在驅動程式的 PDL 輸出中提供影像資訊。
      注意 在從 JPEG/PNG 轉換為點陣圖格式的情況下,印表機驅動程式不得使用 GDI 函數。 例如,驅動程式可以使用 Windows 映像處理元件 (WIC) API 來執行轉換。
       
  • 驅動程式必須能夠處理使用壓縮格式之影像的複雜剪輯區域。
  • 對於接收 ROP4 輸入自變數的驅動程式定義圖形 DDI 函式,只有0xCCCC搭配 JPEG 和 PNG 格式使用。

規格需求

需求
標頭 winddi.h (包括 Winddi.h)

另請參閱

DrvEnablePDEV

DrvQueryFont

DrvRealizeBrush

DrvTextOut