Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
CA2WEX Class
Collapse the table of content
Expand the table of content

CA2WEX Class

This class is used by the string conversion macros CA2TEX, CA2CTEX, CT2WEX, and CT2CWEX, and the typedef CA2W.

Important note Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

int t_nBufferLength= 128 
class CA2WEX


The size of the buffer used in the translation process. The default length is 128 bytes.




The constructor.


The destructor.



CA2WEX::operator LPWSTR

Conversion operator.




The data member that stores the source string.


The static buffer, used to store the converted string.

Unless extra functionality is required, use CA2TEX, CA2CTEX, CT2WEX, CT2CWEX, or CA2W in your code.

This class contains a fixed-size static buffer which is used to store the result of the conversion. If the result is too large to fit into the static buffer, the class allocates memory using malloc, freeing the memory when the object goes out of scope. This ensures that, unlike text conversion macros available in previous versions of ATL, this class is safe to use in loops and that it won't overflow the stack.

If the class tries to allocate memory on the heap and fails, it will call AtlThrow with an argument of E_OUTOFMEMORY.

By default, the ATL conversion classes and macros use the current thread's ANSI code page for the conversion. If you want to override that behavior for a specific conversion, specify the code page as the second parameter to the constructor for the class.

The following macros are based on this class:

  • CA2TEX


  • CT2WEX


The following typedef is based on this class:

  • CA2W

For a discussion of these text conversion macros, see ATL and MFC String Conversion Macros.

See ATL and MFC String Conversion Macros for an example of using these string conversion macros.

Header: atlconv.h

© 2015 Microsoft