OemToCharW function (winuser.h)

Translates a string from the OEM-defined character set into either an ANSI or a wide-character string.

Warning  Do not use. See Security Considerations.
 

Syntax

BOOL OemToCharW(
  [in]  LPCSTR pSrc,
  [out] LPWSTR pDst
);

Parameters

[in] pSrc

Type: LPCSTR

A null-terminated string of characters from the OEM-defined character set.

[out] pDst

Type: LPTSTR

The destination buffer, which receives the translated string. If the OemToChar function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if OemToChar is being used as a wide-character function.

Return value

Type: BOOL

The return value is always nonzero except when you pass the same address to lpszSrc and lpszDst in the wide-character version of the function. In this case the function returns zero and GetLastError returns ERROR_INVALID_ADDRESS.

Remarks

Note

The winuser.h header defines OemToChar as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-chartranslation-l1-1-0 (introduced in Windows 8)

See also

CharToOem

CharToOemBuff

Conceptual

OemToCharBuff

Reference

Strings