Author: ion Date: Fri Jul 22 10:10:15 2011 New Revision: 52779
URL: http://svn.reactos.org/svn/reactos?rev=52779&view=rev Log: [KERNEL32]: Clarify the difference between the macro and Basep8BitStringToStaticUnicodeString.
Modified: trunk/reactos/dll/win32/kernel32/include/base_x.h
Modified: trunk/reactos/dll/win32/kernel32/include/base_x.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/include/... ============================================================================== --- trunk/reactos/dll/win32/kernel32/include/base_x.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/include/base_x.h [iso-8859-1] Fri Jul 22 10:10:15 2011 @@ -21,6 +21,14 @@ // // It returns the correct ERROR_FILENAME_EXCED_RANGE Win32 error when the path // is too long. +// +// Note that Basep8BitStringToStaticUnicodeString looks deceptively similar. +// However, that function was designed for File APIs, which can be switched into +// a special "OEM" mode, that uses different NLS files/encoding, and thus calls +// RtlOemStringToAnsiString (see SetFileApisToOEM). Thererefore, this macro and +// that function are not interchangeable. As a separate note, that function uses +// the *Ex version of the Rtl conversion APIs, which does stricter checking that +// is not done when this macro is used. // #define ConvertAnsiToUnicodePrologue \ { \