1 如果採用IoGetDeviceProperty來獲得當前物理設備對象的總線類型的GUID,又往往會導致操作系統出現藍屏(系統死機)。因爲函數調用要求在passive-level執行,而不是dispatch-level。
2 許多設備使用中斷來報告操作完成。其中對中斷服務例程(ISR)能做什麼做了嚴格的限定。特別是ISR不能調用用於報告IRP完成的例程(IoCompleteRequest)。利用DPC(推遲過程調用)可以繞過這個限制。
1 如果採用IoGetDeviceProperty來獲得當前物理設備對象的總線類型的GUID,又往往會導致操作系統出現藍屏(系統死機)。因爲函數調用要求在passive-level執行,而不是dispatch-level。
2 許多設備使用中斷來報告操作完成。其中對中斷服務例程(ISR)能做什麼做了嚴格的限定。特別是ISR不能調用用於報告IRP完成的例程(IoCompleteRequest)。利用DPC(推遲過程調用)可以繞過這個限制。