SetHandleInformation设置内核对象标志
2015-10-26 10:50
316 查看
SetHandleInformation设置内核对象标志当父进程创建子进程时,子进程将继承父进程的内核对象。这时如果要控制子进程使用父进程的内核对象。可以使用
SetHandleInformation设置。
BOOL SetHandleInformation(HANDLE hObject, DWORD dwMask, DWORD dwFlags);
改变句柄的标志,目前可改变的标志有两种
#define HANDLE_FLAG_INHERIT 0x00000001 // 继承标志
#define HANDLE_FLAG_PROJECT_FROM_CLOSE 0x00000001 // 保护不允许关闭句柄标志
例如
// 设置句柄值可继承:
SetHandleInformation(hObject, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
// 设置句柄不可继承:
SetHandleInformation(hObject, HANDLE_FLAG_INHERIT, 0);
// 设置句柄值不可关闭,受保护:
SetHandleInformation(hObject, HANDLE_FLAG_PROJECT_FROM_CLOSE, HANDLE_FLAG_PROJECT_FROM_CLOSE);
// 设置句柄值可关闭,不受保护:
SetHandleInformation(hObject, HANDLE_FLAG_PROJECT_FROM_CLOSE, 0);
1、关于设置句柄为不可继承的用法,在创建一个回路的socket时使用,如果可以子进程可以继承的话,会出现多个回路的socket,通讯会受影响
2、关于设置句柄不可以关闭,受保护时,父进程创建子进程,子进程再创建孙进程时,子进程把句柄关闭,导致孙进程无法继续使用,这时候要保护
相关文章推荐
- 互联网面试题之趣味数学题
- 九度OJ 1175:打牌 (模式匹配)
- 宏定义详细信息
- sed和awk用法
- python集合
- 九度OJ 1175:打牌 (模式匹配)
- 58同城技术委员会执行主席沈剑:好的架构是进化来的,不是设计来的
- 理解dropout
- leetcode 223 Retangle Area
- Linux中如何使用附属属组创建文件
- Java从0开始学——字符串
- ubunt1204安装配置vsftp
- securityoverridehacking challenge 解题思路汇总——Realistic
- 九度OJ 1174:查找第K小数 (排序、查找)
- 前端提交的中文数据与后端数据库无法正确匹配的问题
- get,post请求
- PHP字符操作之限制新闻标题的显示字数
- C++指针和数组:认识指针和数组
- 九度OJ 1174:查找第K小数 (排序、查找)
- TexturePacker图片打包利器