欢迎来到天天文库
浏览记录
ID:30641207
大小:16.25 KB
页数:3页
时间:2019-01-02
《基于windowsxx开发wdm设备驱动程序的方法_1》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果基于WindowsXX开发WDM设备驱动程序的方法摘要:本文介绍了Windows000WDM驱动程序结构及其原理,给出一个驱动程序的例子0,FALSE,//Notexclusive,TRUE为独占&fdo返回的新设备对象);if(!NT_SUCCESS(status)returnstatus;IoAttachDeviceToDeviceStack(fdo,pdo);与设备栈挂接 删除设备NTSTA
2、TUSWdm1Pnp(INPDEVICE_OBJECTfdo,INPIRPIrp)PIO_STACK_LOCATIONIrpStack=IoGetCurrentIrpStackLocation(Irp);ULONGMinorFunction=IrpStack->MinorFunction;if(MinorFunction==IRP_MN_REMOVE_DEVICE){DebugPrint("PnPRemoveDevice");//disabledeviceinterfaceIoSetDevicEinterfaceState(&d
3、x->ifSymLinkName,FALSE);RtlFreeUnicodeString(&dx->ifSymLinkName);课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果//unattachfromstack从设备栈脱离if(dx->NextStackDevice)IoDetachDevice(dx->NextStackDev
4、ice);//deleteourfdo删除设备IoDeleteDevice(fdo); }CreateFileIRP_MJ_CreateWriteFileMJ_WRITECloseHandleMJ_CLOSEDevicEIoControlMJ_DEVICEIOCONTROLReadFileMJ_CLOSE所有的分发例程都有相同的函数原型,均需传递一个设备对象的指针和IRP,IRP由IRP首部和一系列的栈单元组成,每个栈单元是一个IO_STACK_LOCATION结构,首部和栈单元指出要作的动作,栈中有主要的重要参数如MajorF
5、unction和MinorFunction,每个驱动只认识一个栈单元。 即插即用驱动必须有AddDevice例程并处理各种PnPIRP:IRP_MN_START_DEVICE分配资源并启动一个设备。IRP_MN_STOP_DEVICE停止设备进行资源重新分配。不支持}returnCompleteRequest(Irp,status,0);//调用CompleteRequest通知操作系统完成IRP操作课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着
6、重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果立刻注册,免费享受三天的试用收看期,火爆,激情让您免费欣赏三天4.结束语本文是笔者在WindowsXX下开发网卡驱动程序的一些经验总结,使用WindowsXXDDK开发包和WindowsXXplatformSDK,在VC++下调试通过。参考文献[1]ArtBakerJerryLozano著施诺译Windows000设备驱动程序设计指南机械工业出版社001[2]武安河周利莉著Windows设备驱动程序开发实务电子工业
7、出版社002转课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。
此文档下载收益归作者所有