Windows作业
来源:互联网 发布:js gzip 解压缩字符串 编辑:程序博客网 时间:2024/04/19 12:37
Windows 2000提供了一个新的作业内核对象,使你能够将进程组合在一起,并且创建一个“沙框”,以便限制进程能够进行的操作。
最好是将作业对象视为一个进程的容器。但是创建包含单个进程的作业是有用的,因为这样一来,就可以对该进程加上通常情况下不能加的限制。
创建一个新作业内核对象。
HANDLE CreateJobObject(
PSECURITY_ATTRIBUTE psa,//安全信息
PCTSTR pszName); //给作业命名,使它可以供另一个进程通过OpenJobObject函数进程访问。
HANDLE OpenJobObject(
DWORD dwDesiredAccess,
BOOL bInheritHandle,
PSTSTR pszName);
与其他的内核对象一样,如果进程不需要访问代码中的作业对象,那么需要调用CloseHandle来关闭句柄。
关闭作业对象并不会迫使作业中的所有进程终止运行。改作业对象实际上做了删除标记,只有当作业中的所有进程全部终止运行后,该作业对象才会被自动撤销。
注意: 关闭作业的句柄后,尽管作业任然存在,但是该作业将无法被所有进程访问。
对作业进程的限制
可以对作业加上若干不同类型的限制:
1.基本限制和扩展基本限制,用于防止作业中的进程垄断系统的资源。
2.基本的UI的限制,用于防止作业中的进程改变用户界面。
3.安全性限制,用于防止作业中的进程访问保密资源(文件,注册表子关键字)
为作业加上各种限制:
SetInformationJobObject(
HANDLE hJob,//标识要限制的作业
JOBOBJECTINFOCLASS JobObjectInformationClass,//枚举类型,用于要指明的限制类型
PVOID pJobObjectInformation,//包含限制设置值的数据结构地址
DWORD cbJobObjectInformationLength);//用于指明该结构的大小(用于确定版本)
第二个参数 第三个参数
基本限制 JobObjectBasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION
扩展基本限制 JobObjectExtentedLimitInformation JOBOBJECT_EXTENTED_LIMIT_INFORMATION
基本UI限制 JobObjectBasicUIRestrictions JOBOBJECT_BASIC_UI_RESTRICTIONS
安全性限制 JobObjectSecurityLimitInformation JOBOBJECT_SECURITY_LIMIT_INFORMATION
JOBOBJECT_BASIC_UI_RESTRICTIONS job;
例如:SetInformationJobObject(hJob,JobObjectBasicUIRestrictions,&job,sizeof(job));
BOOL AssignProcessToJobObject(
HANDLE hJob,//作业句柄
HANDLE hProcess);//进程句柄
此函数告诉系统,将该进程(由hProcess标识)视为现有作业(由hJob标识)的一部分。
注意:此函数只允许将尚未被赋予任何作业的进程赋予一个作业。一旦进程成为一个作业的组成部分,它就不能转到另一个作业,并且不能是无作业的进程。另外,当作为作业的一部分的进程生成另一个进程的时候,新进程将自动成为父作业的一部分。
撤销作业中的进程:
BOOL TerminateJobObject(
HANDLE hJob,
UINT uExitCode);
获取对作业的当前限制信息:
BOOL WINAPI QueryInformationJobObject(
__in HANDLE hJob, __in JOBOBJECTINFOCLASS JobObjectInfoClass,// __out LPVOID lpJobObjectInfo,//获取作业的统计信息 __in DWORD cbJobObjectInfoLength, __out LPDWORD lpReturnLength);
0 0
- Windows作业
- Windows Programming系列 作业
- windows核心编程--作业
- Windows核心编程:作业
- windows作业介绍
- windows核心编程-作业
- Windows内核之作业
- Windows作业(Job)
- windows核心编程--作业
- windows核心编程--作业相关
- windows核心编程之作业
- windows作业的相关概念
- 【Windows核心编程】Windows核心编程 -- 作业
- 《Windows核心编程》第5章 作业
- 《Windows核心编程》第5章 作业
- Windows核心编程<读书笔记五>作业JOB
- windows 进程作业对象 管理一组 进程
- Windows核心编程学习笔记(8)--作业
- 实验二:顺序表实现N个学生成绩操作
- Java下拉框JComboBox举例
- B/S与C/S区别
- //设置导航为不透明 self.navigationController.navigationBar.translucent = NO;
- 一、ROS系统介绍及安装
- Windows作业
- TextField.leftView
- 用jq如何把一个机构树拦腰分成两列。
- Tint Color的理解和APP简单的主题化
- 一道用到二进制位加记忆化搜索的dp题
- 编译成ASCII码,加上_T()或TEXT()变成UNICODE
- 二叉树学习之哈弗曼编码
- HDU__A - How Many Tables(第一天)
- java PLAY框架学习笔记--入门