首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心计算机论文计算机理论
   windows nt环境下fddi网卡驱动程序设计      ★★★ 【字体: 】  
windows nt环境下fddi网卡驱动程序设计
收集整理:佚名    来源:本站整理  时间:2009-01-10 12:05:55   点击数:[]    

言,并给出网卡名(有些配置文件支持多类网卡,此时必须让用户进行选择,并获得选择结果)。 



[installoption]shell节。该节是配置文件得主体,也是上次安装完后再次进行配置、删除、更新的入口点。主要功能是拷贝映像文件和配置文件,生成配置的各种选项,创建该部件在注册库中对应的各种登录子树并更新重写。 



第二节 驱动程序的加载过程



§2.2.1 windows nt的启动过程



第一阶段:调入装入程序。和硬件平台相关,x86机器首先由rom装入根扇区,再由根扇区装入ntldr;



第二阶段:硬件检测。x86机器调ntdetect程序最大限度地获取各种硬件设备信息,引导hal及基本卷设备驱动程序,以便引导nt内核;



第三阶段:获取注册库中各种控制信息,如用户定义的非页内存大小;第四阶段:初始化注册库 \registry\machine下system和hardware并创建currentcontrolset,为装入相关硬件设备驱动程序作准备;



第五阶段:装入基本核心驱动程序;



第六阶段:释放一些已经完成使命的装入初始数据块;



第七阶段:进一步初始化注册库,以便有些依赖于基本核心驱动程序的上层驱动程序能顺利装入;



第八阶段:服务控制器装入应该由该服务控制器装入的各种驱动程序。



§2.2.2 fddi网卡驱动程序的加载过程



在windows nt启动的第五个阶段,将加载核心驱动程序。而对于ndis网卡驱动程序是在ndis接口(ndis.sys)加载后调入运行,向ndis wrapper注册、初始化、查询设置参数等。



windows nt启动时,相应的实体如nt的服务控制器根据注册库中yhfddi驱动程序的配置注册信息,初始化ndis wrapper,并装入相应的驱动程序,生成驱动程序管理块结构,申请内存以保存各种信息,向ndis wrapper注册驱动程序。初始化和注册完毕后,再由服务控制器读取注册库中相应的链接信息。



在ndis wrapper和yhfddi驱动程序初始化和注册成功后,ndis wrapper根据系统相应的注册信息,加入和yhfddi驱动程序所对应的fddi网卡,同时读入网卡的注册信息,并进行网卡注册和网卡初始化。



在以上过程成功后,wrapper将查询和设置驱动程序的各种参数,了解驱动程序对哪些操作支持,决定对上层驱动程序的支持范围。



第三节fddi网卡驱动程序的注册



driverentry函数是windows nt ddk规定的核心驱动程序的入口点,wrapper识别到入口点后,调入驱动程序,在driverentry函数内完成两个基本注册任务:



调用ndisminitializewapper函数向ndis接口报告驱动程序将以miniport类网卡驱动程序注册。ndis建立它需要记录的驱动程序状态信息,同时返回ndiswrapperhandle,驱动程序保存这个句柄,以利后来调用ndisxxxconfiguration和initialization等函数。 



填写ndisxx_miniport_characteristics属性结构,主要记录ndis版本号和驱动程序支持的miniportxxx函数的入口点,然后调用ndismregisterminiport函数实现驱动程序的整体注册。 



以yhfddi为例所要注册的属性结构的内容大致如下:



ndis_miniport_characteristics yhfddichar;

(ndis_miniport_characteristics这个结构将在第三章介绍)



yhfddichar.majorndisversion=yhfddi_ndis_major_version;

yhfddichar.minorndisversion=yhfddi_ndis_minor_version;

这两个属性决定驱动程序是ndis的哪个版本所支持,我们所用的是ndis3.0 



yhfddichar.disableinterrupthandler=yhfddidisableinterrupt;

yhfddichar.enableinterrupthandler=yhfddienableinterrupt;

yhfddichar.isrhandle=yhfddiinterruptservice;

yhfddichar.handleinterrupthandler=yhfddihandleinterrupt;



以上四项属性是中断处理所需的上边缘服务函数的入口点(句柄)。fddi网卡驱动程序需要有smt站管理功能,而smt是以中断处理方式进行的,故这四项属性在fddi网卡驱动程序中是很重要的。



yhfddichar.initializehandler=yhfddiinitialize;

此项注册的是驱动程序的初始化函数句柄。



yhfddichar.queryinformationhandler= yhfddiqueryinformation;

yhfddichar.setinformationhandler=yhfddisetinformation;

这两项注册的是参数查询和设置函数的句柄。



yhfddichar.sendhanler= yhfddisend;

yhfddichar.transferdatahandler= yhfdditransferdata;

主要提供数据发送和接收函数句柄。



yhfddichar.resethandler=yhfddireset;

此项注册网卡软硬件重置函数句柄。 



yhfddichar.halthandler= yhfddihalt;

此项注册网卡驱动程序挂起函数句柄。



yhfddichar.checkforhandler=null;

yhfddichar.reconfigurehandler=null;

这两个上边缘服务函数是fddi网卡驱动程序所不提供的,故置为null。



填好这些结构以后,调用以下函数实现驱动程序的注册:



ndismregisterminiport(

yhfddiwrapperhandle,

&yhfddichar,

sizeof(yhfddichar));



其中yhfddiwrapperhandle是在此之前初始化wrapper调用ndisminitializewrapper所得的句柄。



如果调用ndismregisterminiport不能返回ndis_status_success,必须在退出driverentry之前释放已经分配的资源(如yhfddiwrapperhandle等),故调用



ndisterminatewrapper(yhfddiwrapperhandle,null)。



这样驱动程序没能正确注册,亦不能正常运行。



第四节 网卡驱动程序

上一页  [1] [2] [3] [4] [5] [6]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:信息技术课中如何培养学生自主学习能力

  • 下一篇文章:ASP 3.0高级编程(二)
  • 返回上一页】【打 印】【关闭窗口
    中查找“windows nt环境下fddi网卡驱动程序设计”更多相关内容 5VAR论文频道
    中查找“windows nt环境下fddi网卡驱动程序设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››中小企业办公自动化系统的设计与实...
  • ››未雨绸缪:关于我国电子商务税收对...
  • ››网上书店为钱做秀 行业走势两极分...
  • ››Win2000索引服务的WEB应用
  • ››宽带化――电信发展的必由之路务
  • ››电子商务中x种错误思路和做法
  • ››网络营销与传统营销相比有何优势
  • ››Internet的下一个热点 从内容走向服...
  • ››基于CNAPS的流水号管理方法
  • ››网络时代的财务与会计:管理集成与...
  • ››WIND-FLEX的系统结构及其应用场合
  • ››WindowsCE.Net下CAN卡的驱动程序设...
  • ››WindowsCE环境下无线网卡的自动安装...
  • ››WindowsCE中实现蓝牙串口驱动程序
  • ››Windows95下智能数据采集系统
  • ››WindowsCE下串行通信的实现
  • ››WindowsCE.net的智能移动信息终端设...
  • ››windowsnt环境下fddi网卡驱动程序设...
  • ››WindowsNT中的登记项及其完整性
  • ››Windows下多串口的配置与使用
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .