您的位置:首页 > 其它

Windows核心开发之进程(一)

2008-11-07 23:31 183 查看
一、 进程(Process)是一个这个正在运行的程序的实例。当应用程序开始执行时,程序的可执行文件被载入内存,那么这些在内存中的可执行文件或代码就是进程。
进程包含两部分:
1、该进程的内核对象。进程被创建时,系统为其建立一个进程内核对象,系统利用进程内核对象来存放关于该进程的统计信息;
2、该进程的地址空间,可能包含所有需要的可执行模块或DLL模块的代码和数据。
由上可以看出,进程是不活泼的,它只是线程的容器。进程要完成任何功能只能靠进程内的线程去完成。
“进程”和“程序”是有区别的,进程包括一个程序实例化所需要的所有资源,而程序只是指令集合。
系统在创建新的进程时会为新进程指定一个STARTUPINFO结构,包含了父进程传给子进程的信息,可以调用函数
GetStartupInfo(lpStartupInfo)来查看这些信息。
二、创建进程
CreateProcess函数用来创建新的进程,此函数的参数都非常重要。最有用的几个:
1、lpCommandLine 传递给新进程的命令行参数;
2、bInheritHandles 指定当前调用CreateProcess的进程的可继承句柄是否被新进程继承;
3、dwCreationFlags 新进程的优先级等标志;
4、lpProcessInformation (out),新进程的ID及其主线程ID、句柄等重要信息。本文出自 “爱生活,爱拉风” 博客,请务必保留此出处http://dking94.blog.51cto.com/528254/110923
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: