关闭

关闭

关闭

封号提示

内容

首页 Programming the Microsoft Windows Driver Model中…

Programming the Microsoft Windows Driver Model中文.pdf

Programming the Microsoft Windo…

上传者: rock1752002 2011-09-19 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Programming the Microsoft Windows Driver Model中文pdf》,可适用于IT/计算机领域,主题内容包含CopyrightbyWalterOneyPUBLISHEDBY微软出版社微软公司的子公司OneMicrosoftWayRedmond,Washin符等。

CopyrightbyWalterOneyPUBLISHEDBY微软出版社微软公司的子公司OneMicrosoftWayRedmond,Washington版权沃尔特oney所有版权保留没有出版者的书面许可这本书的内容的任何部份不可以复制或传播不论何种形式的或无论如何。LibraryofCongressCataloginginPublicationDataOney,WalterProgrammingtheMicrosoftWindowsDriverModelpcmIncludesindexISBNMicrosoftWindowsNTdevicedrivers(Computerprograms)ComputerprogrammingITitleQADO'dcCIP印刷和装订于美国。QMQM发行在加拿大by企鹅书业加拿大股份有限公司此书的CIP目录分类档案生效在英国图书馆。MicrosoftPressbooksareavailablethroughbooksellersanddistributorsworldwideForfurtherinformationaboutinternationaleditions,contactyourlocalMicrosoftCorporationofficeorcontactMicrosoftPressInternationaldirectlyatfax()VisitourWebsiteatmspressmicrosoftcomIntelisaregisteredtrademarkofIntelCorporationMicrosoft,MicrosoftPress,MSDN,VisualC,VisualStudio,Win,Windows,andWindowsNTareeitherregisteredtrademarksortrademarksofMicrosoftCorporationintheUnitedStatesandorothercountriesOtherproductandcompanynamesmentionedhereinmaybethetrademarksoftheirrespectiveownersTheexamplecompanies,organizations,products,people,andeventsdepictedhereinarefictitiousNoassociationwithanyrealcompany,organization,product,person,oreventisintendedorshouldbeinferred采集编辑:BenRyan项目编辑:DevonMusgrave技术编辑:RobertLyon献给我的父母亲他们给了我生命并教会我做一切。前言WindowsDriverModel(WDM)的根源可追溯到几年前一种叫做WindowsforWorkgroups的操作系统。那时候我们努力地支持无数不同的SCSI控制器我长期地注意WindowsNT开发组创建的小端口驱动程序类型。不久就认识到重新构造必要的映象加载器(imageloader)和小端口驱动程序需要的执行环境比把这些小端口驱动程序重写成某些VXD形式的驱动程序并调试完毕所花费的努力要少得多。不幸的是,WindowsfromWorkgroups已经停止发行带有SCSI小端口支持的版本,主要是由于象ASPI(高级SCSI编程接口)这样的外围问题。然而跨Windows和windowsNT操作系统共享同样的驱动程序执行映象的基础是适当的并且可以在win中见到它(win)可以与NT共享SCSI和NDIS小端口驱动程序二进制代码。共享驱动程序模式的潜在意义是重大的。驱动程序开发人员感兴趣的是支持双平台共享驱动模式能降低开发和调试的一半开消。对微软来说共享模式意味着更容易地从winx迁移到Windows或这个平台的未来版本。对最终用户来说大量不同种类的稳定驱动程序可以在这个家族中的所有成员之间通用。下一个(逻辑)步骤是Thenextlogicalstep,then,wastocreateadrivermodelwiththeabilitytosharegeneralpurposedriversacrossbothplatformsButwhatformshouldittakeThreerequirementswereimmediatelyobvious:itmustbemultiprocessorcapable,itmustbeprocessorindependent,anditmustsupportPlugandPlay(PnP)Fortunately,theWindowsNTdrivermodelmetthefirsttworequirements,anditseemedclearthatthenextmajorreleaseofWindowsNTwouldsupportPnPaswellAsaresult,WDMcanbeconsideredapropersubsetofwhatisnowtheWindowsNTdrivermodelThepotentialbenefitsofashareddrivermodelcanberealizedtodayformanyclassesofdevices,andchoosingtheWDMdrivermodelwillcontinuetopaydividendsinthefutureForexample,acorrectlywrittenWDMdriverrequiresonlyarecompilebeforefunctioninginanNTbitenvironmentprototypeWDMwillcontinuetoevolveasnewplatformsanddeviceclassesaresupportedFutureversionsofWindowsxandWindowswillcontainupwardlyrevisedWDMexecutionenvironmentsFortunately,WDMisdesignedtobe"backwardcompatible,"meaningthatWDMdriverswrittenaccordingtotheWindowsDDKanddesignedtoworkfortheintendedenvironmentwillcontinuetoworkinasubsequentWDMenvironmentsThereisalottoWDM,andinthisbookWalterdoesanexcellentjobinofferinganindepthtourofeveryaspectaswellasthephilosophyoftheWindowsDriverModelForrestFoltz微软公司Windows开发体系结构设计者致谢我感谢所有帮助我完成此书的人们DevonMusgrave,RobertLyon,和其余为把此书从原始的winword手稿转换成在你手中的精美作品而服务的微软出版社工作人员。我清楚为了这个项目采编BenRyan花费无数小时并飞行数千英里寻找好的作者和有用的新书,祝他下次好运。微软的SandySpinrad,在百忙之中还有力地协助查找技术资料作硬件测试更新版本,和我所依赖的其它许多资料。许多windows和windows基本开发组成员审阅了这些材料值得个别提起他们要求匿名但至少我知道他们是谁。我们研究会的学者和网上团体在大大小小的各个方面给予帮助,提出深刻的问题和共享难得的洞察力。最后,我要感谢我的妻子Marty,她总是在我工作最困难时在我身边。WalterOneyhttp:wwwoneysoftcom驱动开发网的全体翻译人员也要感谢网上为我们提供工具和协助翻译的人们。znsoft要感谢他的女友每天打电话问候他。目录献给前言致谢目录第一章:导言操作系统概述Windows概述Windows概述Windows驱动程序内核模式驱动程序的属性•可移植性•可配置性•可抢先性和可中断性•多处理器安全•基于对象•包驱动•异步WDM驱动程序模型例子代码随书光盘关于创建例子驱动程序GENERICSYS本书的结构关于书中的错误其它资源驱动程序开发书籍其它参考书籍杂志新闻组讲座注意事项第二章:WDM驱动程序的基本结构设备和驱动程序的层次结构系统怎样装入驱动程序递归枚举注册表的角色驱动程序装入顺序设备对象之间如何关联检查设备堆驱动程序对象设备对象DriverEntry例程DriverEntry概述DriverUnload例程驱动程序再初始化例程AddDevice例程创建设备对象为设备命名符号连接应该命名设备对象吗?设备名称设备接口其它全局性的设备初始化操作初始化设备扩展初始化默认的DPC对象设置缓冲区对齐掩码其它对象初始化设备标志设置初始电源状态建立设备堆清除DODEVICEINITIALIZING标志Windows兼容问题DriverEntry调用上的不同注册表组织的不同目录未实现的设备类型第三章:基本编程技术内核模式编程环境使用标准运行时间库函数注意侧效错误处理状态代码结构化异常处理TryFinally块TryExcept块异常过滤表达式生成异常一些真实环境中的例子BugChecks内存管理用户模式地址空间与内核模式地址空间一页有多大?分页和非分页内存

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/49
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部