上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 75 下一页
摘要: 9. API之设备场景函数CombineRgn 将两个区域组合为一个新区域CombineTransform 驱动世界转换。它相当于依顺序进行两次转换CreateCompatibleDC 创建一个与特定设备场景一致的内存设备场景CreateDC 为专门设备创建设备场景CreateEllipticRgn 创建一个椭圆CreateEllipticRgnIndirect 创建一个内切于特定矩形的椭圆区域C... 阅读全文
posted @ 2010-11-24 23:17 浪里飞 阅读(1129) 评论(0) 推荐(0) 编辑
摘要: 7. API之位图、图标和光栅运算函数BitBlt 将一幅位图从一个设备场景复制到另一个CopyIcon 制作指定图标或鼠标指针的一个副本。这个副本从属于发出调用的应用程序CopyImage 复制位图、图标或指针,同时在复制过程中进行一些转换工作CreateBitmap 按照规定的格式创建一幅与设备有关位图CreateBitmapIndirect 创建一幅与设备有关位图CreateCompatib... 阅读全文
posted @ 2010-11-24 23:16 浪里飞 阅读(2640) 评论(0) 推荐(0) 编辑
摘要: 4. API之打印函数AbortDoc 取消一份文档的打印AbortPrinter 删除与一台打印机关联在一起的缓冲文件AddForm 为打印机的表单列表添加一个新表单AddJob 用于获取一个有效的路径名,以便用它为作业创建一个后台打印文件。它也会为作业分配一个作业编号AddMonitor 为系统添加一个打印机监视器AddPort 启动"添加端口"对话框,允许用户在系统可用端口列表中加入一个新端... 阅读全文
posted @ 2010-11-24 23:13 浪里飞 阅读(2780) 评论(0) 推荐(0) 编辑
摘要: 1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectio... 阅读全文
posted @ 2010-11-24 23:09 浪里飞 阅读(1018) 评论(1) 推荐(0) 编辑
摘要: 1、一些相关概念在Windows NT/XP下的对象,不一定是文件系统,还有其它的一些对象,如:进程、命名管道、打印机、网络共享、或是注册表等等,都可以设置用户访问权限。在 Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保存其权限的设置信息,简称为SD,其在Windows SDK中的结构名是“SECURITY_DESCRIPTOR&rdq... 阅读全文
posted @ 2010-11-24 22:54 浪里飞 阅读(2396) 评论(0) 推荐(0) 编辑
摘要: 网上关于这个问题讨论较多,但也不外乎几种方法。总结一下,如附中。顺便了解一个UAC。UAC,全称User Account Control(用户帐户控制)System Safe Monitor(主机入侵防御系统)UAC是如何工作的[3]我们可以简单的把UAC当作权限临时重分配的工具。在默认情况下,所有的非系统核心进程都只拥有标准权限,这一权限不能对系统关键区域进行修改。对于一个程序,如果它当中含有提权申请,则在运行时会弹出UAC窗口要求提权。如果用户允许,则程序暂时性的获得了最高权限,可以对系统关键区域进行更改;如果用户拒绝,则程序被拒绝执行。而如果程序中没有提权申请,则系统会让程序运行于标准权 阅读全文
posted @ 2010-11-24 22:42 浪里飞 阅读(7013) 评论(0) 推荐(0) 编辑
摘要: 把功能复杂的驱动分解成多个简单的驱动。多个分层驱动程序形成一个设备堆栈,IRP请求首先发送到设备堆栈的顶层,然后以次穿越每层的设备堆栈,最终完成IRP的请求。1、相关概念分层驱动是指两个或两个以上的驱动程序,他们分别创建设备对象,并且形成一个由高到低的设备对象栈。IRP请求一般送到设备栈最顶层的设备对象。顶层设备对象可以处理该IRP请求,也可以向下转发。IRP请求结束时,按原路返回。1)_DEVI... 阅读全文
posted @ 2010-11-16 22:45 浪里飞 阅读(1977) 评论(0) 推荐(0) 编辑
摘要: 有两种方法,一种是以文件句柄的形式,另外一种是通过设备指针调用其它驱动程序。1、以文件句柄形式调用1)应用程序 调用 驱动A 调用 驱动B这种方法类似于在应用程序中调用驱动程序。在应用程序中用CreateFile,ReadFile,CloseHandle来操作相应文件,驱动中用ZwCreateFile,ZwReadFile,Irp结束操作。要注意:ZwCreateFile,如果是同步打开设备,则参... 阅读全文
posted @ 2010-11-16 21:59 浪里飞 阅读(2898) 评论(0) 推荐(0) 编辑
摘要: 一般两种方法使用/设置定时器,一种是使用I/O定时器例程,一种是使用DPC例程。1、定时器的实现1)使用I/O定时器例程NTSTATUSIoInitializeTimer(IN PDEVICE_OBJECT DeviceObject,IN PIO_TIMER_ROUTINE TimerRoutine,IN PVOID Context);IoStartTimerIoStopTimer开启定时器后,每... 阅读全文
posted @ 2010-11-14 20:19 浪里飞 阅读(2056) 评论(0) 推荐(0) 编辑
摘要: 3、StartIo例程1)系统处理的StartIoStartIo例程能够保证各个并行的IRP顺序执行,即串行化。DDK提供一个内部队列,并将IRP用StartIo例程串行化处理。当设备由忙转入空闲状态时,从队列中抽取一个IRP进行处理,并将状态设为忙。一个新的IRP来时,如果设备为忙,则插入到队列当中,如果为空闲,则直接处理。OS提供kdevice_queue来实现串行化,队列头保存在pDrive... 阅读全文
posted @ 2010-11-09 23:10 浪里飞 阅读(1516) 评论(0) 推荐(0) 编辑
上一页 1 ··· 63 64 65 66 67 68 69 70 71 ··· 75 下一页