||SQL Server Tips by Gama and Naughter
It is possible to work with Unicode without using a Unicode
compilation, all it takes is to use variable types like “wchar_t”
and call the appropriate Win32 Unicode functions making sure all the
parameters are Unicode.
There are three situations when a Unicode compilation is most
1. To have two versions of one application, one for ASCII I/O and
the other one for Unicode. This is possible because of the TCHAR
data type, which compiles as char or wchar_t depending on the
2. To use functions from the Windows SDK that work exclusively with
Unicode. For example, The Net Send and LAN Manager APIs whose
parameters are LPWSTR. These APIs are the exception as most of the
Win32 API has both ASCII and Unicode versions e.g. CreateFileA and
3. When working with COM all functions expect Unicode strings.
It is also possible to convert back and forth between ASCII and
Unicode but there will be data corruption if Unicode characters
cannot be mapped to ASCII.
The above book excerpt is from:
Turbocharge Database Performance with C++ External Procedures
Joseph Gama, P. J. Naughter