windows nt环境下fddi网卡驱动程序设计(2)

windows nt环境下fddi网卡驱动程序设计(2)

ID:25571265

大小:66.50 KB

页数:9页

时间:2018-11-21

windows nt环境下fddi网卡驱动程序设计(2)_第1页
windows nt环境下fddi网卡驱动程序设计(2)_第2页
windows nt环境下fddi网卡驱动程序设计(2)_第3页
windows nt环境下fddi网卡驱动程序设计(2)_第4页
windows nt环境下fddi网卡驱动程序设计(2)_第5页
资源描述:

《windows nt环境下fddi网卡驱动程序设计(2)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、windowsnt环境下fddi网卡驱动程序设计(2)nt网卡配置文件有其一套规范,驱动程序开发者必须按规范编写配置文件,一般来说,一个配置文件至少应该提供下面三个节:安装入口点:[identify]shell节。该节主要功能是给出安装部件的类型名,系统通过它识别该部件属于哪一大类(display,mouse,scsi,装入根扇区,再由根扇区装入ntldr;第二阶段:硬件检测。x86机器调ntdetect程序最大限度地获取各种硬件设备信息,引导hal及基本卷设备驱动程序,以便引导nt内核;第三阶段:获取注册库中各种控制信

2、息,如用户定义的非页内存大小;第四阶段:初始化注册库registrymachine下system和hardinitializeiniport类网卡驱动程序注册。ndis建立它需要记录的驱动程序状态信息,同时返回ndisiniport_characteristics属性结构,主要记录ndis版本号和驱动程序支持的miniportxxx函数的入口点,然后调用ndismregisterminiport函数实现驱动程序的整体注册。以yhfddi为例所要注册的属性结构的内容大致如下:ndis_miniport_characte

3、risticsyhfddichar;(ndis_miniport_characteristics这个结构将在第三章介绍)yhfddichar.majorndisversion=yhfddi_ndis_major_version;yhfddichar.minorndisversion=yhfddi_ndis_minor_version;这两个属性决定驱动程序是ndis的哪个版本所支持,我们所用的是ndis3.0yhfddichar.disablEinterrupthandler=yhfddidisableinterrupt

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

5、tializehandler=yhfddiinitialize;此项注册的是驱动程序的初始化函数句柄。yhfddichar.queryinformationhandler=yhfddiqueryinformation;yhfddichar.setinformationhandler=yhfddisetinformation;这两项注册的是参数查询和设置函数的句柄。yhfddichar.sendhanler=yhfddisend;yhfddichar.transferdatahandler=yhfdditransferda

6、ta;主要提供数据发送和接收函数句柄。yhfddichar.resethandler=yhfddireset;此项注册网卡软硬件重置函数句柄。yhfddichar.halthandler=yhfddihalt;此项注册网卡驱动程序挂起函数句柄。yhfddichar.checkforhandler=null;yhfddichar.reconfigurehandler=null;这两个上边缘服务函数是fddi网卡驱动程序所不提供的,故置为null。填好这些结构以后,调用以下函数实现驱动程序的注册:ndismregisterm

7、iniport(yhfddip;yhfddichar,sizeof(yhfddichar));其中yhfddiinitializeregisterminiport不能返回ndis_status_success,必须在退出driverentry之前释放已经分配的资源(如yhfddiinateiniportqueryinformation查询参数和通过miniportsetinformation设置参数。oid也可被分为操作特性(如多目地址表长度参数)和统计参数(如广播包接收)。最后oid可分为必须的和可选的两种。oid的前

8、三个字节表明oid的不同类别,而最后一个字节确定这一类别内特定的信息管理对象。针对于fddi网卡,被查询的oid的第一个字节为0x03。而ndis所查询的介质相关参数为:0x03010104oid_fddi_long_max_list_size0x03010108oid_fddi_short_max_list_siz

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。