|
入口: DrvEnableDriver
[code]
DrvEnableDriver(
ULONG iEngineVersion,
ULONG cj,
DRVENABLEDATA *pdrvenabledata,
PENGCALLBACKS pEngCallbacks)
{
pdrvenabledata->DrvEnablePDEV = DrvEnablePDEV;
pdrvenabledata->DrvDisablePDEV = DrvDisablePDEV;
pdrvenabledata->DrvEnableSurface = DrvEnableSurface;
pdrvenabledata->DrvDisableSurface = DrvDisableSurface;
pdrvenabledata->DrvCopyBits = DrvCopyBits;
pdrvenabledata->DrvSetPalette = DrvSetPalette;
pdrvenabledata->DrvGetModes = DrvGetModes;
pdrvenabledata->DrvEndDoc = DrvEndDoc;
pdrvenabledata->DrvStartDoc = DrvStartDoc;
pdrvenabledata->DrvStartPage = DrvStartPage;
pdrvenabledata->DrvPowerHandler = DrvPowerHandler;
}
pfnEngCreateDeviceSurface = pEngCallbacks->EngCreateDeviceSurface;
pfnEngCreatePalette = pEngCallbacks->EngCreatePalette;
pfnEngDeleteSurface = pEngCallbacks->EngDeleteSurface;
DrvEnableDriver :
驱动程序暴露给GWES 的接口; 由驱动程序输出初始记录,为GDI的DDI函数返回指针,GWES就是通过这些函数指针调用显示驱动(打印驱动)的。---大概就这样
问题: 具体而言 从应用程序 到 驱动程序 其中的调用过程大至是怎样的?
|
|