記錄 一下打印學習期間需要用到的驅動函數
DRVFN structure
DRVENABLEDATA結構包含指向DRVFN結構數組的指針和基於nt的操作系統的圖形DDI版本號。
語法
typedef struct _DRVFN {
ULONG iFunc;
PFN pfn;
} DRVFN, *PDRVFN;
參數
iFunc
是標識由驅動程序實現的圖形DDI函數的函數索引。索引名反映了相關圖形DDI函數的名稱;例如,INDEX_DrvEnablePDEV的索引值指定了DrvEnablePDEV函數。看頭文件,winddi。h表示索引值的完整列表。
pfn
指定驅動程序定義的圖形DDI函數的地址,該函數與爲iFunc提供的索引相關聯。該函數的原型如下:
LONG_PTR (APIENTRY * PFN) ();
備註
圖形驅動程序必須分配一個DRVFN結構數組,每個圖形DDI函數在驅動程序中實現一個數組元素。驅動程序在DRVENABLEDATA結構中將數組的地址返回給GDI,該結構的指針在驅動程序初始化期間傳遞給驅動程序的DrvEnableDriver函數。
圖形DDI函數地址可以以任何順序放在DRVFN數組中。