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)
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)
摘要:
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)
2017年9月15日
摘要:
IO交互模式中的DeviceIOControl与驱动层交互有三种:缓冲区模式、直接访问模式、其他模式,这里本人学习的是缓冲区访问模式,原理如图: 驱动中最好不要直接访问用户模式下的内存地址,使用缓冲区方式可以避免程序员访问内存模式下的内存地址。Win32API DeviceIoControl的内部,
阅读全文
posted @ 2017-09-15 10:06
czhang4
阅读(1079)
推荐(0)
2017年9月12日
摘要:
学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正。 IntentActivityDemo学习笔记 题目:ActivityA登录界面(用户名、密码、登陆按钮),ActivityB(Edit,返回按键:
阅读全文
posted @ 2017-09-12 18:57
czhang4
阅读(375)
推荐(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)
摘要:
由于频繁的申请,回收内存会导致在内存上产生大量的内存"空洞".这时使用Lookaside. 1.每次申请固定大小的内存. 2.申请和回收的操作十分频繁. 实现原理: 他先向windows申请了一块比较大的内存.而后以后申请内存都从Lookaside对象申请.这样就会避免内存"空洞",Lookasid
阅读全文
posted @ 2017-09-10 11:35
czhang4
阅读(371)
推荐(0)
2017年9月9日
摘要:
同步事件(synchronizationEvent)当事件对象为激发时,如遇到KeWaitForXX等内核函数,事件对象则自动变回未激发态通知事件(NotificationEvent)当事件对象为激发时,如遇到KeWaitForXX等内核函数,事件对象则不会自动变回未激发态 Ring0(创建事件).
阅读全文
posted @ 2017-09-09 12:37
czhang4
阅读(398)
推荐(0)
摘要:
应用程序中创建的事件和在内核中创建的事件对象,本质上是同一个东西,在用户模式中,他用句柄表示,在内核模式下,他用KEVENT表示数据结构表示。在应用程序中,所有的内核对象都不会被用户看到,用户看到的知识代表内核对象的对象句柄。这个代码就是要在Ring3与RIng0之间用一个事件对象。解决的第一个问题
阅读全文
posted @ 2017-09-09 12:34
czhang4
阅读(445)
推荐(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)