Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Startet einen Prozess und seinen primären Thread unter der Kontrolle des Debuggers.
Syntax
HRESULT CreateProcess (
[in] LPCWSTR lpApplicationName,
[in] LPWSTR lpCommandLine,
[in] LPSECURITY_ATTRIBUTES lpProcessAttributes,
[in] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] BOOL bInheritHandles,
[in] DWORD dwCreationFlags,
[in] PVOID lpEnvironment,
[in] LPCWSTR lpCurrentDirectory,
[in] LPSTARTUPINFOW lpStartupInfo,
[in] LPPROCESS_INFORMATION lpProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
Die Parameter
lpApplicationName [in] Zeigen Sie auf eine mit Null beendete Zeichenfolge, die das Modul angibt, das vom gestarteten Prozess ausgeführt werden soll. Das Modul wird im Sicherheitskontext des aufrufenden Prozesses ausgeführt.
lpCommandLine [in] Zeigen Sie auf eine mit Null beendete Zeichenfolge, die die Befehlszeile angibt, die vom gestarteten Prozess ausgeführt werden soll. Der Anwendungsname (z. B. "SomeApp.exe") muss das erste Argument sein.
lpProcessAttributes [in] Zeiger auf eine Win32-Struktur SECURITY_ATTRIBUTES , die den Sicherheitsdeskriptor für den Prozess angibt. Wenn lpProcessAttributes null ist, ruft der Prozess einen Standardsicherheitsdeskriptor ab.
lpThreadAttributes [in] Zeiger auf eine Win32-Struktur SECURITY_ATTRIBUTES , die den Sicherheitsdeskriptor für den primären Thread des Prozesses angibt. Wenn lpThreadAttributes null ist, ruft der Thread einen Standardsicherheitsdeskriptor ab.
bInheritHandles [in] Legen Sie diesen true Wert fest, um anzugeben, dass jedes vererbbare Handle im aufrufenden Prozess vom gestarteten Prozess geerbt wird, oder false um anzugeben, dass die Handles nicht geerbt werden. Die geerbten Handles weisen denselben Wert und zugriffsrechte wie die ursprünglichen Handles auf.
dwCreationFlags [in] Eine bitweise Kombination der Win32 Process Creation Flags , die die Prioritätsklasse und das Verhalten des gestarteten Prozesses steuern.
lpEnvironment [in] Zeigen Sie auf einen Umgebungsblock für den neuen Prozess.
lpCurrentDirectory [in] Zeiger auf eine mit Null beendete Zeichenfolge, die den vollständigen Pfad zum aktuellen Verzeichnis für den Prozess angibt. Wenn dieser Parameter null ist, weist der neue Prozess dasselbe aktuelle Laufwerk und verzeichnis wie der aufrufende Prozess auf.
lpStartupInfo [in] Zeigen Sie auf eine Win32-Struktur STARTUPINFOW , die die Fensterstation, den Desktop, die Standardziehpunkte und das Erscheinungsbild des Hauptfensters für den gestarteten Prozess angibt.
lpProcessInformation [in] Zeiger auf eine Win32-Struktur PROCESS_INFORMATION , die die Identifikationsinformationen über den zu startenden Prozess angibt.
debuggingFlags [in] Ein Wert der CorDebugCreateProcessFlags-Aufzählung, die die Debugoptionen angibt.
ppProcess [out] Ein Zeiger auf die Adresse eines ICorDebugProcess -Objekts, das den Prozess darstellt.
Bemerkungen
Die Parameter dieser Methode entsprechen denen der Win32-Methode CreateProcess .
Zum Aktivieren des nicht verwalteten Mixed-Mode-Debuggings legen Sie dwCreationFlags auf DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Wenn Sie nur verwaltetes Debuggen verwenden möchten, legen Sie diese Flags nicht fest.
Wenn der Debugger und der zu debuggende Prozess (der angefügte Prozess) eine einzelne Konsole freigeben und wenn das Interopdebugging verwendet wird, ist es möglich, dass der angefügte Prozess Konsolensperren enthält und bei einem Debugereignis beendet wird. Der Debugger blockiert dann jeden Versuch, die Konsole zu verwenden. Um dieses Problem zu vermeiden, legen Sie das CREATE_NEW_CONSOLE Flag im dwCreationFlags Parameter fest.
Das Interop-Debugging wird auf Win9x- und nicht x86-Plattformen wie IA-64-basierten und AMD64-basierten Plattformen nicht unterstützt.
Anforderungen
Plattformen: Siehe .NET unterstützte Betriebssysteme.
Kopfball: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET-Versionen: Verfügbar seit .NET Framework 1.0