簡體   English   中英

Windows-使用內核驅動程序直接寫入視頻顯示嗎?

[英]Windows - Write to the video display directly using kernel driver?

我正在編寫Windows 7內核驅動程序。 今天,我想讓它通過顯示器輸出調試信息。 現在,我知道我可以只使用DbgPrint或KdPrint函數,但是我想將字符串或任何東西直接輸出到監視器。 這樣,我不必啟動調試視圖即可查看我的輸出。 這也可以用作教育活動。

據我了解,我將不得不訪問顯示的幀緩沖區並將其值寫入其中,對嗎? 但是,我不知道如何執行此操作。 基本上,我希望能夠直接在監視器上寫一些東西,因此它將與Windows正在顯示的內容重疊。 我知道這聽起來很奇怪,但這只是為了好玩。

主要目標是從內核驅動程序執行此操作。 不在用戶層進程內。 請注意,我只想使用640x480的分辨率。 沒有什么更高的了。 如果我理解正確,那么超出此范圍的任何內容都將要求我為當前的視頻卡編寫自己的顯示驅動程序。

我的系統設置:Windows 7 SP1 x86 Intel Pentium 4 @ 3.00Ghz Nvidia GeForce FX 5200

謝謝大家的幫助!

現在,我知道我可以只使用DbgPrint或KdPrint函數,但是我想將字符串或任何東西直接輸出到監視器。

您將必須通過顯示驅動程序。 誰說您運行Windows的計算機根本沒有顯示器?

即使有,RAM中也不會有MSDOS樣式的單個幀緩沖區來存儲您的當前圖片。 現代GPU不再那樣工作了-操作系統要求它們將它們交出的單個緩沖區的整個屏幕組成,以進行簡化-簡化:每個窗口都是自己的幀緩沖區,並且GPU負責組成所有內容到全屏圖片。

您也不能僅僅因為您喜歡這樣做而從內核驅動程序中寫入某些內存區域– a)您不知道那在哪里,b)您將與其他組件競爭,那將是壞事。

編輯我覺得我應該為此添加后綴:

重點很簡單:編寫一個驅動程序,該驅動程序是驅動程序而不是用戶界面。 那不是司機的工作。 由於許多原因,將UI功能放入驅動程序是一個壞主意,而您根本不應該這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM