Metode ICorDebug::CreateProcess
Meluncurkan proses dan utas utamanya di bawah kontrol debugger.
Sintaks
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
);
Parameter
lpApplicationName
[in] Penunjuk ke string yang diakhiri null yang menentukan modul yang akan dijalankan oleh proses yang diluncurkan. Modul dijalankan dalam konteks keamanan proses panggilan.
lpCommandLine
[in] Penunjuk ke string yang diakhiri null yang menentukan baris perintah yang akan dijalankan oleh proses yang diluncurkan. Nama aplikasi (misalnya, "SomeApp.exe") harus menjadi argumen pertama.
lpProcessAttributes
[in] Penunjuk ke struktur Win32 SECURITY_ATTRIBUTES
yang menentukan deskriptor keamanan untuk proses tersebut. Jika lpProcessAttributes
adalah null, proses mendapatkan deskriptor keamanan default.
lpThreadAttributes
[in] Penunjuk ke struktur SECURITY_ATTRIBUTES
Win32 yang menentukan deskriptor keamanan untuk utas utama proses. Jika lpThreadAttributes
adalah null, utas mendapatkan deskriptor keamanan default.
bInheritHandles
[di] Atur ke true
untuk menunjukkan bahwa setiap handel yang dapat diwariskan dalam proses panggilan diwarisi oleh proses yang diluncurkan, atau false
untuk menunjukkan bahwa handel tidak diwariskan. Pegangan yang diwarisi memiliki nilai dan hak akses yang sama dengan handel asli.
dwCreationFlags
[in] Kombinasi bitwise dari Bendera Pembuatan Proses Win32 yang mengontrol kelas prioritas dan perilaku proses yang diluncurkan.
lpEnvironment
[in] Penunjuk ke blok lingkungan untuk proses baru.
lpCurrentDirectory
[in] Penunjuk ke string yang diakhiri null yang menentukan jalur lengkap ke direktori saat ini untuk proses tersebut. Jika parameter ini null, proses baru akan memiliki drive dan direktori saat ini yang sama dengan proses panggilan.
lpStartupInfo
[di] Penunjuk ke struktur Win32 STARTUPINFOW
yang menentukan stasiun jendela, desktop, handel standar, dan tampilan jendela utama untuk proses yang diluncurkan.
lpProcessInformation
[in] Penunjuk ke struktur Win32 PROCESS_INFORMATION
yang menentukan informasi identifikasi tentang proses yang akan diluncurkan.
debuggingFlags
[in] Nilai enumerasi CorDebugCreateProcessFlags yang menentukan opsi penelusuran kesalahan.
ppProcess
[out] Penunjuk ke alamat objek ICorDebugProcess yang mewakili proses.
Keterangan
Parameter metode ini sama dengan parameter metode Win32 CreateProcess
.
Untuk mengaktifkan penelusuran kesalahan mode campuran yang tidak dikelola, atur dwCreationFlags
ke DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Jika Anda hanya ingin menggunakan penelusuran kesalahan terkelola, jangan atur bendera ini.
Jika debugger dan proses yang akan di-debug (proses terlampir) berbagi satu konsol, dan jika penelusuran kesalahan interop digunakan, proses yang terpasang dapat menahan kunci konsol dan berhenti di peristiwa debug. Debugger kemudian akan memblokir segala upaya untuk menggunakan konsol. Untuk menghindari masalah ini, atur bendera CREATE_NEW_CONSOLE dalam parameter dwCreationFlags
.
Penelusuran kesalahan interop tidak didukung pada platform Win9x dan non-x86 seperti platform berbasis IA-64 dan berbasis AMD64.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorDebug.idl, CorDebug.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari versi 1.0