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