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

请参见

参考

CAccessToken选件类