http://msdn.microsoft.com/ja-jp/library/cwe8bzh0(v=VS.100).aspx
>Unicode は 16 ビットの文字セットで、すべての言語に対する十分な表現能力を持っています。
>すべての ASCII 文字は、拡張文字として Unicode の中に含まれます。

WindowsにおけるUnicode(の文字符号化方式)とはUTF-16(またはUCS-2)の意味。

>このドキュメントでは、MBCS は、Unicode でサポートされていないすべてのマルチバイト文字を指します。
>Visual C++ では、MBCS は常に DBCS を意味します。 2 バイトを超える文字セットはサポートされていません。

WindowsにおいてはUnicodeがUTF-16(またはUSC-2)の意味なので
UTF-7やUTF-8はサポートされない。

http://msdn.microsoft.com/en-us/library/dd317756(VS.85).aspx
>1200 utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications

コードページ1200(UTF-16)はネイティブなVC++では使えない。

VC++でネイティヴアプリケーションを記述する限り、
Unicodeの全文字を利用する方法はない。

これでOK?^^;