博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建根对象
阅读量:6544 次
发布时间:2019-06-24

本文共 807 字,大约阅读时间需要 2 分钟。

ObInit会被调用两次,ObpInitializationPhase分别为TRUE和FALSE的时候。

在ObpInitializationPhase==TURE时,创建根目录\和\ObjectTypes

在ObpInitializationPhase==FALSE时,调用ObCreateObjectType,创建\ObjectTypes中下的的Type、Directory、SymbolicLink等。
根目录\和\ObjectTypes
ObInit()
{
// 创建根目录\

/* Create the directory */

Status = NtCreateDirectoryObject(&Handle,
                                 DIRECTORY_ALL_ACCESS,
                                 &ObjectAttributes);
//将句柄转换成对象
Status = ObReferenceObjectByHandle(Handle,
                                   0,
                                   ObDirectoryType,
                                   KernelMode,
                                   (PVOID*)&ObpRootDirectoryObject,
                                   NULL);

// 创建根目录\ObjectTypes

Status = NtCreateDirectoryObject(&Handle,
                                 DIRECTORY_ALL_ACCESS,
                                 &ObjectAttributes);

/* Get a handle to it */

Status = ObReferenceObjectByHandle(Handle,
                                   0,
                                   ObDirectoryType,
                                   KernelMode,
                                   (PVOID*)&ObpTypeDirectoryObject,
                                   NULL);

}

转载于:https://www.cnblogs.com/fanzi2009/archive/2010/02/10/1667194.html

你可能感兴趣的文章
特征变换(7)总结
查看>>
网络工程师之路怎么走?
查看>>
go语言unix域套接字发送udp报文
查看>>
2.并发和并行
查看>>
OpenGL学习(二)用户与交互
查看>>
神奇的代码-常见错误代码注意点
查看>>
[直播一揽子]编码构思和套路
查看>>
[直播一揽子]x264参数的解释
查看>>
static的意义和功能
查看>>
iOS学习之Objective-C 2.0 运行时系统编程
查看>>
Exchange2007-Exchange2010升级-06 数据库高可用组的创建
查看>>
phpHiveAdmin是如何通过Hive/Hadoop工作的
查看>>
双向链表内结点的删除(4)
查看>>
项目总结
查看>>
JSON字符串转成对象
查看>>
SaltStack 中ZMQ升级
查看>>
grep,egrep使用以及正则表达式的使用
查看>>
implode 和 explode
查看>>
gzip the js and css
查看>>
exchange 2013 提示“HTTP 500内部服务器错误”
查看>>