/* INCLUDES ******************************************************************/
-#include <ddk/ntddk.h>
-#include <kernel32/error.h>
-#include <windows.h>
+#include <k32.h>
+#define NDEBUG
#include <kernel32/kernel32.h>
/* FUNCTIONS *****************************************************************/
NTSTATUS Status;
HANDLE SectionHandle;
LARGE_INTEGER MaximumSize;
+ PLARGE_INTEGER MaximumSizePointer;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING UnicodeName;
PSECURITY_DESCRIPTOR SecurityDescriptor;
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,
Status = NtCreateSection(&SectionHandle,
SECTION_ALL_ACCESS,
&ObjectAttributes,
- &MaximumSize,
+ MaximumSizePointer,
flProtect,
0,
hFile);