- Update targets to pentium to take advantage of cmpxhg8b when possible. (ROS won't run on 386/486 anyway).
- Fix some compiler problems when building with -O3.
svn path=/trunk/; revision=26274
LPSTR lpCmdLine,
int iCmdShow)
{
- HWND hwndParent;
+ HWND hwndParent = 0;
int chOption = 0;
MSG Message;
See GCC manual for more CPU names and which CPUs GCC can optimize for.
-->
-<property name="OARCH" value="i486" />
+<property name="OARCH" value="pentium" />
<!--
#include <ketypes.h>
#include <potypes.h>
#include <lpctypes.h>
+#ifdef NTOS_MODE_USER
+#include <obtypes.h>
+#endif
//
// GCC compatibility
{
DISPATCHER_HEADER Header;
LIST_ENTRY ProfileListHead;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ ULONG DirectoryTableBase;
+ ULONG Unused0;
+#else
LARGE_INTEGER DirectoryTableBase;
+#endif
#if defined(_M_IX86)
KGDTENTRY LdtDescriptor;
KIDTENTRY Int21Descriptor;
// Dependencies
//
#include <umtypes.h>
-#include <pstypes.h>
+//#include <pstypes.h>
//
// Internal helper macro
//
#include <umtypes.h>
#include <arch/mmtypes.h>
+#include <extypes.h>
//
// Page-Rounding Macros
//
typedef struct _MMSUPPORT
{
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ LIST_ENTRY WorkingSetExpansionLinks;
+ USHORT LastTrimpStamp;
+ USHORT NextPageColor;
+#else
LARGE_INTEGER LastTrimTime;
+#endif
MMSUPPORT_FLAGS Flags;
ULONG PageFaultCount;
ULONG PeakWorkingSetSize;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ ULONG Spare0;
+#else
ULONG WorkingSetSize;
+#endif
ULONG MinimumWorkingSetSize;
ULONG MaximumWorkingSetSize;
PMMWSL MmWorkingSetList;
+#if (NTDDI_VERSION < NTDDI_LONGHORN)
LIST_ENTRY WorkingSetExpansionLinks;
+#endif
ULONG Claim;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ ULONG Spare;
+ ULONG WorkingSetPrivateSize;
+ ULONG WorkingSetSizeOverhead;
+ ULONG WorkingSetSize;
+ PKEVENT ExitEvent;
+ EX_PUSH_LOCK WorkingSetMutex;
+ PVOID AccessLog;
+#else
ULONG NextEstimationSlot;
ULONG NextAgingSlot;
ULONG EstimatedAvailable;
ULONG GrowthSinceLastEstimate;
+#endif
} MMSUPPORT, *PMMSUPPORT;
//
#ifndef _OBTYPES_H
#define _OBTYPES_H
+#undef NTDDI_VERSION
+#define NTDDI_VERSION NTDDI_WS03SP1
+
//
// Dependencies
//
#include <extypes.h>
#endif
-#undef NTDDI_VERSION
-#define NTDDI_VERSION NTDDI_WS03SP1
-
#ifdef NTOS_MODE_USER
//
// Definitions for Object Creation
OUT PETHREAD *Thread
);
+BOOLEAN
+NTAPI
+PsIsProtectedProcess(
+ IN PEPROCESS Process
+);
+
#endif
//
#define PSF_CREATE_FAILED_BIT 0x4000000
#define PSF_DEFAULT_IO_PRIORITY_BIT 0x8000000
+//
+// Vista Process Flags
+//
+#define PSF2_PROTECTED_BIT 0x800
+
#ifdef NTOS_MODE_USER
//
// Current Process/Thread built-in 'special' handles
VOID
);
-#ifdef NTOS_MODE_USER
-
-//
-// ClientID Structure
-//
-typedef struct _CLIENT_ID
-{
- HANDLE UniqueProcess;
- HANDLE UniqueThread;
-} CLIENT_ID, *PCLIENT_ID;
-
-#endif
-
//
// Descriptor Table Entry Definition
//
//
// Executive Thread (ETHREAD)
//
-#include <pshpack4.h>
typedef struct _ETHREAD
{
KTHREAD Tcb;
#endif
PETHREAD ForkInProgress;
ULONG HardwareTrigger;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ PMM_AVL_TABLE PhysicalVadroot;
+#else
MM_AVL_TABLE PhysicalVadroot;
+#endif
PVOID CloneRoot;
ULONG NumberOfPrivatePages;
ULONG NumberOfLockedPages;
PVOID VdmObjects;
PVOID DeviceMap;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
- ULONG AlpcPagedPoolQuotaCache;
PVOID EtwDataSource;
PVOID FreeTebHint;
#else
MM_AVL_TABLE VadRoot;
ULONG Cookie;
} EPROCESS;
-#include <poppack.h>
//
// Job Token Filter Data
NTSYSAPI
NTSTATUS
NTAPI
-RtlFormatCurrentUserKeyPath(IN OUT PUNICODE_STRING KeyPath);
+RtlCreateRegistryKey(
+ IN ULONG RelativeTo,
+ IN PWSTR Path
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlFormatCurrentUserKeyPath(
+ IN OUT PUNICODE_STRING KeyPath
+);
NTSYSAPI
NTSTATUS
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
+//
+// ClientID Structure
+//
+typedef struct _CLIENT_ID
+{
+ HANDLE UniqueProcess;
+ HANDLE UniqueThread;
+} CLIENT_ID, *PCLIENT_ID;
+
typedef const UNICODE_STRING* PCUNICODE_STRING;
typedef STRING ANSI_STRING;
typedef PSTRING PANSI_STRING;
HRGN STDCALL
NtGdiUnionRectWithRgn(HRGN hDest, CONST PRECT UnsafeRect)
{
- RECT SafeRect;
+ RECT SafeRect = {0};
PROSRGNDATA Rgn;
NTSTATUS Status = STATUS_SUCCESS;