ndis中间层驱动开发在win7系统下和winxp系统下的区别

ndis中间层驱动开发在win7系统下和winxp系统下的区别

ID:33708417

大小:66.42 KB

页数:51页

时间:2019-02-28

ndis中间层驱动开发在win7系统下和winxp系统下的区别_第1页
ndis中间层驱动开发在win7系统下和winxp系统下的区别_第2页
ndis中间层驱动开发在win7系统下和winxp系统下的区别_第3页
ndis中间层驱动开发在win7系统下和winxp系统下的区别_第4页
ndis中间层驱动开发在win7系统下和winxp系统下的区别_第5页
资源描述:

《ndis中间层驱动开发在win7系统下和winxp系统下的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标题:【原创】NDIS中间层驱动开发在Win7系统下和WindowsXP系统下的区别作者:tianhz时间:2011-07-21,14:58:04链接:http://bbs.pediy.com/showthread.php?t=137545NDIS中间层驱动的开发在Win7系统上和WindowsXP系统上冇差别。我把NDIS中间层的讨论分成2块。windows7系统和WindowsXP系统。(一)在WindowsXP系统上进行开发平时很多朋友包括我在内,我们都在XP系统上使用NDIS5.1的框架來进行程序开发。我们都使用MicrosoftWDK提供

2、的NDIS的Passthru例子,在这个例子上做进一步的修改,来达到我们的目地。在PassthruI程的DriverEntry函数里而,我们都看见如下的代码:NTSTATUSDriverEntry(INPDRIVER_OBJECTDriverobject,INPUNICODE_STRINGRegistryPath){NDIS_STATUSStatus;NDISPROTOCOLCHARACTERISTICSPChars;NDISMINIPORTCHARACTERISTICSMChars;PNDIS_CONFIGURATION_PARAMETERPar

3、am;NDIS_STRINGName;NDIS_HANDLEWrapperHandle;UNICODE_STRINGnameString,linkString;UINTFunclndex;PDEVICE_OBJECTMyDeviceObject;PDRIVER_DISPATCHMajorFunction[IRP_MJJ/lAXIMUIVI_FUNCTION+1];Status=NDISSTATUSSUCCESS;〃申请自旋锁以到达资源共•亨的同步访问NdisAllocateSpinLock(&GlobalLock);〃调用NdisMInitial

4、izeWrapper函数來保存在NdisWrapperHandle返回的句柄NdisMlnitializeWrapper(&NdisWrapperHandle,Driverobject,RegistryPath,NULL);do{〃调用NdisMInitializeWrapper函数來保存在WrapperHandle返回的句柄NdisMInitializeWrapperf&WrapperHandle,Driverobject,RegistryPath,NULL);〃对MiniportCharacteristics组件'如果驱动程序不用导出Minip

5、ortXxx这样的函数,则必须赋值为NULL。〃如果要导出任何新版木的V4.0或V5.0的MiniportXxx函数,那么中间层驱动程序的丄版本必须是V4.0,并且提供4.0或5.0版木的Miniportcharacteristics组件.NdisZeroMemory(&MCharszsizeof(NDIS_MINIPORT_CHARACTERISTICS));MChars.MajorNdisVersion=PASSTHRU_MAJOR_NDIS_VERSION;MChars.MinorNdisVersion二PASSTHRU_MINOR_NDIS

6、_VERSION;****水水*亦亦亦未*********************亦亦亦未末*************卜•而开始注册中间层驱动程序的MiniportXxx函数**************************************************MChars.HaltHandler=MPHalt;MChars.lnitializeHandler=MPInitialize;MChars.QuerylnformationHandler=MPQuerylnformation;MChars.SetlnformationHandl

7、er=MPSetlnformation;MChars.ResetHandler=MPReset;MChars.SendHandler=NULL;MChars.SendPacketsHandler=MPSendPackets;MChars.TransferDataHandler=MPTransferData;MChars.ReturnPacketHandler=MPReturnPacket;MChars.CheckForHangHandler=NULL;#ifdefNDIS51_MINIPORTMChars.CancelSendPacketsHand

8、ler=MPCancelSendPackets;MChars.PnPEventNotifyHandler=MPDevice

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

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

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