windowsnt环境下fddi网卡驱动程序设计(2).pdfVIP

windowsnt环境下fddi网卡驱动程序设计(2).pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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;这两项注册 的是

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档