While WinCpTranslateChar cannot be used for DBCS characters, WinCpTranslateString can be used for mixed strings.
Translation between a PC code page and a host one may change the length of the string because of the code scheme difference. (See Code Translation.) When you translate a mixed string from a PC code page to a host one, the destination buffer should be long enough to include the SO/SI which will be inserted. See also ES_MIXED.
See TrnsDt and WinCpTranslateString for another code translation API.