CAccessToken::CreateProcessAsUser
Appelez cette méthode pour créer un processus qui s'exécutent dans le contexte de sécurité de l'utilisateur représenté par l'objet d' 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( );
Paramètres
pApplicationName
Pointeur vers une chaîne terminée par le caractère NULL qui spécifie le package pour exécuter. Ce paramètre peut ne pas être NULL.pCommandLine
Pointeur vers une chaîne terminée par le caractère NULL qui spécifie la ligne de commande à exécuter.pProcessInformation
Pointeur vers une structure de PROCESS_INFORMATION qui accepte les informations d'identification sur le nouveau processus.pStartupInfo
Pointeur vers une structure de STARTUPINFO qui spécifie comment la fenêtre principale du nouveau processus doit s'afficher.dwCreationFlags
Spécifie les balises supplémentaires qui contrôlent la classe de priorité et la création du processus. Consultez la fonction CreateProcessAsUser Win32 pour une liste des balises.bLoadProfile
Si la valeur true, le profil utilisateur est chargé avec LoadUserProfile.pProcessAttributes
Pointeur vers une structure de SECURITY_ATTRIBUTES qui spécifie un modèle de sécurité du nouveau processus et détermine si les processus enfants peuvent hériter du handle retourné. Si les pProcessAttributes est NULL, le processus obtient un modèle de sécurité par défaut et le handle ne peut pas être héritée.pThreadAttributes
Pointeur vers une structure de SECURITY_ATTRIBUTES qui spécifie un modèle de sécurité pour le nouveau thread et détermine si les processus enfants peuvent hériter du handle retourné. Si les pThreadAttributes est NULL, le thread obtient un modèle de sécurité par défaut et le handle ne peut pas être héritée.bInherit
Indique si le nouveau processus hérite des handles du processus appelant. Si la valeur true, chaque handle ouvert héritable dans le processus appelant est hérité par le nouveau processus. Les handles hérités ont la même valeur et autorisations d'accès que les handles d'origine.pCurrentDirectory
Pointeur vers une chaîne terminée par le caractère NULL qui spécifie le lecteur actif et le dossier du nouveau processus. La chaîne doit être un chemin d'accès complet qui inclut une lettre de lecteur. Si ce paramètre a la valeur NULL, le nouveau processus aura le même lecteur actif et répertoire que le processus appelant.
Valeur de retour
Retourne la valeur true en cas de réussite, false en cas d'échec.
Notes
CreateProcessAsUser utilise la fonction d' CreateProcessAsUser Win32 pour créer un nouveau processus qui s'exécute dans le contexte de sécurité de l'utilisateur a représenté par l'objet d' CAccessToken . Consultez la description de la fonction de CreateProcessAsUser pour une description complète des paramètres requis.
Pour que cette méthode réussisse, l'objet d' CAccessToken doit contenir AssignPrimaryToken (à moins qu'il s'agit d'un jeton restreinte) et privilèges d'IncreaseQuota.
Configuration requise
Header: atlsecurity.h