Partager via


ICorDebug::CreateProcess, méthode

Lance un processus et son thread principal sous le contrôle du débogueur.

Syntaxe

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

Paramètres

lpApplicationName
[in] Pointeur vers une chaîne terminée par null qui spécifie le module à exécuter par le processus lancé. Le module est exécuté dans le contexte de sécurité du processus appelant.

lpCommandLine
[in] Pointeur vers une chaîne terminée par null qui spécifie la ligne de commande à exécuter par le processus lancé. Nom de l’application (par exemple, « SomeApp.exe ») doit être le premier argument.

lpProcessAttributes
[in] Pointeur vers une structure SECURITY_ATTRIBUTES Win32 qui spécifie le descripteur de sécurité pour le processus. Si lpProcessAttributes a la valeur Null, le processus obtient un descripteur de sécurité par défaut.

lpThreadAttributes
[in] Pointeur vers une structure SECURITY_ATTRIBUTES Win32 qui spécifie le descripteur de sécurité pour le thread principal du processus. Si lpThreadAttributes est null, le thread obtient un descripteur de sécurité par défaut.

bInheritHandles
[in] Défini sur true pour indiquer que chaque descripteur pouvant hériter du processus appelant est hérité par le processus lancé, ou false pour indiquer que les descripteurs ne sont pas hérités. Les descripteurs hérités ont la même valeur et les mêmes droits d’accès que les descripteurs d’origine.

dwCreationFlags
[in] Combinaison au niveau du bit des Indicateurs de création de processus Win32 qui contrôlent la classe de priorité et le comportement du processus lancé.

lpEnvironment
[in] Pointeur vers un bloc d’environnement pour le nouveau processus.

lpCurrentDirectory
[in] Pointeur vers une chaîne terminée par null qui spécifie le chemin complet au répertoire actif pour le processus. Si ce paramètre est null, le nouveau processus a le même lecteur et le même répertoire actifs que le processus appelant.

lpStartupInfo
[in] Pointeur vers une structure STARTUPINFOW Win32 qui spécifie la station de fenêtre, le bureau, les descripteurs standard et l’apparence de la fenêtre principale pour le processus lancé.

lpProcessInformation
[in] Pointeur vers une structure PROCESS_INFORMATION Win32 qui spécifie les informations d’identification sur le processus à lancer.

debuggingFlags
[in] Valeur de l’énumération CorDebugCreateProcessFlags qui spécifie les options de débogage.

ppProcess
[out] Pointeur vers l’adresse d’un objet ICorDebugProcess qui représente le processus.

Notes

Les paramètres de cette méthode sont identiques à ceux de la méthode CreateProcess Win32.

Pour activer le débogage en mode mixte non managé, définissez dwCreationFlags sur DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Si vous souhaitez utiliser uniquement le débogage managé, ne définissez pas ces indicateurs.

Si le débogueur et le processus à déboguer (le processus attaché) partagent une seule console et si le débogage d’interopérabilité est utilisé, il est possible que le processus attaché conserve les verrous de console et s’arrête à un événement de débogage. Le débogueur bloque ensuite toute tentative d’utilisation de la console. Pour éviter ce problème, définissez l’indicateur CREATE_NEW_CONSOLE dans le paramètre dwCreationFlags.

Le débogage d’interopérabilité n’est pas pris en charge sur les plateformes Win9x et non x86 telles que les plateformes basées sur IA-64 et AMD64.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorDebug.idl, CorDebug.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi