2017年9月20日
摘要: 1 // 获得cpu主频.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include 6 #include 7 8 using namespace std; 9 10 DWORD CPUClockMHz(); 11 12 int main() 13 { 14 DWORD CPUMHz; 15... 阅读全文
posted @ 2017-09-20 20:54 czhang4 阅读(382) 评论(0) 推荐(0)
  2017年9月16日
摘要: 1 //多字符集 2 3 #include "stdafx.h" 4 #include 5 #include 6 7 using namespace std; 8 9 BOOL MakeSureDirectoryPathExists(char* DirectoryFullPath); 10 11 int main() 12 { 13 char* Direct... 阅读全文
posted @ 2017-09-16 14:49 czhang4 阅读(184) 评论(0) 推荐(0)
摘要: 1 #define DELAY_ONE_MICROSECOND (-10) 2 #define DELAY_ONE_MILLISEND (DELAY_ONE_MICROSECOND*1000) 3 void Sleep(LONG Millisend) 4 { 5 LARGE_INTEGER Interval; 6 Interval.QuadPart = DELAY_ONE_M... 阅读全文
posted @ 2017-09-16 14:46 czhang4 阅读(250) 评论(0) 推荐(0)
  2017年9月15日
摘要: IO交互模式中的DeviceIOControl与驱动层交互有三种:缓冲区模式、直接访问模式、其他模式,这里本人学习的是缓冲区访问模式,原理如图: 驱动中最好不要直接访问用户模式下的内存地址,使用缓冲区方式可以避免程序员访问内存模式下的内存地址。Win32API DeviceIoControl的内部, 阅读全文
posted @ 2017-09-15 10:06 czhang4 阅读(1079) 评论(0) 推荐(0)
  2017年9月12日
摘要: 学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正。 IntentActivityDemo学习笔记 题目:ActivityA登录界面(用户名、密码、登陆按钮),ActivityB(Edit,返回按键: 阅读全文
posted @ 2017-09-12 18:57 czhang4 阅读(375) 评论(0) 推荐(0)
  2017年9月10日
摘要: //一般驱动层不使用数据结构,一般Ring3层 双向链表可以将链表形成一个环.BLINK指针指向前一个元素,FLINK指针指向下一个元素.typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink 阅读全文
posted @ 2017-09-10 11:35 czhang4 阅读(314) 评论(0) 推荐(0)
摘要: 由于频繁的申请,回收内存会导致在内存上产生大量的内存"空洞".这时使用Lookaside. 1.每次申请固定大小的内存. 2.申请和回收的操作十分频繁. 实现原理: 他先向windows申请了一块比较大的内存.而后以后申请内存都从Lookaside对象申请.这样就会避免内存"空洞",Lookasid 阅读全文
posted @ 2017-09-10 11:35 czhang4 阅读(371) 评论(0) 推荐(0)
  2017年9月9日
摘要: 同步事件(synchronizationEvent)当事件对象为激发时,如遇到KeWaitForXX等内核函数,事件对象则自动变回未激发态通知事件(NotificationEvent)当事件对象为激发时,如遇到KeWaitForXX等内核函数,事件对象则不会自动变回未激发态 Ring0(创建事件). 阅读全文
posted @ 2017-09-09 12:37 czhang4 阅读(398) 评论(0) 推荐(0)
摘要: 应用程序中创建的事件和在内核中创建的事件对象,本质上是同一个东西,在用户模式中,他用句柄表示,在内核模式下,他用KEVENT表示数据结构表示。在应用程序中,所有的内核对象都不会被用户看到,用户看到的知识代表内核对象的对象句柄。这个代码就是要在Ring3与RIng0之间用一个事件对象。解决的第一个问题 阅读全文
posted @ 2017-09-09 12:34 czhang4 阅读(445) 评论(0) 推荐(0)
  2017年9月8日
摘要: 1 // 计时器.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include 6 #include 7 #include 8 using namespace std; 9 10 BOOL __IsLoop = TRUE; 11 12 13 void GetSystemTime(); 14 DWORD W... 阅读全文
posted @ 2017-09-08 21:18 czhang4 阅读(164) 评论(0) 推荐(0)