- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windowsnt 环境下 fddi 网卡驱动程序设计(2)
windowsnt 环境下 fddi 网卡驱动程序设计(2)第三阶段:获取注册库中各种控制信息,
如用户定义的非页内存大小;第四阶段:初始化注册库 \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=yhf
ddi_ndis_minor_version;这两个属性决定驱动程序是 ndis 的哪个版本所支持,我们所用的
是 ndis3.0
yhfddichar.disablEinterrupthandler=yhfddidisableinterrupt;yhfddichar.enableinterrupthandl
er=yhfddienableinterrupt;yhfddichar.isrhandle=yhfddiinterruptservice;yhfddichar.handleinte
rrupthandler=yhfddihandleinterrupt;以上四项属性是中断处理所需的上边缘服务函数的入
口点(句柄)。fddi 网卡驱动程序需要有 smt 站管理功能,而 smt 是以中断处理方式进行
的,故这四项属性在 fddi 网卡驱动程序中是很重要的。
yhfddichar.initializehandler=yhfddiinitialize;此项注册的是驱动程序的初始化函数句柄。
yhfddichar.queryinformationhandler=
yhfddiqueryinformation;yhfddichar.setinformationhandler=yhfddisetinformation;这两项注册
的是
您可能关注的文档
最近下载
- 零星维修工程施工技术方案(可编辑Word完整版).pdf
- [2018年最新整理]3电气安装强制性条文(变电站).doc
- 历代名画记翻译历代名画记片段翻译.doc VIP
- 年产5万吨有机肥建设项目可行性研究报告模板-立项拿地.doc
- 流程管理与流程成熟度培训(含附表).pptx VIP
- 全球及中国飞机辅助动力装置行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告(2024-2030).docx
- 血气分析及肺功能检查.pptx VIP
- 五邑大学2022-2023学年第2学期《高等数学(下)》期末试卷(A卷)附标准答案.pdf
- 《亚当理论》.pdf
- 食品检测对食品安全的重要意义研究.docx
文档评论(0)