共用方式為


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 結尾字串的指標。這個參數不能是空的。

  • pCommandLine
    會指定要執行的命令列的 NULL 結尾字串的指標。

  • pProcessInformation
    要取得有關處理序的識別資訊的 PROCESS_INFORMATION 結構的指標。

  • pStartupInfo
    為指定的 STARTUPINFO 結構之指標新處理序的主視窗應該如何出現。

  • dwCreationFlags
    指定控制優先權類別和流程的其他旗標。提供旗標清單。請參閱 Win32 函式 此語彙基元

  • bLoadProfile
    如果為 true,使用者設定檔的 LoadUserProfile載入。

  • pProcessAttributes
    為新的處理序指定安全性描述元並決定的 SECURITY_ATTRIBUTES 結構之指標子處理序是否可以繼承自傳回的控制代碼。如果 pProcessAttributes 是空的,則處理序會取得預設的安全性描述元,並且控制代碼無法被繼承。

  • pThreadAttributes
    為新的執行緒指定安全性描述元並決定的 SECURITY_ATTRIBUTES 結構之指標子處理序是否可以繼承自傳回的控制代碼。如果 pThreadAttributes 是空的,則執行緒會取得預設的安全性描述元,並且控制代碼無法被繼承。

  • bInherit
    表示處理序是否繼承自呼叫處理序的控制代碼。如果為 true,則會在呼叫處理序中每個可繼承的開放控制代碼由新的處理序繼承。繼承的控制代碼具有值和存取權限和原始控制代碼的相同。

  • pCurrentDirectory
    為新的處理序指定目前磁碟機和目錄的 NULL 結尾字串的指標。字串必須是包含磁碟機代號的完整路徑。如果這個參數為 null,則處理序會具有目前磁碟機和目錄和呼叫的處理序相同。

傳回值

如果成功則傳回 true,失敗則傳回 false。

備註

CreateProcessAsUser 使用 CreateProcessAsUser Win32 函式會執行就使用者安全性內容 CAccessToken 由物件所表示的處理序。為需要的有關參數的詳細討論參閱 此語彙基元 函式的描述。

若要成功地執行的方法, CAccessToken 物件必須含有 AssignPrimaryToken (除非它是一個有限的語彙基元) 和 IncreaseQuota 權限。

需求

Header: atlsecurity.h

請參閱

參考

CAccessToken 類別