CAccessToken::CreateProcessAsUser

Rufen Sie diese Methode auf, um einen neuen Prozess zu erstellen, der in den Sicherheitskontext des Benutzers ausgeführt, der durch das CAccessToken-Objekt dargestellt wird.

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( );

Parameter

  • pApplicationName
    Zeiger auf eine auf NULL endende Zeichenfolge, die das Modul angibt, um.Dieser Parameter kann nicht NULL.

  • pCommandLine
    Zeiger auf eine auf NULL endende Zeichenfolge, die die Befehlszeile angibt, um.

  • pProcessInformation
    Zeiger auf eine Struktur, die PROCESS_INFORMATION Identifikationsinformationen zur neuen Prozess abruft.

  • pStartupInfo
    Zeiger auf eine Struktur STARTUPINFO, die angibt, wie das Hauptfenster für den neuen Prozess angezeigt werden soll.

  • dwCreationFlags
    Gibt zusätzliche Flags an, die die Prioritätsklasse und die Erstellung des Prozesses steuern.Siehe die Win32-Funktion CreateProcessAsUser für eine Liste von Flags.

  • bLoadProfile
    Wenn true, das Benutzerprofil mit LoadUserProfile geladen wird.

  • pProcessAttributes
    Zeiger auf eine SECURITY_ATTRIBUTES-Struktur, die eine Sicherheitsbeschreibung für den neuen Prozess angibt und bestimmt, ob untergeordnete Prozesse das zurückgegebene Handle erben können.Wenn pProcessAttributes NULL ist, ruft der Prozess eine standardmäßige Sicherheitsbeschreibung ab und das Handle kann nicht vererbt werden.

  • pThreadAttributes
    Zeiger auf eine SECURITY_ATTRIBUTES-Struktur, die eine Sicherheitsbeschreibung für den neuen Thread angibt und bestimmt, ob untergeordnete Prozesse das zurückgegebene Handle erben können.Wenn pThreadAttributes NULL ist, ruft der Thread eine standardmäßige Sicherheitsbeschreibung ab und das Handle kann nicht vererbt werden.

  • bInherit
    Gibt an, ob der neue Prozess Handles vom aufrufenden Prozess erbt.Wenn true, jedes vererbbare geöffnete Handle im aufrufenden Prozess durch den neuen Prozess geerbt wird.Geerbte Handles haben denselben Wert und Zugriffsrechte wie die Vorlagenhandles.

  • pCurrentDirectory
    Zeiger auf eine auf NULL endende Zeichenfolge, die das aktuelle Laufwerk und das Verzeichnis für den neuen Prozess angibt.Die Zeichenfolge muss ein vollständiger Pfad sein, der einen Laufwerkbuchstaben einschließt.Wenn dieser Parameter NULL ist, verfügt der neue Prozess die gleiche aktuelle Laufwerk und Verzeichnis wie der aufrufende Prozess.

Rückgabewert

Gibt bei Erfolg true zurück, bei einem Fehler false.

Hinweise

CreateProcessAsUser verwendet die Funktion CreateProcessAsUser Win32, um einen neuen Prozess zu erstellen, den Testläufen im Sicherheitskontext des Benutzers durch das CAccessToken-Objekt darstellen.Siehe dazu die Beschreibung der CreateProcessAsUser-Funktion für umfassende Erläuterung der erforderlichen Parameter.

Damit diese Methode, das CAccessToken-Objekt muss AssignPrimaryToken anhalten folgt (es sei denn, dass ein eingeschränktes Zugriffstoken ist) und IncreaseQuota-Rechte.

Anforderungen

Header: atlsecurity.h

Siehe auch

Referenz

CAccessToken-Klasse