在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術 > 設計應用 > PCI驅動程序開發(fā)實例(2)

            PCI驅動程序開發(fā)實例(2)

            作者: 時間:2013-09-22 來源:網絡 收藏
            2.2 IRP處理

              I/O請求包(IRP)是操作的中心,是一個預先定義的數據結構,帶有一組對它進行操作的I/O管理器例程。一個IRP有固定的首部和可變數目的 IRP棧單元。IRP的固定部分含有IRP的固定屬性,每個棧單元含有大多數有關的IRP參數。當IRP由多個處理時,使用多個IRP棧單元。每個從當前IRP棧單元得到它的IRP參數。如果把IRP沿當前設備的驅動程序棧向下傳遞,必須在當前驅動程序中使用正確的參數設置下一個棧單元,然后在此驅動程序中利用函數IoCalldriver()調用更低層的驅動程序。驅動程序不必處理所有的IRP,但至少需要處理“創(chuàng)建”和“關閉”這兩個 IRP。I/O管理器接收I/O請求,然后在把它傳遞到合適的驅動程序棧中的最高驅動程序之前,分配并初始化IRP。驅動程序處理IRP的過程如圖2所示。

              

            PCI驅動程序開發(fā)實例(2)

              IRP首先到達最高層的驅動程序1,驅動程序1使用函數IoGetCurrentIrpStackLocation()獲得指向當前棧單元的指針。

              然后驅動程序1使用IoCallDriver()函數調用下一個驅動程序。I/O管理器現(xiàn)在改變“當前IRF’棧單元”指針,所以驅動程序2看到向下的第二個IRP棧單元(驅動程序1為它設置的棧單元)。這個過程繼續(xù),直到最底層的的驅動程序4收到這個IRP。

              驅動程序4現(xiàn)在處理這個IRP。當它完成IRP的處理時,驅動程序4調用IoCompleteRequest()函數。指示它已經完成IRP的處理。IRP再沿設備棧向上傳遞,直到它最終彈出棧頂,回到用戶。

              2.3 IRP的完成

              當一個驅動程序完成對IRP的處理時,它必須告訴I/O管理器,這稱為IRP完成。如下面代碼所示,必須設置IRP IoStatus域結構中的幾個域。IoStatus,Status設置為一個NTSTATUS狀態(tài)碼,IoStatus.In-formation通常存儲傳輸的字節(jié)數。如:

              Irp一>loStatus.Status=S T ATUS_SUCCESS

              Irp一>IoStatus.Information=info;

              IoCompleteRequest(Irp,IO_NO_INCREMENT);

              調用IoCompleteRequest()表明低層驅動程序已經完成了IRP的請求,并將這個IRP返回給I/O管理器。IO_No_INCREMENT是個系統(tǒng)定義的常量,指定啟動該IRP的優(yōu)先級,需要驅動程序快速處理。

              3 驅動程序功能實現(xiàn)

              當把板卡第一次插到計算機的插槽以后,計算機的系統(tǒng)總線會檢測到有個新設備沒有安裝驅動程序,并提示安裝驅動程序。正確地安裝驅動程序以后,用戶就可以在應用程序中與驅動程序進行通信。

              3.1 打開設備


            上一頁 1 2 下一頁

            關鍵詞: PCI 驅動程序 開發(fā)實例

            評論


            相關推薦

            技術專區(qū)

            關閉