IDebugControl ::WaitForEvent, méthode (dbgeng.h)
La méthode WaitForEvent attend un événement qui se décompose dans l’application du moteur de débogage.
Syntaxe
HRESULT WaitForEvent(
[in] ULONG Flags,
[in] ULONG Timeout
);
Paramètres
[in] Flags
Défini sur zéro. Il n’existe actuellement aucun indicateur qui peut être utilisé dans ce paramètre.
[in] Timeout
Spécifie le nombre de millisecondes à attendre avant que cette méthode ne retourne. Si délai d’expiration est INFINITE, cette méthode ne retourne pas tant qu’un événement qui se décompose dans l’application du moteur de débogueur se produit ou qu’une interruption de sortie est émise. Si la session active a une cible de noyau actif, délai d’expiration doit être défini sur INFINITE.
Valeur de retour
Cette méthode peut retourner d’autres valeurs d’erreur et les valeurs d’erreur ci-dessus peuvent avoir des significations supplémentaires. Pour plus d’informations, consultez valeurs de retour.
Retourner le code | Description |
---|---|
|
La méthode a réussi. |
|
Le délai d’expiration a expiré. |
|
Une interruption de sortie a été émise. La cible n’est pas disponible. |
|
Soit il existe une demande d’entrée en attente, soit aucune des cibles ne peut générer d’événements. |
|
Le moteur attend déjà un événement. |
Remarques
La méthode peut être appelée uniquement à partir du thread qui a démarré la session du débogueur.
Lorsqu’un événement se produit, le moteur de débogueur traite l’événement et appelle les rappels d’événements. Si l’un de ces rappels indique que l’événement doit se décomposer dans l’application du moteur de débogueur (en retournant DEBUG_STATUS_BREAK), cette méthode retourne ; sinon, il continuera d’attendre un événement. Les filtres d’événements peuvent également spécifier qu’un événement doit se décomposer dans l’application du moteur de débogueur. Pour plus d’informations sur les filtres d’événements, consultez Contrôle des exceptions et des événements.
Cette méthode n’est pas réinscrite. Une fois qu’elle a été appelée, elle ne peut pas être appelée à nouveau sur n’importe quel client tant qu’il n’a pas retourné. En particulier, il ne peut pas être appelé à partir des rappels d’événements, y compris les extensions et les commandes exécutées par les rappels.
Si aucune des cibles n’est capable de générer des événements (par exemple, toutes les cibles ont quitté), cette méthode met fin à la session active, ignore les cibles, puis retourne E_UNEXPECTED.
La constante INFINITE est définie dans Winbase.h.
Pour plus d’informations sur l’utilisation de WaitForEvent pour contrôler le flux d’exécution de l’application et des cibles du débogueur, consultez de débogage de session et de modèle d’exécution. Pour plus d’informations sur les rappels d’événements, consultez Événements de surveillance.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | dbgeng.h (include Dbgeng.h, Winbase.h) |