在偵錯工具的控制下啟動進程及其主要執行緒。
語法
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
);
參數
lpApplicationName [在]以 Null 結尾字串的指標,指定啟動進程要執行的模組。 模組會在呼叫進程的安全內容中執行。
lpCommandLine [在]指向以 Null 結尾的字串的指標,該字串指定啟動進程要執行的命令列。 應用程式名稱 (例如,“SomeApp.exe”) 必須是第一個引數。
lpProcessAttributes [在]指定進程安全性描述元之 Win32 SECURITY_ATTRIBUTES 結構的指標。 如果為 null,則 lpProcessAttributes 進程會取得預設安全性描述元。
lpThreadAttributes [在]Win32 SECURITY_ATTRIBUTES 結構的指標,可指定進程主要執行緒的安全性描述元。 如果為 null,則 lpThreadAttributes 執行緒會取得預設安全性描述元。
bInheritHandles [在]設定為 true ,表示呼叫進程中的每個可繼承控制碼都會由啟動的處理程序繼承,或 false 指出控制碼未繼承。 繼承的控制碼與原始控制碼具有相同的值和存取權限。
dwCreationFlags [在] Win32 進程建立旗標 的位元組合,可控制優先順序類別和已啟動進程的行為。
lpEnvironment [在]指向新進程的環境區塊的指標。
lpCurrentDirectory [在]以 Null 結尾的字串指標,指定進程目前目錄的完整路徑。 如果此參數為 Null,則新進程將具有與呼叫進程相同的目前磁碟驅動器和目錄。
lpStartupInfo [在]Win32 STARTUPINFOW 結構的指標,可指定已啟動進程之主視窗的視窗站、桌面、標準控制碼和外觀。
lpProcessInformation [在]Win32 PROCESS_INFORMATION 結構的指標,可指定要啟動之程式的識別資訊。
debuggingFlags [在]CorDebugCreateProcessFlags 列舉的值,可指定偵錯選項。
ppProcess [出]代表進程之 ICorDebugProcess 物件位址的指標。
備註
這個方法的參數和Win32 CreateProcess 方法的參數是一樣的。
若要啟用非受控混合模式偵錯,請設定 dwCreationFlags 為 DEBUG_PROCESS |DEBUG_ONLY_THIS_PROCESS。 如果您只想使用受控偵錯,請勿設定這些旗標。
如果偵錯工具和要偵錯的進程 (附加進程) 共用單一主控台,而且使用互通偵錯,則附加進程可能會保留主控台鎖定,並在偵錯事件時停止。 偵錯工具接著會封鎖任何使用主控台的嘗試。 若要避免此問題,請在參數中 dwCreationFlags 設定CREATE_NEW_CONSOLE旗標。
Win9x 和非 x86 平臺 (例如 IA-64 型和 AMD64 型平臺) 不支援互通偵錯。
需求
平台: 請參閱 .NET 支援的作業系統。
標題: CorDebug.idl、CorDebug.h
圖書館: CorGuids.lib
.NET 版本: 自 .NET Framework 1.0 起提供