上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 28 下一页
摘要: 文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34018521.html 在我昨日发布的《驱动学习笔记系列文章汇总(PDF)》第11.2节中,我没有给出使用DeviceIoControl通信的演示源码,附录中附带的程序是我尚未调试好的,因此没有达到通信的目的。 今天又认真阅读了下张帆的《Windows驱动开发技术详解》第7章的内容,并对它给出的示例程序多次调试,总算把这个通信过程给理解了,下面我们先来看看应用层程序的代码:#include#include#include#inclu 阅读全文
posted @ 2013-09-10 15:00 huhu0013 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34005738.html此前我们可能曾经多次听说过IRP这个名词,那么它究竟是什么呢?IRP的全名是I/O Request Package,即输入输出请求包,它是Windows内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣例程中进行处理。IRP有两个基本的属性,即MajorFunction和MinorFu 阅读全文
posted @ 2013-09-10 14:56 huhu0013 阅读(1477) 评论(0) 推荐(0) 编辑
摘要: 文章作者:grayfox作者主页:http://nokyo.blogbus.com原始出处:http://www.blogbus.com/nokyo-logs/34010655.html 这一节会对IRP进行稍微详细的讲解,这是在看了王艳平的《Windows网络与通信程序设计》之后理解的。 在Windows中几乎所有的I/O都是通过包(packet)驱动的,每个单独的I/O由一个工作命令描述,此命令将会告诉驱动程序需要一些什么操作,并通过I/O子系统跟踪处理过程。这些工作命令就表现为一个个被称为IRP的数据结构。 IRP是从未分页内存申请的大小可变的结构,它由两部分组成: 1,包含一般簿记信息 阅读全文
posted @ 2013-09-05 18:47 huhu0013 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 自Windows Vista以来,调试信息在默认状态下是不显示的。为了显示调试信息,按照如下步骤设置即可: 1. 打开注册表; 2. 在HKLM\SYSTEM\CuurentControlSet\Control\Session Manager下新建一个名称为Debug Print Filter的key; 3. 在Debug Print Filter下新建一个项:Default,值为0xF. 4. 设置完成后重启系统 设置完成后的情形如下图所示: 阅读全文
posted @ 2013-09-05 14:59 huhu0013 阅读(4467) 评论(0) 推荐(0) 编辑
摘要: /****************************************************************本类功能:提升本程序进程优先级和权限编写作者:Coderui编写日期:2008年03月24日联系邮箱:作者博客:http://hi.baidu.com/coderui文件名称:EnablePriv.h****************************************************************/class CEnablePriv{public: //公有(对外开放的接口) // //设置当前进程优先级为最高(实时) // B... 阅读全文
posted @ 2013-08-22 23:09 huhu0013 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 很方便的一个函数,有兴趣的看看!/************************************************************************//*函数说明:判断有无Administrator的权限/*参数:无/*返回值:成功返回TRUE,否则返回FALSE/*By:Koma2009.07.2823:30/************************************************************************/BOOLIsAdmin(){HANDLEhAccessToken;BYTE*InfoBuffer=newBYT 阅读全文
posted @ 2013-08-22 22:27 huhu0013 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 使用PSAPI (Process StatusAPI)函数这是一种Windows NT/2000下的方法。核心是使用EnumProcesses函数。它的原型如下:BOOL EnumProcesses(__out DWORD *lpidProcess, // 用于保存所有进程的PID的数组__in DWORD cb, // 上述数组的大小__out DWORD *cbNeeded // PID数组中实际返回的(有效)字节数);当获得系统中所有进程的PID后,我们就可以使用OpenProcess函数打开指定的进程,再调用GetModuleBaseName获得该进程的名字,调用EnumProces. 阅读全文
posted @ 2013-08-22 14:07 huhu0013 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 标 题:PSAPI学习笔记作 者:北极星2003时 间:2005-07-24 18:36链 接:http://bbs.pediy.com/showthread.php?threadid=15430关键字:PSAPI FunctionsEmptyWorkingSet***EnumDeviceDrivers**EnumPageFilesEnumProcesses*EnumProcessModules*GetDeviceDriverBaseName**GetDeviceDriverFileName**GetMappedFileNameGetModuleBaseName*GetModuleFileNa 阅读全文
posted @ 2013-08-22 14:03 huhu0013 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: 鉴于校园招聘笔试题,有个字符串模式匹配的问题,99+%都是暴力,偶尔一两个写KMP,但是明显是知其表不知其里。期待的 BM算法 或者 Sunday 没有出现!鉴于网友的回复,特此声明:我的代码假定字符串中的字符都在ASCII范围内想了解Sunday,可以查作者原著,不难找。By the way,国内有好多 Paper 是对Sunday的改进,我本人是忽略不计, 国内的Paper擅长这个。头文件定义:/* Sunday.h */class Sunday{public: Sunday(); ~Sunday();public: int find(const char* pattern, const 阅读全文
posted @ 2013-07-31 15:07 huhu0013 阅读(2744) 评论(0) 推荐(1) 编辑
摘要: SUNDAY 算法描述:字符串查找算法中,最著名的两个是KMP算法(Knuth-Morris-Pratt)和BM算法(Boyer-Moore)。两个算法在最坏情况下均具有线性的查找时间。但是在实用上,KMP算法并不比最简单的c库函数strstr()快多少,而BM算法则往往比KMP算法快上3-5倍。但是BM算法还不是最快的算法,这里介绍一种比BM算法更快一些的查找算法。例如我们要在"substring searching algorithm"查找"search",刚开始时,把子串与文本左边对齐:substring searching algorithmse 阅读全文
posted @ 2013-07-31 14:59 huhu0013 阅读(3137) 评论(0) 推荐(1) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 28 下一页