Windows Mobile 6.5
A version of this page is also available for

This method translates the source Unicode string to the specified multibyte code page.

HRESULT ConvertStringFromUnicode( 
  DWORD* pdwMode,
  DWORD dwEncoding,
  WCHAR* pSrcStr,
  UINT* pcSrcSize,
  CHAR* pDstStr,
  UINT* pcDstSize


[in, out] Address of storage for conversion context. A calling function should only provide storage that is initialized with zero at the first call to the method. The caller should not modify the value.


[in] Specifies the code page identifier value for the destination multibyte string. This value is equivalent to the uiCodePage member of the MIMECPINFO structure assigned to the dwEncoding parameter.


[in] Pointer to the Unicode string that is to be converted.


[in, out] Pointer to the buffer that stores the length of the source string, in character counts. If this is NULL, or if -1 is specified as the length, the method assumes that the string pointed to by the pSrcStr parameter is null-terminated. When the conversion is successful, the method returns the number of characters processed to this buffer.


[in] Pointer to the string buffer where the conversion result will be stored.


[in, out] Pointer to the buffer that stores the length of the string pointed to by the pDstStr parameter, in byte counts. When the conversion is successful, the method returns to this buffer the number of bytes copied to the string.

The following table shows the possible return values.

Value Description




The specified conversion is not supported on the system.


An error occurred.

The size of the Unicode string to be converted is specified with a character count, while the size of the multibyte string returned is given in bytes.

Headermlang.h, mlang.idl
Windows Embedded CEWindows CE .NET 4.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions