Dela via


ICorDebug::CreateProcess-metod

Startar en process och dess primära tråd under kontroll av felsökningsprogrammet.

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

Parametrar

lpApplicationName
[i] Pekare till en null-avslutad sträng som anger vilken modul som ska köras av den startade processen. Modulen körs i säkerhetskontexten för anropsprocessen.

lpCommandLine
[i] Pekare till en null-avslutad sträng som anger vilken kommandorad som ska köras av den startade processen. Programnamnet (till exempel "SomeApp.exe") måste vara det första argumentet.

lpProcessAttributes
[i] Pekare till en Win32-struktur SECURITY_ATTRIBUTES som anger säkerhetsbeskrivning för processen. Om lpProcessAttributes är null får processen en standardsäkerhetsbeskrivning.

lpThreadAttributes
[i] Pekare till en Win32-struktur SECURITY_ATTRIBUTES som anger säkerhetsbeskrivningen för den primära tråden i processen. Om lpThreadAttributes är null hämtar tråden en standardsäkerhetsbeskrivning.

bInheritHandles
[i] Ange till true för att ange att varje ärvbar handtag i anropsprocessen ärvs av den startade processen, eller false för att indikera att handtagen inte ärvs. De ärvda handtagen har samma värde och åtkomsträttigheter som de ursprungliga handtagen.

dwCreationFlags
[i] En bitvis kombination av Win32 Process Creation Flags som styr prioritetsklassen och beteendet för den startade processen.

lpEnvironment
[i] Pekare till ett miljöblock för den nya processen.

lpCurrentDirectory
[i] Pekare till en null-avslutad sträng som anger den fullständiga sökvägen till den aktuella katalogen för processen. Om den här parametern är null har den nya processen samma aktuella enhet och katalog som anropsprocessen.

lpStartupInfo
[i] Pekare till en Win32-struktur STARTUPINFOW som anger fönsterstationen, skrivbordet, standardhandtagen och utseendet på huvudfönstret för den startade processen.

lpProcessInformation
[i] Pekare till en Win32-struktur PROCESS_INFORMATION som anger identifieringsinformationen om processen som ska startas.

debuggingFlags
[i] Ett värde för CorDebugCreateProcessFlags-uppräkningen som anger felsökningsalternativen.

ppProcess
[ut] En pekare till adressen för ett ICorDebugProcess-objekt som representerar processen.

Kommentarer

Parametrarna för den här metoden är desamma som för Win32-metoden CreateProcess .

Om du vill aktivera ohanterad felsökning i blandat läge ställer du in dwCreationFlags på DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Om du bara vill använda hanterad felsökning ska du inte ange dessa flaggor.

Om felsökaren och processen som ska felsökas (den anslutna processen) delar en enda konsol, och om felsökning av interop används, är det möjligt för den anslutna processen att hålla konsollås och stoppa vid en felsökningshändelse. Felsökningsprogrammet blockerar sedan alla försök att använda konsolen. Undvik det här problemet genom att ange flaggan CREATE_NEW_CONSOLE i parametern dwCreationFlags .

Felsökning av interop stöds inte på Win9x- och icke-x86-plattformar som IA-64-baserade och AMD64-baserade plattformar.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorDebug.idl, CorDebug.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 1.0

Se även