Partager via


Méthode IDebugControl3 ::OutputVaList (dbgeng.h)

La méthode OutputVaList met en forme une chaîne et envoie le résultat aux rappels de sortie inscrits auprès des clients du moteur.

Syntaxe

HRESULT OutputVaList(
  [in] ULONG   Mask,
  [in] PCSTR   Format,
  [in] va_list Args
);

Paramètres

[in] Mask

Spécifie le champ bit de type de sortie. Consultez DEBUG_OUTPUT_XXX pour connaître les valeurs possibles.

[in] Format

Spécifie la chaîne de format, comme dans printf. En règle générale, les caractères de conversion fonctionnent exactement comme dans C. Pour les caractères de conversion à virgule flottante, l’argument 64 bits est interprété comme un nombre à virgule flottante 32 bits, sauf si le modificateur l est utilisé.

Le caractère de conversion %p est pris en charge, mais il représente un pointeur dans l’espace d’adressage d’une cible. Il n’a peut-être pas de modificateurs et il utilise la mise en forme d’adresse interne du débogueur. Les caractères de conversion supplémentaires suivants sont pris en charge.

Caractère Type d’argument Argument Texte imprimé
%p ULONG64 Pointeur dans un espace d’adressage. Valeur du pointeur.
%N DWORD_PTR (32 ou 64 bits, selon l’architecture de l’hôte) Pointeur dans l’espace d’adressage virtuel de l’hôte. Valeur du pointeur. (Cela équivaut au caractère C %p standard.)
%I ULONG64 Toute valeur 64 bits. Valeur spécifiée. Si cette valeur est supérieure à 0xFFFFFFFF, elle est imprimée sous la forme d’une valeur 64 bits ; sinon, il est imprimé sous la forme d’une valeur 32 bits.
%ma ULONG64 Adresse d’une chaîne ASCII terminée par NULL dans l’espace d’adressage virtuel du processus. Chaîne spécifiée.
%mu ULONG64 Adresse d’une chaîne Unicode terminée par null dans l’espace d’adressage virtuel du processus. Chaîne spécifiée.
%msa ULONG64 Adresse d’une structure de ANSI_STRING dans l’espace d’adressage virtuel du processus. Chaîne spécifiée.
%msu ULONG64 Adresse d’une structure UNICODE_STRING dans l’espace d’adressage virtuel du processus. Chaîne spécifiée.
%y ULONG64 Adresse dans l’espace d’adressage virtuel du processus d’un élément avec des informations de symbole. Chaîne qui contient le nom du symbole spécifié (et le déplacement, le cas échéant).
%ly ULONG64 Adresse dans l’espace d’adressage virtuel du processus d’un élément avec des informations de symbole. Chaîne qui contient le nom du symbole spécifié (et le déplacement, le cas échéant), ainsi que toutes les informations de ligne source disponibles.

[in] Args

Spécifie des paramètres supplémentaires qui représentent des valeurs à insérer dans la sortie pendant la mise en forme. Les args doivent être initialisés à l’aide de va_start. Cette méthode n’appelle pas va_end.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .

Code de retour Description
S_OK
La méthode a réussi.

Remarques

Lors de la génération de chaînes de sortie très volumineuses, il est possible d’atteindre les limites du moteur du débogueur ou du système d’exploitation. Par exemple, certaines versions du moteur du débogueur ont une limite de 16 000 caractères pour une seule sortie. Si vous constatez que la sortie très volumineuse est tronquée, vous devrez peut-être fractionner votre sortie en plusieurs requêtes.

Configuration requise

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

Voir aussi

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

Sortie

dprintf