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