UniUconvFromUcs

From EDM2
Jump to: navigation, search

Convert a UCS string to code page characters.

Syntax

UniUconvFromUcs(uconvObj, ucsBuffer, ucsBufferLen, outBuff, outBuffLen, nonIdenticalConv);

Parameters

uconvObj - UconvObject - input 
The conversion object created from UniCreateUconvObject.
ucsBuffer - UniChar - input 
The input buffer.
ucsBufferLen - (size_t *) - input/output 
The input buffer's length, in bytes.
outBuff - (void **) - output 
The output buffer.
outBuffLen - (size_t *) - output 
Number of code page character elements in the outBuff.
nonIdenticalConv - (size_t *) - output 
Number of non-identical conversions.

Returns

An integer with values of:

UniUconvFromUcs updates the variables pointed to by the arguments to reflect the extent of the conversion and returns, in nonidentical, the number of substitution (nonidentical conversions) performed. If the entire string in the input buffer is converted, the value pointed to by ucsBufferLen will be 0. If the input conversion is stopped due to any condition mentioned above, the value pointed to by ucsBufferLen will be nonzero. If any error occurs, UniUconvToUcs returns a nonzero value.

Calling Convention

Cdecl32

Example Code

UconvObject uconvObj;
UniChar     ucsBuffer;
size_t*     ucsBufferLen;
void**      outBuff;
size_t*     outBuffLen;
size_t*     nonIdenticalConv;
integer     rc;
...
rc = UniUconvFromUcs(uconvObj, ucsBuffer, ucsBufferLen, outBuff, outBuffLen, nonIdenticalConv);
...

Notes

The sequence of the code page characters in ucsBuffer is converted into a sequence of Unicode characters in outBuff. The code page was set by UniCreateUconvObject call in the UconvObject.

Conversion is only on bytes that convert. The process stops converting on the first non-valid byte. If the outBuff isn't large enough, conversion ends on the UniChar previous to any buffer overflow. outBuff is updated truncating the point of failure to the end and updating the outBuffLen to indicate the number of successfully converted elements.

OS Version Introduced

OS/2 Warp

Related Functions