從MSDN:在內核模式下運行爲什麼在內核模式下的驅動程序必須非常小心直接讀取或寫入用戶空間中的地址?
驅動程序必須非常小心直接 閱讀或在用戶空間寫地址。此場景 說明了原因。
- 用戶模式程序啓動從設備讀取某些數據的請求。程序提供緩衝區的起始地址到 接收數據。
- 以內核模式運行的設備驅動程序例程啓動讀取操作並將控制權返回給其調用者。
- 稍後,設備將中斷當前正在運行的任何線程,以表示讀取操作已完成。該中斷由 在該任意線程上運行的內核模式驅動程序例程處理,其中 屬於任意進程。
- 此時,驅動程序不得將數據寫入用戶模式程序在步驟1中提供的起始地址。該地址爲 ,該地址在啓動 請求的進程的虛擬地址空間中可能與當前流程不一樣。
有人能解釋這個換句話說嗎?點2,3,4不是很清楚。 謝謝。