Méthode IDebugEventCallbacks ::CreateProcess (dbgeng.h)

La méthode de rappel CreateProcess est appelée par le moteur lorsqu’un événement de débogage create-process se produit dans la cible.

Syntaxe

HRESULT CreateProcess(
  [in]           ULONG64 ImageFileHandle,
  [in]           ULONG64 Handle,
  [in]           ULONG64 BaseOffset,
  [in]           ULONG   ModuleSize,
  [in, optional] PCSTR   ModuleName,
  [in, optional] PCSTR   ImageName,
  [in]           ULONG   CheckSum,
  [in]           ULONG   TimeDateStamp,
  [in]           ULONG64 InitialThreadHandle,
  [in]           ULONG64 ThreadDataOffset,
  [in]           ULONG64 StartOffset
);

Paramètres

[in] ImageFileHandle

Spécifie le handle du fichier image du processus. Si ces informations ne sont pas disponibles, ImageFileHandle aura la valeur NULL.

[in] Handle

Spécifie le handle du processus. Ce paramètre correspond au champ hProcess dans la structure CREATE_PROCESS_DEBUG_INFO. Si ces informations ne sont pas disponibles, ImageFileHandle aura la valeur NULL.

[in] BaseOffset

Spécifie l’adresse de base de l’image exécutable du processus dans l’espace d’adressage mémoire de la cible. Si ces informations ne sont pas disponibles, BaseOffset a la valeur NULL.

[in] ModuleSize

Spécifie la taille de l’image exécutable du processus en octets. Si ces informations ne sont pas disponibles, ModuleSize est égal à zéro.

[in, optional] ModuleName

Spécifie le nom de module simplifié utilisé par le moteur de débogueur. Dans la plupart des cas, cela correspond au nom du fichier image à l’exclusion de l’extension. Si ces informations ne sont pas disponibles, ModuleName aura la valeur NULL.

[in, optional] ImageName

Spécifie le nom du fichier exécutable-image du processus, qui peut inclure le chemin d’accès. Si ces informations ne sont pas disponibles, ImageName aura la valeur NULL.

[in] CheckSum

Spécifie la somme de contrôle de l’image exécutable du processus. Si ces informations ne sont pas disponibles, CheckSum est égal à zéro.

[in] TimeDateStamp

Spécifie l’horodatage et la date du fichier image exécutable du processus. Si ces informations ne sont pas disponibles, TimeDateStamp est égal à zéro.

[in] InitialThreadHandle

Spécifie le handle du thread initial du processus. Ce paramètre correspond au champ hThread dans la structure CREATE_PROCESS_DEBUG_INFO. Si ces informations ne sont pas disponibles, InitialThreadHandle est NULL.

[in] ThreadDataOffset

Spécifie un bloc de données que le système d’exploitation gère pour ce thread. Les données réelles du bloc sont spécifiques au système d’exploitation. Si ces informations ne sont pas disponibles, ThreadDataOffset aura la valeur NULL.

[in] StartOffset

Spécifie l’adresse de départ du thread dans l’espace d’adressage virtuel du processus. Si ces informations ne sont pas disponibles, StartOffset a la valeur NULL.

Valeur retournée

Cette méthode retourne une valeur DEBUG_STATUS_XXX , qui indique comment l’exécution de la cible doit se poursuivre une fois que le moteur a traite cet événement. Pour plus d’informations sur la façon dont le moteur traite cette valeur, consultez Surveillance des événements.

Remarques

Cette méthode n’est appelée par le moteur que si l’indicateur DEBUG_EVENT_CREATE_PROCESS est défini dans le masque retourné par IDebugEventCallbacks ::GetInterestMask.

Pour plus d’informations sur la gestion des événements, consultez Surveillance des événements. Pour plus d’informations sur les threads, consultez Threads et processus.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)