深度剖析WinPcap之(三)——所涉及的Windows驱动基础知识(4)
2009-09-11 00:00:00 来源:WEB开发网1.1.1.2 打开注册表
DDK提供了内核函数ZwOpenKey打开一个已存在的注册表项。如果ZwOpenKey指定的项不存在,就不会创建这个项,而是返回一个错误状态。该函数的声明如下:
NTSTATUS
ZwOpenKey(
OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);
参数KeyHandle为返回被打开的句柄。参数DesiredAccess为打开的权限,一般设为KEY_ALL_ACCESS。参数ObjectAttri110utes是OBJECT_ATTRIBUTES数据结构,指示打开的状态。
如果打开成功函数ZwOpenKey返回STATUS_SUCCESS,否则返回一个错误代码,可能为STATUS_INVALID_HANDLE或STATUS_ACCESS_DENIED。
1.1.1.3 关闭注册表
打开的注册表,如果不在使用需要采用ZwClose函数关闭它,函数原型如下。
NTSTATUS
ZwClose(
IN HANDLE Handle
);
参数Handle为所要关闭的注册表句柄。
1.1.1.4 查询注册表
驱动程序中有时需要对注册表的项进行查询,从而获取注册表的键值aDDK提供的ZwQueryValueKey函数可以完成这个任务,其声明如下:
NTSTATUS
ZwQueryValueKey(
IN HANDLE KeyHandle,
IN PUNICODE_STRING ValueName,
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
OUT PVOID KeyValueInformation,
IN ULONG Length,
OUT PULONG ResultLength
);
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接