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