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 \
{ \