CAccessToken::CreateProcessAsUser
在 CAccessToken 对象表示的用户的安全上下文调用此方法创建新进程运行。
bool CreateProcessAsUser(
LPCTSTR pApplicationName,
LPTSTR pCommandLine,
LPPROCESS_INFORMATION pProcessInformation,
LPSTARTUPINFO pStartupInfo,
DWORD dwCreationFlags = NORMAL_PRIORITY_CLASS,
bool bLoadProfile = false,
const CSecurityAttributes* pProcessAttributes = NULL,
const CSecurityAttributes* pThreadAttributes = NULL,
bool bInherit = false,
LPCTSTR pCurrentDirectory = NULL
) throw( );
参数
pApplicationName
为指定模块执行的一个Null结尾的字符串的指针。 此参数也许不是NULL。pCommandLine
为指定要执行的命令行、一个Null结尾的字符串的指针。pProcessInformation
为获取有关的定位信息的 PROCESS_INFORMATION 结构的指针更新过程。pStartupInfo
到指定的 STARTUPINFO 结构的指针的主窗口如何更新过程应显示。dwCreationFlags
指定控件优先级选件类和处理的创建其他标志。 有关标志列表参见Win32函数 CreateProcessAsUser。bLoadProfile
如果为true,用户配置文件的 LoadUserProfile加载。pProcessAttributes
为指定安全描述符的 SECURITY_ATTRIBUTES 结构的指针更新过程并确定子进程是否可以继承返回的句柄。 如果 pProcessAttributes 为NULL,处理获取默认安全说明符,并处理不能被继承。pThreadAttributes
对新线程指定安全描述符并确定的 SECURITY_ATTRIBUTES 结构的指针子进程是否可以继承返回的句柄。 如果 pThreadAttributes 为NULL,线程获取默认安全说明符,并处理不能被继承。bInherit
指示是否更新过程继承调用的处理。 如果为true,则在调用每个可继承的打开处理通过继承来更新过程。 继承的句柄具有值和访问权限和原始处理相同。pCurrentDirectory
到指定的一个Null结尾的字符串的指针当前驱动器和目录的更新过程。 该字符串必须包括盘符的完整路径。 如果此参数是NULL,更新过程将具有与被处理的当前驱动器和目录。
返回值
如果成功,则返回 true;如果失败,则返回 false。
备注
CreateProcessAsUser 使用 CreateProcessAsUser Win32函数创建。CAccessToken 对象表示的用户安全上下文中运行的更新过程。 为需要的有关参数的完整讨论参见 CreateProcessAsUser 功能的说明。
为了使此成功的方法,CAccessToken 对象必须存储AssignPrimaryToken (除非它是一个有限的标记)和IncreaseQuota权限。
要求
Header: atlsecurity.h