Freigeben über


CA2WEX-Klasse

Diese Klasse wird von den Zeichenfolgenkonvertierungsmakros CA2TEX, CA2CTEX, CT2WEX und CT2CWEX und der typedef CA2W verwendet.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

template <int t_nBufferLength = 128>
class CA2WEX

Parameter

t_nBufferLength
Die Größe des puffers, der im Übersetzungsprozess verwendet wird. Die Standardlänge beträgt 128 Bytes.

Member

Öffentliche Konstruktoren

Name Beschreibung
CA2WEX::CA2WEX Der Konstruktor.
CA2WEX::~CA2WEX Der Destruktor.

Öffentliche Operatoren

Name Beschreibung
CA2WEX::operator LPWSTR Konvertierungsoperator.

Öffentliche Datenmember

Name Beschreibung
CA2WEX::m_psz Das Datenelement, das die Quellzeichenfolge speichert.
CA2WEX::m_szBuffer Der statische Puffer, der zum Speichern der konvertierten Zeichenfolge verwendet wird.

Hinweise

Wenn keine zusätzlichen Funktionen erforderlich sind, verwenden Sie CA2TEX, CA2CTEX, CT2WEX, CT2CWEX oder CA2W in Ihrem Code.

Diese Klasse enthält einen statischen Puffer mit fester Größe, der zum Speichern des Ergebnisses der Konvertierung verwendet wird. Wenn das Ergebnis zu groß ist, um in den statischen Puffer einzupassen, weist die Klasse Speicher mithilfe von Malloc zu, wodurch der Speicher freigegeben wird, wenn das Objekt nicht mehr im Bereich liegt. Dadurch wird sichergestellt, dass diese Klasse im Gegensatz zu Textkonvertierungsmakros, die in früheren Versionen von ATL verfügbar sind, sicher in Schleifen verwendet werden kann und der Stapel nicht überläuft.

Wenn die Klasse versucht, Speicher für den Heap zuzuweisen und fehlschlägt, wird sie mit einem Argument von E_OUTOFMEMORY aufgerufen AtlThrow .

Standardmäßig verwenden die ATL-Konvertierungsklassen und -Makros die ANSI-Codeseite des aktuellen Threads für die Konvertierung. Wenn Sie dieses Verhalten für eine bestimmte Konvertierung außer Kraft setzen möchten, geben Sie die Codeseite als zweiten Parameter für den Konstruktor für die Klasse an.

Die folgenden Makros basieren auf dieser Klasse:

  • CA2TEX

  • CA2CTEX

  • CT2WEX

  • CT2CWEX

Der folgende Typedef basiert auf dieser Klasse:

  • CA2W

Eine Erläuterung dieser Textkonvertierungsmakros finden Sie unter ATL- und MFC-Zeichenfolgenkonvertierungsmakros.

Beispiel

Ein Beispiel für die Verwendung dieser Zeichenfolgenkonvertierungsmakros finden Sie unter ATL- und MFC-Zeichenfolgenkonvertierungsmakros.

Anforderungen

Kopfzeile: atlconv.h

CA2WEX::CA2WEX

Der Konstruktor.

CA2WEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2WEX(LPCSTR psz) throw(...);

Parameter

psz
Die zu konvertierende Textzeichenfolge.

nCodePage
Die Codeseite, die zum Ausführen der Konvertierung verwendet wird. Weitere Details finden Sie in der Codeseitenparameterdiskumession für die Windows SDK-Funktion MultiByteToWideChar .

Hinweise

Weist den puffer zu, der im Übersetzungsprozess verwendet wird.

CA2WEX::~CA2WEX

Der Destruktor.

~CA2WEX() throw();

Hinweise

Gibt den zugeordneten Puffer frei.

CA2WEX::m_psz

Das Datenelement, das die Quellzeichenfolge speichert.

LPWSTR m_psz;

CA2WEX::m_szBuffer

Der statische Puffer, der zum Speichern der konvertierten Zeichenfolge verwendet wird.

wchar_t m_szBuffer[t_nBufferLength];

CA2WEX::operator LPWSTR

Konvertierungsoperator.

operator LPWSTR() const throw();

Rückgabewert

Gibt die Textzeichenfolge als Typ LPWSTR zurück.

Siehe auch

CA2AEX-Klasse
CA2CAEX-Klasse
CW2AEX-Klasse
CW2CWEX-Klasse
CW2WEX-Klasse
Klassenübersicht