update for HEAD-2003021201
[reactos.git] / lib / kernel32 / mem / section.c
index 42c8204..7eb800c 100644 (file)
@@ -9,10 +9,9 @@
 
 /* INCLUDES ******************************************************************/
 
-#include <ddk/ntddk.h>
-#include <kernel32/error.h>
-#include <windows.h>
+#include <k32.h>
 
+#define NDEBUG
 #include <kernel32/kernel32.h>
 
 /* FUNCTIONS *****************************************************************/
@@ -82,6 +81,7 @@ CreateFileMappingW(HANDLE hFile,
    NTSTATUS Status;
    HANDLE SectionHandle;
    LARGE_INTEGER MaximumSize;
+   PLARGE_INTEGER MaximumSizePointer;
    OBJECT_ATTRIBUTES ObjectAttributes;
    UNICODE_STRING UnicodeName;
    PSECURITY_DESCRIPTOR SecurityDescriptor;
@@ -95,8 +95,16 @@ CreateFileMappingW(HANDLE hFile,
         SecurityDescriptor = NULL;
      }
 
-   MaximumSize.u.LowPart = dwMaximumSizeLow;
-   MaximumSize.u.HighPart = dwMaximumSizeHigh;
+   if ((dwMaximumSizeLow == 0) && (dwMaximumSizeHigh == 0))
+     {
+       MaximumSizePointer = NULL;
+     }
+   else
+     {
+       MaximumSize.u.LowPart = dwMaximumSizeLow;
+       MaximumSize.u.HighPart = dwMaximumSizeHigh;
+       MaximumSizePointer = &MaximumSize;
+     }
    RtlInitUnicodeString(&UnicodeName,
                        lpName);
    InitializeObjectAttributes(&ObjectAttributes,
@@ -107,7 +115,7 @@ CreateFileMappingW(HANDLE hFile,
    Status = NtCreateSection(&SectionHandle,
                            SECTION_ALL_ACCESS,
                            &ObjectAttributes,
-                           &MaximumSize,
+                           MaximumSizePointer,
                            flProtect,
                            0,
                            hFile);