Share via


Méthode IDebugDataSpaces4 ::ReadMultiByteStringVirtualWide (dbgeng.h)

La méthode ReadMultiByteStringVirtualWide lit une chaîne multioctet terminée par null à partir de la cible et la convertit en Unicode.

Syntaxe

HRESULT ReadMultiByteStringVirtualWide(
  [in]            ULONG64 Offset,
  [in]            ULONG   MaxBytes,
  [in]            ULONG   CodePage,
  [out, optional] PWSTR   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  StringBytes
);

Paramètres

[in] Offset

Spécifie l’emplacement de la chaîne dans l’espace d’adressage virtuel du processus.

[in] MaxBytes

Spécifie le nombre maximal d’octets à lire à partir de la cible.

[in] CodePage

Spécifie la page de code à utiliser pour convertir la chaîne multioctet lue à partir de la cible en chaîne Unicode. Par exemple, CP_ACP est la page de code ANSI.

[out, optional] Buffer

Reçoit la chaîne de la cible. Si La mémoire tampon a la valeur NULL, ces informations ne sont pas retournées.

[in] BufferSize

Spécifie la taille, en caractères, de la mémoire tampon .

[out, optional] StringBytes

Reçoit la taille, en octets, de la chaîne dans la cible. Si StringBytes a la valeur NULL, ces informations ne sont pas retournées.

Valeur retournée

Code de retour Description
S_OK
La méthode a réussi.
S_FALSE
La méthode n’a pas réussi.
E_INVALIDARG
Un élément de terminaison null est introuvable après la lecture de MaxBytes à partir de la cible.
 

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

Remarques

Le moteur lit jusqu’à MaxBytes à partir de la cible, à la recherche d’une fin null. Si la chaîne comporte plus de caractères BufferSize , la chaîne sera tronquée pour tenir dans Buffer.

Notez que même si S_OK est retourné, la mémoire tampon n’a peut-être pas été suffisamment grande pour stocker la chaîne. Dans ce cas, la chaîne est tronquée pour tenir dans la mémoire tampon. La chaîne tronquée est terminée par null si La mémoire tampon a de l’espace pour au moins un caractère. Une fois l’appel retourné, case activée pour voir si *StringBytes est plus grand que BufferSize.

Configuration requise

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

Voir aussi

IDebugDataSpaces4

ReadMultiByteStringVirtual

ReadUnicodeStringVirtualWide