Aracılığıyla paylaş


ICorDebug::CreateProcess Yöntemi

Hata ayıklayıcının denetimi altında bir işlemi ve birincil iş parçacığını başlatır.

Sözdizimi

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

Parametreler

lpApplicationName [in] Başlatılan işlem tarafından yürütülecek modülü belirten null olarak sonlandırılan bir dize işaretçisi. Modül, arama işleminin güvenlik bağlamında yürütülür.

lpCommandLine [in] Başlatılan işlem tarafından yürütülecek komut satırını belirten null olarak sonlandırılan bir dizenin işaretçisi. Uygulama adı (örneğin, "SomeApp.exe") ilk bağımsız değişken olmalıdır.

lpProcessAttributes [in] İşlem için güvenlik tanımlayıcısını belirten bir Win32 SECURITY_ATTRIBUTES yapısının işaretçisi. Null ise lpProcessAttributes , işlem varsayılan bir güvenlik tanımlayıcısı alır.

lpThreadAttributes [in] İşlemin birincil iş parçacığı için güvenlik tanımlayıcısını belirten bir Win32 SECURITY_ATTRIBUTES yapısının işaretçisi. Null ise lpThreadAttributes , iş parçacığı varsayılan bir güvenlik tanımlayıcısı alır.

bInheritHandles [in] true Çağrı işlemindeki devralınabilir tanıtıcıların her birinin başlatılan işlem tarafından devralındığını belirtmek veya false tanıtıcıların devralınmadığını belirtmek için olarak ayarlayın. Devralınan tanıtıcılar, özgün tanıtıcılarla aynı değere ve erişim haklarına sahiptir.

dwCreationFlags [in] Öncelik sınıfını ve başlatılan işlemin davranışını denetleen Win32 İşlem Oluşturma Bayraklarının bit düzeyinde birleşimi.

lpEnvironment [in] Yeni işlem için bir ortam bloğu işaretçisi.

lpCurrentDirectory [in] İşlem için geçerli dizinin tam yolunu belirten null olarak sonlandırılan bir dizenin işaretçisi. Bu parametre null ise, yeni işlem çağrı işlemiyle aynı geçerli sürücüye ve dizine sahip olur.

lpStartupInfo [in] Başlatılan işlem için pencere istasyonunu, masaüstünü, standart tanıtıcıları ve ana pencerenin görünümünü belirten bir Win32 STARTUPINFOW yapısının işaretçisi.

lpProcessInformation [in] Başlatılacak işlemle ilgili tanımlama bilgilerini belirten bir Win32 PROCESS_INFORMATION yapısının işaretçisi.

debuggingFlags [in] Hata ayıklama seçeneklerini belirten CorDebugCreateProcessFlags numaralandırmasının değeri.

ppProcess [out] İşlemi temsil eden ICorDebugProcess nesnesinin adresine yönelik bir işaretçi.

Açıklamalar

Bu yöntemin parametreleri Win32 CreateProcess yönteminin parametreleriyle aynıdır.

Yönetilmeyen karma mod hata ayıklamasını etkinleştirmek için DEBUG_PROCESS | olarak ayarlayın dwCreationFlags DEBUG_ONLY_THIS_PROCESS. Yalnızca yönetilen hata ayıklamayı kullanmak istiyorsanız, bu bayrakları ayarlamayın.

Hata ayıklayıcısı ve hata ayıklanacak işlem (ekli işlem) tek bir konsolu paylaşıyorsa ve birlikte çalışma hata ayıklaması kullanılıyorsa, eklenen işlemin konsol kilitlerini tutması ve hata ayıklama olayında durması mümkündür. Hata ayıklayıcısı daha sonra konsolu kullanma girişimlerini engeller. Bu sorunu önlemek için parametresinde CREATE_NEW_CONSOLE bayrağını dwCreationFlags ayarlayın.

Birlikte çalışma hata ayıklaması, Win9x ve IA-64 tabanlı ve AMD64 tabanlı platformlar gibi x86 olmayan platformlarda desteklenmez.

Gereksinimler

Platform: Bkz. .NET tarafından desteklenen işletim sistemleri.

Üstbilgi: CorDebug.idl, CorDebug.h

Kütüphane: CorGuids.lib

.NET sürümleri: .NET Framework 1.0'dan itibaren kullanılabilir

Ayrıca bakınız