WinCE Network驱动开发简介

本文介绍了WinCE系统的网络架构,其与Windows系统相似,通过NDIS与网卡和网络协议进行通信。NDIS作为网络驱动的抽象层,WinCE支持NDIS5.1,包含RNDIS、NDISWAN和Token Ring等。整个网络架构构成如图所示。
摘要由CSDN通过智能技术生成
作者:ARM-WinCE 

 

 

1 WinCE网络介绍

      WinCE中,网络架构和windows系统差不多。通过NDISWinCE系统和网卡及网络协议进行交互。NDIS提供了一个完全的网络驱动的抽象层,目前WinCE支持NDIS5.1,其中包括对RNDISNDISWANToken Ring等的支持。在WinCE中,整个网络架构体系如图:

 

       WinSock是提供给应用层的接口,一般开发网络应用都会用Winsock接口来开发。往下就是协议层,IrDATCP/IP都基于NDIS层以上,通过NDIS封装层和底层的驱动进行交互。NDIS包含了网卡的驱动,就是图中的Miniport Driver。实际的网卡驱动就是指Miniport Driver,它向上为NDIS提供了Miniport相关的接口函数,向下则通过NDIS的接口来访问硬件网卡。

 

 

2 WinCE网络驱动架构

      WinCE中,开发网卡驱动就是写一个Miniport Driver,导出相应的Miniport接口函数,调用NDIS的接口访问底层硬件。驱动架构如图:

 

     从图中清楚地看到Miniport driver所处的位置。在WinCE中支持三种类型的网络驱动:Miniport driverIntermediate driverProtocol driver。这里,只介绍针对硬件网卡的驱动,也就是Miniport driverMiniport driver直接管理硬件网卡,它使用NDIS Library中的接口函数读写硬件网卡,同时对上层导出Miniport接口函数,这样上层通过该接口可以配置网卡,发送和接收网络数据包。

     开发一个Miniport driver首先需要注册一个NDIS_MINIPORT_CHARACTERISTICS结构,该结构定义如下:

typedef struct _NDIS_MINIPORT_CHARACTERISTICS

{

               UCHAR MajorNdisVersion;

               UCHAR MinorNdisVersion;

               UINT Reserved;

               W_CHECK_FOR_HANG_HANDLER CheckForHangHandler;

               W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值