激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

windowsnt環(huán)境下fddi網(wǎng)卡驅動(dòng)程序設計2

  • 相關(guān)推薦

windowsnt環(huán)境下fddi網(wǎng)卡驅動(dòng)程序設計(2)

windowsnt環(huán)境下fddi網(wǎng)卡驅動(dòng)程序設計(2) 第三階段:獲取注冊庫中各種控制信息,如用戶(hù)定義的非頁(yè)內存大;第四階段:初始化注冊庫 \registry\machine下system和hardware并創(chuàng )建currentcontrolset,為裝入相關(guān)硬件設備驅動(dòng)程序作準備;
第五階段:裝入基本核心驅動(dòng)程序;
第六階段:釋放一些已經(jīng)完成使命的裝入初始數據塊;
第七階段:進(jìn)一步初始化注冊庫,以便有些依賴(lài)于基本核心驅動(dòng)程序的上層驅動(dòng)程序能順利裝入;
第八階段:服務(wù)控制器裝入應該由該服務(wù)控制器裝入的各種驅動(dòng)程序。

§2.2.2 fddi網(wǎng)卡驅動(dòng)程序的加載過(guò)程
在windows nt啟動(dòng)的第五個(gè)階段,將加載核心驅動(dòng)程序。而對于ndis網(wǎng)卡驅動(dòng)程序是在ndis接口(ndis.sys)加載后調入運行,向ndis wrapper注冊、初始化、查詢(xún)設置參數等。
windows nt啟動(dòng)時(shí),相應的實(shí)體如nt的服務(wù)控制器根據注冊庫中yhfddi驅動(dòng)程序的配置注冊信息,初始化ndis wrapper,并裝入相應的驅動(dòng)程序,生成驅動(dòng)程序管理塊結構,申請內存以保存各種信息,向ndis wrapper注冊驅動(dòng)程序。初始化和注冊完畢后,再由服務(wù)控制器讀取注冊庫中相應的鏈接信息。
在ndis wrapper和yhfddi驅動(dòng)程序初始化和注冊成功后,ndis wrapper根據系統相應的注冊信息,加入和yhfddi驅動(dòng)程序所對應的fddi網(wǎng)卡,同時(shí)讀入網(wǎng)卡的注冊信息,并進(jìn)行網(wǎng)卡注冊和網(wǎng)卡初始化。
在以上過(guò)程成功后,wrapper將查詢(xún)和設置驅動(dòng)程序的各種參數,了解驅動(dòng)程序對哪些操作支持,決定對上層驅動(dòng)程序的支持范圍。
第三節fddi網(wǎng)卡驅動(dòng)程序的注冊
driverentry函數是windows nt ddk規定的核心驅動(dòng)程序的入口點(diǎn),wrapper識別到入口點(diǎn)后,調入驅動(dòng)程序,在driverentry函數內完成兩個(gè)基本注冊任務(wù):
調用ndisminitializewapper函數向ndis接口報告驅動(dòng)程序將以miniport類(lèi)網(wǎng)卡驅動(dòng)程序注冊。ndis建立它需要記錄的驅動(dòng)程序狀態(tài)信息,同時(shí)返回ndiswrapperhandle,驅動(dòng)程序保存這個(gè)句柄,以利后來(lái)調用ndisxxxconfiguration和initialization等函數。
填寫(xiě)ndisxx_miniport_characteristics屬性結構,主要記錄ndis版本號和驅動(dòng)程序支持的miniportxxx函數的入口點(diǎn),然后調用ndismregisterminiport函數實(shí)現驅動(dòng)程序的整體注冊。
以yhfddi為例所要注冊的屬性結構的內容大致如下:
ndis_miniport_characteristics yhfddichar;
(ndis_miniport_characteristics這個(gè)結構將在第三章介紹)
yhfddichar.majorndisversion=yhfddi_ndis_major_version;
yhfddichar.minorndisversion=yhfddi_ndis_minor_version;
這兩個(gè)屬性決定驅動(dòng)程序是ndis的哪個(gè)版本所支持,我們所用的是ndis3.0
yhfddichar.disableinterrupthandler=yhfddidisableinterrupt;
yhfddichar.enableinterrupthandler=yhfddienableinterrupt;
yhfddichar.isrhandle=yhfddiinterruptservice;
yhfddichar.handleinterrupthandler=yhfddihandleinterrupt;
以上四項屬性是中斷處理所需的上邊緣服務(wù)函數的入口點(diǎn)(句柄)。fddi網(wǎng)卡驅動(dòng)程序需要有smt站管理功能,而smt是以中斷處理方式進(jìn)行的,故這四項屬性在fddi網(wǎng)卡驅動(dòng)程序中是很重要的。
yhfddichar.initializehandler=yhfddiinitialize;
此項注冊的是驅動(dòng)程序的初始化函數句柄。
yhfddichar.queryinformationhandler= yhfddiqueryinformation;
yhfddichar.setinformationhandler=yhfddisetinformation;
這兩項注冊的是參數查詢(xún)和設置函數的句柄。
yhfddichar.sendhanler= yhfddisend;
yhfddichar.transferdatahandler= yhfdditransferdata;
主要提供數據發(fā)送和接收函數句柄! 
yhfddichar.resethandler=yhfddireset;
此項注冊網(wǎng)卡軟硬件重置函數句柄。
yhfddichar.halthandler= yhfddihalt;
此項注冊網(wǎng)卡驅動(dòng)程序掛起函數句柄。
yhfddichar.checkforhandler=null;
yhfddichar.reconfigurehandler=null;
這兩個(gè)上邊緣服務(wù)函數是fddi網(wǎng)卡驅動(dòng)程序所不提供的,故置為null。
填好這些結構以后,調用以下函數實(shí)現驅動(dòng)程序的注冊:
ndismregisterminiport(
yhfddiwrapperhandle,

【windowsnt環(huán)境下fddi網(wǎng)卡驅動(dòng)程序設計2】相關(guān)文章:

windows nt環(huán)境下fddi網(wǎng)卡驅動(dòng)程序設計03-18

I2C總線(xiàn)在uClinux操作系統下的驅動(dòng)程序設計11-22

WindowsCE.Net下CAN卡的驅動(dòng)程序設計03-20

嵌入式Linux下CAN總線(xiàn)驅動(dòng)程序設計03-07

Windows CE環(huán)境下無(wú)線(xiàn)網(wǎng)卡的自動(dòng)安裝03-19

在Linux下驅動(dòng)STN彩色LCD03-18

基于PCI總線(xiàn)的雙DSP系統及WDM驅動(dòng)程序設計03-19

在嵌入式linux2.4.18內核中實(shí)現CS8900A網(wǎng)卡驅動(dòng)03-07

任務(wù)驅動(dòng)下物流教學(xué)探討論文11-20

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频