123456

 
上一页 1 2 3 4 5 6 7 ··· 39 下一页

2013年12月19日

操作系统分类

摘要: 引用MSDN:http://msdn.microsoft.com/en-us/library/ms724833.aspxOperating systemVersion numberdwMajorVersiondwMinorVersionOtherWindows8.16.3*63OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATIONWindows Server2012R26.3*63OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATIONWindows86.262OSVERSIONINFOEX.wProdu 阅读全文

posted @ 2013-12-19 10:19 hgy413 阅读(173) 评论(0) 推荐(0) 编辑

2013年12月18日

驱动学习2

摘要: 1.查看性能,可以直接在命令行输入:perfmon打开性能管理器Processor: % Privileged Time:对应于处理器执行 Microsoft Windows 内核命令(例如处理 SQL Server I/O 请求)所用时间的百分比。如果Physical Disk计数器的值很高时该计数器的值也一直很高,则考虑安装速度更快或效率更高的磁盘子系统。如果发现某一进程对驱动程序操作后,内核模式的运行时间陡然上升,则说明驱动程序消耗了大量的内核资源Processor: %User Time:对应于处理器执行用户进程(例如 SQL Server)所用时间的百分比。 阅读全文

posted @ 2013-12-18 17:11 hgy413 阅读(96) 评论(0) 推荐(0) 编辑

WDM驱动在win7和XP下T系统方式加载

摘要: xp:控制面板-->添加硬件再再ok,在设备管理器中可以看到:win7:点击添加过时设备后,操作就和xp一样了 阅读全文

posted @ 2013-12-18 13:50 hgy413 阅读(301) 评论(0) 推荐(0) 编辑

makefile和source

摘要: makefile总是一句话不变:!INCLUDE $(NTMAKEENV)\makefile.def意味着直接使用DDK目录下的makefile.def,一般在DDK安装目录的bin文件夹下.sourceTARGETNAME=HelloWDM //编译出来的驱动程序的名称TARGETTYPE=DRIVER //编译的类型是驱动程序编译DRIVERTYPE=WDM //驱动程序的类型是WDM驱动程序TARGETPATH=OBJ //生成的文件存放在OBJ目录中INCLUDES=$(BASEDIR)\inc;\ //这是需要引入的头文件 ... 阅读全文

posted @ 2013-12-18 11:23 hgy413 阅读(511) 评论(0) 推荐(0) 编辑

2013年12月17日

驱动编译环境--x86 Checked Build Environment

摘要: x86:Windows是32位版本,和CPU是32位还是64位无关x64:64位版本的WindowsIA64:Intel的与x86不兼容的64位平台所以一般用x86就好了 阅读全文

posted @ 2013-12-17 15:50 hgy413 阅读(387) 评论(0) 推荐(0) 编辑

2013年11月24日

驱动学习1

摘要: WDM要导入的的头文件是WDM.h和NT式驱动程序一样,入口函数同样是DriverEntry,且在C++编译的时候需要用extern"C"修饰 pDriverObject->DriverExtension->AddDevice = HelloWDMAddDevice; pDriverObject->MajorFunction[IRP_MJ_PNP] = HelloWDMPnp; pDriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = pDriverObject->MajorFunction[I 阅读全文

posted @ 2013-11-24 22:09 hgy413 阅读(234) 评论(0) 推荐(0) 编辑

2013年11月14日

驱动学习0

摘要: 驱动分为两类,一类是支持即插即用的WDM驱动程序一类是不支持即插即用的NT式驱动程序#define PAGEDCODE code_seg("PAGE")#define LOCKEDCODE code_seg()#define INITCODE code_seg("INIT")定义了分页标记,非分页标记和初始化内存windows驱动开发中,所有程序的函数和变量都要被指明加载到分页内存还是非分页内存中另DriverEntry需放在INIT标志的内存中INIT指明该函数只是在加载时需要载入内存,当驱动成功加载后,该函数可以从内存中卸载掉默认情况下,内核加载器会 阅读全文

posted @ 2013-11-14 00:16 hgy413 阅读(173) 评论(0) 推荐(0) 编辑

2013年11月7日

gtest学习---最简单的test

摘要: gtest使用的是1.6版本可以在这里下载gtest:目前又出了1.7版本https://code.google.com/p/googletest/downloads/list在msvc文件夹下,运行gtest.sln,生成对应的lib库,这里生成的lib会存在gtest-1.6.0\msvc\gtest\Debug目录下,叫gtestd.lib注意:如果测试程序使用的是vs2008,那么这个lib库也必须使用vs2008编译lib库的使用方式大家都清楚,所以demo中把include文件夹包含到工程中就行了,如下:然后再依赖下lib:OK了,包含头文件:#include 之后可以写程序了:# 阅读全文

posted @ 2013-11-07 01:08 hgy413 阅读(203) 评论(0) 推荐(0) 编辑

2013年10月21日

windbg学习----r?

摘要: r?命令可以让伪寄存器自动获取所赋参数的类型(仅在指派伪寄存器时) 使得伪寄存器获得类型信息。可以使用任何类型如,我们知道@$peb的类型是_PEB:0:000> dt ntdll!*PEB* ntdll!_PEB ntdll!_PEB_LDR_DATA0:000> ? @$pebEvaluate expression: 2147344384 = 7ffde000值为7ffde0000:000> dt -v ntdll!_PEB @$pebstruct _PEB, 91 elements, 0x248 bytes +0x000 InheritedAdd... 阅读全文

posted @ 2013-10-21 13:10 hgy413 阅读(405) 评论(0) 推荐(0) 编辑

2013年10月18日

GetThreadContext注意点

摘要: http://msdn.microsoft.com/zh-cn/subscriptions/ms679362(v=vs.85).aspx上比较详细说明,注意两点:1.You cannot get a valid context for a running thread. Use theSuspendThreadfunction to suspend the thread before callingGetThreadContext.2.If you callGetThreadContextfor the current thread, the function returns successf 阅读全文

posted @ 2013-10-18 13:27 hgy413 阅读(743) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 39 下一页

导航