欢迎来到天天文库
浏览记录
ID:22372985
大小:85.00 KB
页数:15页
时间:2018-10-28
《wince network驱动开发简介》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、WinCENetwork驱动开发简介1iniportdriver。Miniportdriver直接管理硬件网卡,它使用NDISLibrary中的接口函数读写硬件网卡,同时对上层导出Miniport接口函数,这样上层通过该接口可以配置网卡,发送和接收网络数据包。开发一个Miniportdriver首先需要注册一个NDIS_MINIPORT_CHARACTERISTICS结构,该结构定义如下:typedefstruct_NDIS_MINIPORT_CHARACTERISTICS{UCHARMajorNdisVersion;UC
2、HARMinorNdisVersion;UINTReserved;ATION_HANDLERQueryInformationHandler;ATION_HANDLERSetInformationHandler;INIPORT_SHUTDOINIPORT_CHARACTERISTICS;上面的结构中定义了NDIS的版本号,以及要导出Minioprt的相应的接口函数的函数指针。该结构会在DriverEntry函数中被设置,并进行注册。下面将对导出的Miniport接口函数进行介绍。3Miniport相关接口3.1NDIS_ST
3、ATUSDriverEntry(INPDRIVER_OBJECTDriverObject,INPUNICODE_STRINGRegistryPath)初始化一个MiniportDriver,该函数会被第一个调用来注册一个Miniportdriver。DriverObject:指向一个由系统创建的驱动对象PUNICODE_STRING:指向注册表中该驱动参数的路径该函数中首先调用NdisMInitializeiniport。然后会初始化NDIS_MINIPORT_CHARACTERISTICS结构,所有的Miniport的相
4、关接口函数都会赋值到NDIS_MINIPORT_CHARACTERISTICS结构中,最后调用NdisMRegisterMiniport来注册Miniport。3.2NDIS_STATUSMiniportInitialize(PNDIS_STATUSOpenErrorStatus,PU12345下一页——感谢阅读这篇文章,..,INTSelectedMediumIndex,PNDIS_MEDIUMMediumArray,UINTMediumArraySize,NDIS_HANDLEMiniportAdapterHandle
5、,NDIS_HANDLEediumIndex:被选中的媒介类型的索引号,以太网一般是NdisMedium802_3MediumArray:媒介类型数组,包含了不同类型的网络媒介MediumArraySize:媒介类型数组大小MiniportAdapterHandle:Miniport适配器句柄,该参数要被保存,以后调用Ndisxxx函数时会被用到。iniportCheckForHang(NDIS_HANDLEMiniportAdapterContext)该函数检查硬件网卡的状态,该函数为Optional,也可以不去实现。M
6、iniportAdapterContext:一个指向网卡结构的句柄,该网卡结构在MiniportInitialize函数中被创建。3.4VOIDMiniportDisableInterrupt(NDIS_HANDLEMiniportAdapterContext)该函数禁用网卡中断。MiniportAdapterContext:一个指向网卡结构的句柄,该网卡结构在MiniportInitialize函数中被创建。3.5VOIDMiniportEnableInterrupt(NDIS_HANDLEMiniportAdapter
7、Context)该函数使能网卡中断。MiniportAdapterContext:一个指向网卡结构的句柄,该网卡结构在MiniportInitialize函数中被创建。3.6VOIDMiniportHalt(NDIS_HANDLEMiniportAdapterContext)该函数删除一个已被初始化的网卡。MiniportAdapterContext:一个指向网卡结构的句柄,该网卡结构在MiniportInitialize函数中被创建。3.7VOIDMiniportHandleInterrupt(NDIS_HANDLEMi
8、niportAdapterContext)该函数为网卡的中断处理函数。MiniportAdapterContext:一个指向网卡结构的句柄,该网卡结构在MiniportInitialize函数中被创建。3.8VOIDMiniportISR(PBOOLEANInterruptRecognized,PBOO
此文档下载收益归作者所有