上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 191 下一页
摘要: 现在来分析一下键盘驱动程序里主要使用的IRP主功能代码,由于每一个IRP都在首部包括有一个主功能代码码,并且还可能有次功能代码。大体有下面几种主功能代码:IRP_MJ_CREATE 创建或打开设备文件。IRP_MJ_CREATE_NAMED_PIPE 名管道驱动主功能。IRP_MJ_CLOSE 关闭句柄。IRP_MJ_READ 读取数据。IRP_MJ_WRITE 写入数据。IRP_MJ_QUERY_INFORMATION 得到文件的长度。IRP_MJ_SET_INFORMATION 设置文件的长度。IRP_MJ_QUERY_EA IRP_MJ_SET_EA IRP_MJ_FLUSH_BUFFE 阅读全文
posted @ 2009-09-22 23:45 ajuanabc 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 新的文档类型,字符集和页面结构HTML 不再需要 SGML 来定义它的文档类型,文档类型在 HTML 里会更加简单的被定义。现在甚至在头部定义字符集会更加的简单。例如:<!doctype html><meta charset="UTF-8"> Page Structure页面结构在 HTML 3中,我们需要使用 table 来制定页面的结构。在 HTML 4中,定义页面结构演化为使用 <div>。HTML 5引入了一组完全新的元素来定义页面结构。 下图展示了使用 HTML 4 的页面结构:<body> <div id=& 阅读全文
posted @ 2009-09-22 13:51 ajuanabc 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 出处:天极网软件频道责任编辑:杨玲 网页设计中CSS布局是很重要的部分,下面介绍几种检查调试CSS布局的有效方法。 1. 检查HTML元素是否有拼写错误、是否忘记结束标记 即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。 2. 检查CSS是否书写正确 检查一下有无拼写错误、是否忘记结尾的 } 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误。 3. 用删除法确定错误发生的位置 如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定... 阅读全文
posted @ 2009-09-21 23:17 ajuanabc 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 在DirverEntry函数,可以看到下面这句:#054 DriverObject->DriverExtension->AddDevice = i8042AddDevice;这里是设置了驱动程序的AddDevice函数指针,它是指向函数i8042AddDevice。PnP管理器将为每个硬件调用一次AddDevice函数,如下:下面开始调用即插即用的函数AddDevice来添加设备。#023 DPRINT("Calling%wZ->AddDevice(%wZ)/n",#024 &DriverObject->DriverName,#025 &am 阅读全文
posted @ 2009-09-21 21:47 ajuanabc 阅读(140) 评论(0) 推荐(0) 编辑
摘要: JavaServer Faces (JSF) 是一种用于构建 Java Web 应用程序的服务端用户界面组件框架。JSF 提供了具有良好定义的编程模型和 tag 库。从很大程度上简化了在服务端构建和维护 web 应用程序。你可以轻松的实现定义一个可以重用和扩张的 UI 组件通过组件标签在页面上添加组件在页面的 UI 组件中绑定服务端数据在服务请求过程的生命周期中保存和恢复 UI 状态绑定服务器端应用代码到组件产生的事件上JavaServer Faces 2.0,纳入了 Java EE 6中。是规范的一个重要调整,介绍了一些新的特性,包括提高开发过程和增进基于 web 应用的 JSF 开发。JS 阅读全文
posted @ 2009-09-20 17:41 ajuanabc 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 目录结构:Root--Web Pages --login.xhtml --index.html --error.html --WEB-INF --web.xml --sources Packages --org --b3log --application --Login.java --entity --User.javapom.xml去除 XML 配置 JSF2.0省去了大量的陪值,主要原因是纳入了Facelets。省去了faces-config.xml中的大量配置... 阅读全文
posted @ 2009-09-20 15:56 ajuanabc 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 驱动程序很多配置参数是保存在注册表里,比如IO资源参数,中断号等内容。因此只有了解注册表的读取,以及相关内容才可以清楚知道键盘驱动程序,主要操作那些相关的端口,还有配置参数。下面来分析函数ReadRegistryEntries的实现,如下:#001 NTSTATUS#002 ReadRegistryEntries(#003 IN PUNICODE_STRING RegistryPath,#004 OUT PI8042_SETTINGS Settings)#005 {#006 RTL_QUERY_REGISTRY_TABLE Parameters[17];#007 NTSTATUS St... 阅读全文
posted @ 2009-09-20 10:01 ajuanabc 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 下面来分析函数IoAllocateDriverObjectExtension的实现,这个函数主要实现创建驱动程序扩展内存。#001 NTSTATUS#002 NTAPI#003IoAllocateDriverObjectExtension(IN PDRIVER_OBJECT DriverObject,#004 INPVOID ClientIdentificationAddress,#005 INULONG DriverObjectExtensionSize,#006OUT PVOID *DriverObjectExtension)#007 {#008 KIRQL OldIrql;#009 PI 阅读全文
posted @ 2009-09-19 23:39 ajuanabc 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 键盘驱动程序是一个最基本的驱动程序,通过学习这个简单而实用的驱动程序来了解ReactOS驱动程序的结构,驱动程序的运行流程。在前面的I/O管理器分析里,已经知道操作系统加载驱动程序的过程,也了解了驱动程序在系统里是以驱动程序对象来管理的,也就是通过DRIVER_OBJECT对象来表示一个驱动程序的。键盘驱动程序是一个输入输出的设备,但在ReactOS驱动程序分类里,是分在输入设备类。这个驱动程序的源程序所在的目录是在reactos/drivers/input/i8042prt目录。在分析这个驱动程序,还是采用从程序运行过程来分析它的流程。那么驱动程序加载运行的入口点在那里呢?这是一个最先要解决 阅读全文
posted @ 2009-09-18 22:19 ajuanabc 阅读(187) 评论(0) 推荐(0) 编辑
摘要: IRP是 I/O request packet 的缩写,即 I/O 请求包。驱动与驱动之间通过 IRP 进行通信。而使用驱动的应用层调用的 CreatFile,ReadFile,WriteFile,DeviceIoControl 等函数,说到底也是使用 IRP 和驱动进行通信。一个 IRP 由两部分组成。首先是头部或者叫包的固定部分,是一个 IRP 结构。紧跟在这个头部之后的是I/O栈位置,这是一个 IO_STACK_LOCATION 结构的数组,这个数组中元素的个数是根据情况而定的,由 IoAllocateIrp( IN CCHAR StackSize , INBOOLEAN ChargeQ 阅读全文
posted @ 2009-09-17 21:52 ajuanabc 阅读(146) 评论(0) 推荐(0) 编辑
上一页 1 ··· 62 63 64 65 66 67 68 69 70 ··· 191 下一页