Partager via


ICorDebug::CreateProcess, méthode

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

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 le caractère 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 le caractère NULL qui spécifie la ligne de commande à exécuter par le processus lancé.

  • lpProcessAttributes
    [in] Pointeur vers une structure SECURITY_ATTRIBUTES Win32 qui spécifie le descripteur de sécurité pour le processus. Si lpProcessAttributes est null, le processus obtient alors 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 alors un descripteur de sécurité par défaut.

  • bInheritHandles
    [in] A la valeur true pour indiquer que chaque handle pouvant être hérité figurant dans le processus appelant est hérité par le processus lancé ou a la valeur false pour indiquer que les handles ne sont pas hérités. Les handles hérités ont la même valeur et les mêmes droits d'accès que les handles d'origine.

  • dwCreationFlags
    [in] Combinaison d'opérations de bits 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 environnement pour le nouveau processus.

  • lpCurrentDirectory
    [in] Pointeur vers une chaîne terminée par le caractère NULL qui spécifie le chemin d'accès complet du répertoire actif pour le processus. Si ce paramètre est null, le nouveau processus aura les mêmes lecteur et répertoire actifs que le processus appelant.

  • lpStartupInfo
    [in] Pointeur vers une structure STARTUPINFOW Win32 qui spécifie la station Windows, le bureau, les handles 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 pour 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 les mêmes que ceux de la méthode CreateProcess Win32.

Pour activer le débogage en mode mixte non managé, affectez dwCreationFlags à 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 même console et si le débogage d'interopérabilité est utilisé, le processus attaché peut alors maintenir des verrous de console et s'arrêter à un événement de débogage. Le débogueur bloquera 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 IA-64 et AMD64.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

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

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Référence

ICorDebug, interface