qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 31 下一页

2013年6月30日

该文被密码保护。 阅读全文
posted @ 2013-06-30 11:06 qintangtao 阅读(5) 评论(0) 推荐(0) 编辑

2013年6月29日

该文被密码保护。 阅读全文
posted @ 2013-06-29 22:10 qintangtao 阅读(4) 评论(0) 推荐(0) 编辑

2013年6月17日

该文被密码保护。 阅读全文
posted @ 2013-06-17 21:13 qintangtao 阅读(0) 评论(0) 推荐(0) 编辑

2013年6月14日

摘要: 宏中"#"和"##"的用法一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#include<cstdio>#include<climits>using namespace std;#define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ printf(STR(vck)); // 输出字符串"vck" printf("%d/n", CONS(2,3)); // 2e3 输出:2000 return 0 阅读全文
posted @ 2013-06-14 14:52 qintangtao 阅读(364) 评论(0) 推荐(0) 编辑

2013年6月4日

该文被密码保护。 阅读全文
posted @ 2013-06-04 15:47 qintangtao 阅读(15) 评论(0) 推荐(0) 编辑

2013年5月17日

摘要: 注册表项:注册表中的一个项目,类似于目录的概念注册表子项:类似于目录中的子目录键名:通过键名可以寻找到相应的键值键值类别:每个键值存储的时候有不同的类别,可以是整形,字符串等数据键值:键名下对应存储的数据 1、创建关闭注册表/************************************************************************* 函数名称:ZwCreateKey* 功能描述:打开注册表句柄* 参数列表: KeyHandle:获得的注册表句柄 DesiredAccess:访问权限,一般设置为KEY_ALL_ACCESS ... 阅读全文
posted @ 2013-05-17 15:55 qintangtao 阅读(1882) 评论(0) 推荐(0) 编辑

2013年5月8日

摘要: 一:文件的创建/************************************************************************* 函数名称:ZwCreateFile* 功能描述:文件的创建* 参数列表: FileHandle:返回打开文件的句柄 DesiredAccess:对打开文件操作的描述,读,写或是其他。一般指定为GENERIC_READ 或 GENERIC_WRITE ObjectAttributes:是OBJECT_ATTRIBUTES结构的地址,该结构包含要打开的文件名 IoStatusBlo... 阅读全文
posted @ 2013-05-08 17:25 qintangtao 阅读(2739) 评论(1) 推荐(0) 编辑

2013年4月15日

摘要: 内核模式下的字符串操作1、ASCII字符串和宽字符串在驱动程序开发中,DDK将char和wchar_t类别,替换成CHAR和WCHAR类别驱动程序中用KdPrint打印ASCII字符串和宽字符串:打印ASCII字符串CHAR *string = "Hello";KdPrint("%s\n", string);打印宽字符串WCHAR *string = L"Hello";KdPrint("%S\n", string);2、ANSI_STRING字符串与UNICODE_STRING字符串2.1、ANSI_STRING字 阅读全文
posted @ 2013-04-15 22:23 qintangtao 阅读(10542) 评论(0) 推荐(0) 编辑

2013年4月14日

摘要: 在驱动程序开发中,还有一个技巧,就是使用"断言"。在驱动程序使用"断言"一般是通过使用ASSERT宏。例如:NTSTATUS Foo(PCHAR* str){ ASSERT(str != NULL); //断言 //对于str的操作}这段代码认为输入参数绝不可能是空指针,因此在函数的开头做一个断言(ASSERT)。一旦断言失败,会引发一个异常 阅读全文
posted @ 2013-04-14 21:40 qintangtao 阅读(193) 评论(0) 推荐(0) 编辑

摘要: DDK提供了大量的宏。在使用这些宏的时候,要注意一种错误的发生,这就是"侧效"(Side Effect)宏一般由多行组成,如下面的形式,其中的"\"代表换行#define PRINT(msg) KdPrint(("====================\n"));\ KdPrint(msg);\ KdPrint(("===================\n"));在C语言中规定,for或者if语句块中的内容如果只是一句,可以省略掉{}。如:if(bRet){ Foo();}//等价于if(bRet) Foo() 阅读全文
posted @ 2013-04-14 21:36 qintangtao 阅读(395) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 31 下一页