1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. windowsnt環(huán)境下fddi網(wǎng)卡驅(qū)動程序設(shè)計2

        • 相關(guān)推薦

        windowsnt環(huán)境下fddi網(wǎng)卡驅(qū)動程序設(shè)計(2)

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

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

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

        電子商務(wù)環(huán)境下客戶價值探討06-01

        新媒體環(huán)境下假新聞傳播研究論文04-27

        新媒體環(huán)境下的體驗廣告形態(tài)文學(xué)論文04-29

        淺探網(wǎng)絡(luò)環(huán)境下搜索引擎的使用05-13

        淺談網(wǎng)絡(luò)環(huán)境下的德育教育論文(精選11篇)08-08

        淺談電子商務(wù)環(huán)境下國際貿(mào)易的發(fā)展創(chuàng)新06-02

        局域網(wǎng)數(shù)據(jù)庫環(huán)境下數(shù)據(jù)采集及處理05-08

        任務(wù)驅(qū)動教學(xué)法的特點和難點探微11-21

        C語言程序設(shè)計 (一)05-11

        城市共生理念下污水廠環(huán)境景觀設(shè)計05-25

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>