Windows 驱动发展基金会(九)内核函数

Windows 驱动发展基金会系列,转载请注明出处:http://blog.csdn.net/ikerpeng/article/details/38849861


这里主要介绍3类Windows的内核函数:字符串处理函数,文件操作函数, 注冊表读写函数。

这些函数都是执行时函数,所以都有Rtl字样


1 字符串处理函数

首先驱动程序中,经常使用的字符串包含4种:CHAR (打印的时候注意小写%s), WCHAR(打印的时候注意大写%S), ANSI_STRING, UNICODE_STRING。后面两种使用的比較的多注意他们两都不是以0标志结束的。


使用前要都要进行初始化(就像C里面的变量声明和赋值)。

都有其对应的初始化函数:

RtlInitAnsiString(),RtlInitUnicodeString()。使用的样例:

ANSI_STRING ansiString;

CHAR* string = “Hello”;

RtlInitAnsiString(&ansiString, string);

同理我们还有对应的:复制:RtlCopyString()RtlCopyUnicodeString()比較:RtlCompareUnicodeString()RtlCompareString()转化为大写:RtlUpperString() RtlUpcaseUnicodeString()转化为整型:RtlUnicodeStringtoInteger()整型转化为Unicode RtlIntegertoUnicodeString()。

详细用到的时候查手冊就好。


2. 文件操作函数

文件的操作主要包含:文件的创建,打开,改动。读。写等的操作。

这个文件操作的基本公用代码是:

    UNICODE_STRING string;

    RtlInitUnicodeString(&string, L"\\??\\C:\\1.log");

    OBJECT_ATTRIBUTES objattr;

    InitializeObjectAttributes(&objattr, &string, OBJ_CASE_INSENSITIVE, NULL, NULL);

    HANDLE hFile;

    IO_STATUS_BLOCK iostatus;

以上就是对于函数要调用的一些參数的申明和定义。接下来就能够对创建的文件进行操作勒。

操作的函数主要有:


文件的创建: ZwCreativeFile()文件属性设置:ObjectAttributes()文件的打开:ZwOpenFile() 文件的信息获取 ZwSetInformationFile(),改动属性ZwQueryInformationFile()文件的读 ZwReadFile()文件的写 ZwWriteFile()。


3.注冊表

注冊表中存储的是对个的二元结构:键名--键值;同一时候一个注冊表项可能还存在他的子项。

其操作和文件的操作非常像。基本的函数有ZwCreatKey(),ZwOpenKey(),ZwSetValueKey()(键值)ZwQueryValueKey()ZwQueryKey()(键名的操作)等等。


本小节完。


參考文献

《 Windows 驱动开发技术详细说明 》

版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值