IMLangConvertCharset::DoConversionToUnicode
A version of this page is also available for
4/8/2010
This method converts the given string from the source multibyte code page of the Conversion object to the Unicode character set.
Syntax
HRESULT DoConversionToUnicode(
CHAR* pSrcStr,
UINT* pcSrcSize,
WCHAR* pDstStr,
UINT* pcDstSize
);
Parameters
- pSrcStr
[in] Pointer to the string to be converted.
- pcSrcSize
[in, out] Pointer to an unsigned integer that stores the length of the source string, in byte counts. If this is NULL, or if the length specified is -1, the string specified by the pSrcStr parameter is assumed to be null-terminated.
- pDstStr
[in] Pointer to the string where the conversion result will be stored.
- pcDstSize
[in, out] Pointer to an unsigned integer that, on input, stores the number of chars allocated for pDstStr. When the function returns successfully, the parameter contains the number of characters that were copied to the buffer.
Return Value
The following table shows the possible return values for this method.
Value | Description |
---|---|
S_OK |
Success. |
S_FALSE |
The conversion specified is not supported. This happens when the newly detected source code page is not supported on the system. |
E_FAIL |
An error occurred. |
Remarks
Unlike the IMLangConvertCharset::DoConversion method, this method always performs multibyte-to-Unicode conversion.
To use this method correctly, the Conversion object's destination code page must be set to Unicode. If the destination code page is not Unicode, the method converts between the source and destination code pages of the Conversion object and the size returned in the pcDstSize parameter will not be correct.
It is important to note that the size of the multibyte string is given in bytes, while the size of the Unicode string returned is the number of Unicode characters.
Requirements
Header | mlang.h, mlang.idl |
Library | mlang.dll |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |