打印機驅(qū)動基礎(chǔ)

1.什么是打印機驅(qū)動?
打印機驅(qū)動是一種基于操作系統(tǒng)的DDI接口而開發(fā)的,用于將各種Application數(shù)據(jù)翻譯成打印機能解釋的數(shù)據(jù),并輸出到打印機而開發(fā)的程序。
2.為什么要做打印機驅(qū)動?
打印機的語言有很多種(如ps,lips,pcl等),各個廠商開發(fā)的打印機所能解釋的打印機數(shù)據(jù)也是各不相同的。如果沒有打印機驅(qū)動,那么每個Application就需要針對每一種打印機開發(fā)不同的輸出程序,這顯然是不可能的。為解決該問題,操作系統(tǒng)就制定了一套機制DDI(device driver interface),基于這套機制,Application無需考慮輸出設(shè)備的具體信息(如打印機語言等),只需要調(diào)用相應(yīng)的GDI(graphics device interface)函數(shù),就可以將數(shù)據(jù)輸出到不同的輸出設(shè)備上,也就是說設(shè)備無關(guān)的。同時GDI會調(diào)用OS提供的相應(yīng)的DDI接口,而這些DDI接口的實現(xiàn),就是打印機驅(qū)動。在打印機驅(qū)動內(nèi)部,需要針對不同的設(shè)備,作相應(yīng)的處理,從而減少了Application開發(fā)輸出程序的負擔(dān)。
3.Application,GDI,打印機驅(qū)動之間的關(guān)系

image.png

在上面的圖中,需要注意的是Application是不能直接調(diào)用DDI接口的,必須通過 調(diào)用GDI函數(shù)來實現(xiàn)對DDI接口的調(diào)用。
4.打印機驅(qū)動的結(jié)構(gòu) 打印機驅(qū)動主要由兩大部分組成,即圖形部分和界面部分。 圖形部分的功能為通過GDI將打印機參數(shù)傳給Application,同時將GDI傳過來的數(shù)據(jù)翻譯成打印機可以解釋的數(shù)據(jù),并且發(fā)送到print spooler。其流程結(jié)構(gòu)如下圖:

image.png

上面是USER MODE打印數(shù)據(jù)流程,與之相對的也有KERNEL MODE打印數(shù)據(jù)流程,這個以后再說。 圖形部分內(nèi)部流程的詳細說明:

image.png

其中的DDI接口在DDK幫助文檔中都有詳細的說明。 界面部分的功能為提供用戶界面,用戶可以根據(jù)自己的需要通過該界面設(shè)置不同的打印參數(shù),同時提供一個spooler為通知驅(qū)動打印相關(guān)的系統(tǒng)事件而能夠調(diào)用的接口。 界面部分函數(shù)的說明:

image.png

其中的DDI接口在DDK幫助文檔中都有詳細的說明。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、Windows打印體系結(jié)構(gòu) 首先附上查找Windows打印相關(guān)內(nèi)容的鏈接,這個分類下包含了Windows打印的...
    我是嘻哈大哥閱讀 2,842評論 0 4
  • 激光技術(shù)出現(xiàn)于60年代,真正投入實際應(yīng)用始于70年代初期。最早的激光發(fā)射器是充有氦-氖(He-Ne)氣體的電子激...
    我是嘻哈大哥閱讀 3,500評論 1 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,537評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,936評論 25 709
  • “愿依然有人讓你無措。”之前曾經(jīng)在微博寫下過這樣一句話。 后來有人回復(fù)我“只有每月收到信用卡賬單的時候我才無措?!?..
    奈何島上閱讀 267評論 0 1

友情鏈接更多精彩內(nèi)容