UniMapCpToUcsCp
Appearance
UniMapCpToUcsCp
- UniMapCpToUcsCp(codePage, unicodeBuff, unicodeBuffLen)
- Convert a code page string to a UCS string for input to UniCreateUconvObject.
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:
Calling Convention
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
OS Version Introduced
OS/2 Warp