windows之内核对象2
来源:互联网 发布:百度软件助手 编辑:程序博客网 时间:2024/06/11 05:17
父子进程间的共享内核对象。
利用内核对象句柄的可继承性,当然这种继承性仅限于父子进程。
可以在SECURITYATRIBUTE这种结构中,设置可继承标志。然后把它作为参数传给创建内核对象的函数。当创建内核对象完毕,在进程的句柄表里就会有一条记录,其中可继承标志位被设置为1状态。然后在这个进程里,利用创建进程的函数创建一个子进程,在这个创建函数里要设置继承性参数为true,这样建立的子进程的句柄表将在与父进程句柄表相同的位置建立相同的句柄结构记录,记录了父进程创建的内核对象的信息.
值得注意的是,虽然子进程的句柄表里已经有了父进程创建的内核对象的句柄,但是子进程并不知道,这个继承的句柄的值。如何获得这个值呢?有这么几个方式:
可以利用创建函数,在父进程中设置参数传递给创建函数,然后在子进程中利用sscanf函数进行分析,得出句柄值。这时子进程就可以影响内核对象了。
可以利用进程间通信的技术。可以等子进程初始化完毕,给子进程的线程窗口发送消息,封装句柄信息。
还可以,也是比较好的方式就是利用进程的环境程序块,在环境程序块里设置变量值,然后在子进程或者孙进程里
利用GetEnvironmentVariable函数取出变量值即可。
要注意:可以通过函数改变句柄的属性。SetHandleInfomation
参数值:HANDLE_FLAG_INHERIT(1)/HANDLE_FLAG_PROFECT_FROM_CLOSE(2)
还可以通过GetHandleInfomation(..)获得句柄的状态。
- windows之内核对象2
- windows之内核对象
- windows之内核对象3
- windows之内核对象5
- Windows内核之内核对象
- Windows高级编程之内核对象
- windows核心编程之内核对象
- Windows核心编程之内核对象
- Windows进程的同步之内核对象-互斥量(Mutex)
- windows核心编程之内核对象同步(3)
- 学习笔记之内核对象
- 《Win32多线程程序设计》读书笔记之内核对象
- RTT学习笔记之内核对象模型
- linux设备模型之内核对象kobject
- RT-thread内核之内核对象模型
- Windows-核心编程-09-如何用内核对象进行线程同步-互斥体内核对象
- 我对内核对象的理解
- linux内存管理之内核对物理内存的描述
- 确保 PHP 应用程序的安全八
- 确保 PHP 应用程序的安全九
- 基本工作都已就绪
- c/c++中的指针你认识多少?
- SQL语句导入导出大全
- windows之内核对象2
- 怎样解决:对路径""的访问被拒绝 这个问题?
- C#Web应用程序的发布
- 将Excel中的数据导入到SQL Server 2000数据库中
- Linux Init详解
- LOG4J配置
- asp.net将Excel表导入到sql数据库 源代码参考
- MFC之程序框架
- Eclipse反编译插件Jadclipse