Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uruchamia proces i jego podstawowy wątek pod kontrolą debugera.
Składnia
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
);
Parametry
lpApplicationName [in] Wskaźnik do ciągu zakończonego wartością null, który określa moduł do wykonania przez uruchomiony proces. Moduł jest wykonywany w kontekście zabezpieczeń procesu wywołującego.
lpCommandLine [in] Wskaźnik do ciągu zakończonego wartością null, który określa wiersz polecenia, który ma być wykonywany przez uruchomiony proces. Nazwa aplikacji (na przykład "SomeApp.exe") musi być pierwszym argumentem.
lpProcessAttributes [in] Wskaźnik do struktury Win32 SECURITY_ATTRIBUTES , która określa deskryptor zabezpieczeń dla procesu. Jeśli lpProcessAttributes wartość ma wartość null, proces pobiera domyślny deskryptor zabezpieczeń.
lpThreadAttributes [in] Wskaźnik do struktury Win32 SECURITY_ATTRIBUTES , która określa deskryptor zabezpieczeń dla podstawowego wątku procesu. Jeśli lpThreadAttributes ma wartość null, wątek pobiera domyślny deskryptor zabezpieczeń.
bInheritHandles [in] Ustaw wartość , aby true wskazać, że każdy dziedziczony uchwyt w procesie wywołującym jest dziedziczony przez uruchomiony proces lub false wskazuje, że dojścia nie są dziedziczone. Dziedziczone dojścia mają tę samą wartość i prawa dostępu co oryginalne dojścia.
dwCreationFlags [in] Bitowa kombinacja flag tworzenia procesu Win32 , które kontrolują klasę priorytetu i zachowanie uruchomionego procesu.
lpEnvironment [in] Wskaźnik do bloku środowiskowego dla nowego procesu.
lpCurrentDirectory [in] Wskaźnik do ciągu zakończonego wartością null, który określa pełną ścieżkę do bieżącego katalogu dla procesu. Jeśli ten parametr ma wartość null, nowy proces będzie miał ten sam bieżący dysk i katalog co proces wywołujący.
lpStartupInfo [in] Wskaźnik do struktury Win32 STARTUPINFOW , która określa stację okien, pulpit, standardowe uchwyty i wygląd głównego okna dla uruchomionego procesu.
lpProcessInformation [in] Wskaźnik do struktury Win32 PROCESS_INFORMATION , która określa informacje identyfikacyjne dotyczące procesu do uruchomienia.
debuggingFlags [in] Wartość wyliczenia CorDebugCreateProcessFlags, która określa opcje debugowania.
ppProcess [out] Wskaźnik do adresu obiektu ICorDebugProcess, który reprezentuje proces.
Uwagi
Parametry tej metody są takie same jak parametry metody Win32 CreateProcess .
Aby włączyć debugowanie w trybie mieszanym niezarządzanym, ustaw wartość dwCreationFlags DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Jeśli chcesz używać tylko debugowania zarządzanego, nie ustawiaj tych flag.
Jeśli debuger i proces debugowania (dołączony proces) współużytkują pojedynczą konsolę, a jeśli jest używane debugowanie międzyoperacyjne, możliwe jest, że dołączony proces przechowywania blokad konsoli i zatrzymywania w zdarzeniu debugowania. Następnie debuger zablokuje wszelkie próby użycia konsoli. Aby uniknąć tego problemu, ustaw flagę CREATE_NEW_CONSOLE w parametrze dwCreationFlags .
Debugowanie międzyoperacyjne nie jest obsługiwane na platformach Win9x i innych niż x86, takich jak oparte na protokole IA-64 i platformy oparte na amd64.
Requirements
Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.
Nagłówek: CorDebug.idl, CorDebug.h
Biblioteka: CorGuids.lib
Wersje platformy .NET: Dostępne od programu .NET Framework 1.0