UniMapCpToUcsCp

Convert a code page string to a UCS string for input to UniCreateUconvObject.

Syntax
UniMapCpToUcsCp(codePage, unicodeBuff, unicodeBuffLen);

Parameters

 * codePage - ULONG - input : The code page returned from DosQueryCp. If the value is zero, the current process code page is used to determine the Unicode string.
 * unicodeBuff - UniChar - output : The output buffer for the Unicode string.
 * unicodeBuffLen - (size_t) - input : The output buffer's length, in characters. Must be, at minimum, 12 Unicode characters.

Constants
None

Returns
An integer with values of:
 * ULS_INVALID
 * ULS_NOMEMORY
 * ULS_SUCCESS

Calling Convention
Cdecl32

Example Code
character  in = "C:\SOMEPATH\FILE.TXT"; size_t     unicodeBuffLen = 12; ULONG      codePage; ULONG      cpLen;       // length set by DosQueryCp UniChar    unicodeBuff, // length of unicodeBuffLen tempPath;   // length of CCHMAXPATH UconvObject uconv; character  out;         // allocate to CCHMAXPATH integer    rc;

rc = DosQueryCp(size of ULONG, codePage, cpLen);

/* determine string for the conversion of codePage */ rc = UniMapCpToUcsCp(codePage, unicodeBuff, unicodeBuffLen); rc = UniCreateUconvObject(unicodeBuff, uconv); rc = UniStrToUcs(uconv, tempPath, in, CCHMAXPATH); rc = UniFreeUconvObject(uconv);

/* conversion for current codepage that can be used for paths */ rc = UniCreateUconvObject((UniChar pointer)L"@path=yes", uconv); rc = UniStrFromUcs(uconv, out, tempPath, CCHMAXPATH); rc = UniFreeUconvObject(uconv);

/* use out - don't forget to de-allocate out when finished with it. */ /* error checking left out for brevity */

Related Functions

 * UniMapCtryToLocale

OS Version Introduced
OS/2 Warp