Delen via


Methode ICorDebug::CreateProcess

Start een proces en de primaire thread onder het beheer van het foutopsporingsprogramma.

Syntaxis

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

Parameters

lpApplicationName [in] Aanwijzer naar een door null beëindigde tekenreeks die aangeeft welke module moet worden uitgevoerd door het gestarte proces. De module wordt uitgevoerd in de beveiligingscontext van het aanroepende proces.

lpCommandLine [in] Aanwijzer naar een door null beëindigde tekenreeks waarmee de opdrachtregel wordt opgegeven die moet worden uitgevoerd door het gestarte proces. De naam van de toepassing (bijvoorbeeld 'SomeApp.exe') moet het eerste argument zijn.

lpProcessAttributes [in] Wijs een Win32-structuur SECURITY_ATTRIBUTES aan waarmee de beveiligingsdescriptor voor het proces wordt opgegeven. Als lpProcessAttributes dit null is, krijgt het proces een standaardbeveiligingsdescriptor.

lpThreadAttributes [in] Wijs een Win32-structuur SECURITY_ATTRIBUTES aan waarmee de beveiligingsdescriptor voor de primaire thread van het proces wordt opgegeven. Als lpThreadAttributes dit null is, krijgt de thread een standaardbeveiligingsdescriptor.

bInheritHandles [in] Stel deze optie in om true aan te geven dat elke overgenomen ingang in het aanroepende proces wordt overgenomen door het gestarte proces of false om aan te geven dat de ingangen niet worden overgenomen. De overgenomen ingangen hebben dezelfde waarde- en toegangsrechten als de oorspronkelijke ingangen.

dwCreationFlags [in] Een bitsgewijze combinatie van de Win32 Process Creation Flags waarmee de prioriteitsklasse en het gedrag van het gestarte proces worden bepaald.

lpEnvironment [in] Wijs een omgevingsblok aan voor het nieuwe proces.

lpCurrentDirectory [in] Aanwijzer naar een door null beëindigde tekenreeks waarmee het volledige pad naar de huidige map voor het proces wordt opgegeven. Als deze parameter null is, heeft het nieuwe proces hetzelfde huidige station en dezelfde map als het aanroepende proces.

lpStartupInfo [in] Wijs een Win32-structuur STARTUPINFOW aan die het vensterstation, het bureaublad, de standaardgrepen en het uiterlijk van het hoofdvenster voor het gestarte proces aangeeft.

lpProcessInformation [in] Wijs een Win32-structuur PROCESS_INFORMATION aan waarmee de identificatiegegevens over het te starten proces worden opgegeven.

debuggingFlags [in] Een waarde van de opsomming CorDebugCreateProcessFlags waarmee de foutopsporingsopties worden opgegeven.

ppProcess [uit] Een aanwijzer naar het adres van een ICorDebugProcess-object dat het proces vertegenwoordigt.

Opmerkingen

De parameters van deze methode zijn hetzelfde als die van de Win32-methode CreateProcess .

Als u foutopsporing in de gemengde modus wilt inschakelen, stelt u in dwCreationFlags op DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Als u alleen beheerde foutopsporing wilt gebruiken, moet u deze vlaggen niet instellen.

Als het foutopsporingsprogramma en het proces dat moet worden opgespoord (het gekoppelde proces) één console delen en als interop-foutopsporing wordt gebruikt, is het mogelijk dat het gekoppelde proces consolevergrendelingen vasthoudt en stopt bij een foutopsporingsgebeurtenis. Het foutopsporingsprogramma blokkeert vervolgens elke poging om de console te gebruiken. U kunt dit probleem voorkomen door de vlag CREATE_NEW_CONSOLE in de parameter in te dwCreationFlags stellen.

Interop-foutopsporing wordt niet ondersteund op Win9x- en niet-x86-platforms, zoals platformen op basis van IA-64 en AMD64.

Vereisten

Platformen: Zie Systeemvereisten.

Header: CorDebug.idl, CorDebug.h

Bibliotheek: CorGuids.lib

.NET Framework-versies: beschikbaar sinds 1.0

Zie ook