sync with trunk (r49230)

svn path=/branches/cmake-bringup/; revision=49246
This commit is contained in:
Sylvain Petreolle 2010-10-23 22:14:59 +00:00
771 changed files with 118975 additions and 68781 deletions

View file

@ -740,6 +740,27 @@ typedef struct _MMVAD_LONG
} u4;
} MMVAD_LONG, *PMMVAD_LONG;
//
// Short VAD used in virtual memory allocations
//
typedef struct _MMVAD_SHORT
{
union
{
LONG_PTR Balance:2;
PMMVAD Parent;
} u1;
PMMVAD LeftChild;
PMMVAD RightChild;
ULONG StartingVpn;
ULONG EndingVpn;
union
{
ULONG LongFlags;
MMVAD_FLAGS VadFlags;
} u;
} MMVAD_SHORT, *PMMVAD_SHORT;
//
// Actual Section Object
//

View file

@ -707,6 +707,17 @@ RtlProtectHeap(
IN BOOLEAN Protect
);
NTSYSAPI
NTSTATUS
NTAPI
RtlQueryHeapInformation (
IN PVOID HeapHandle,
IN HEAP_INFORMATION_CLASS HeapInformationClass,
OUT PVOID HeapInformation OPTIONAL,
IN SIZE_T HeapInformationLength OPTIONAL,
OUT PSIZE_T ReturnLength OPTIONAL
);
NTSYSAPI
PWSTR
NTAPI
@ -728,6 +739,16 @@ RtlReAllocateHeap(
SIZE_T Size
);
NTSYSAPI
NTSTATUS
NTAPI
RtlSetHeapInformation (
IN PVOID HeapHandle,
IN HEAP_INFORMATION_CLASS HeapInformationClass,
IN PVOID HeapInformation OPTIONAL,
IN SIZE_T HeapInformationLength OPTIONAL
);
NTSYSAPI
BOOLEAN
NTAPI
@ -735,6 +756,27 @@ RtlLockHeap(
IN HANDLE Heap
);
NTSYSAPI
NTSTATUS
NTAPI
RtlMultipleAllocateHeap (
IN PVOID HeapHandle,
IN ULONG Flags,
IN SIZE_T Size,
IN ULONG Count,
OUT PVOID * Array
);
NTSYSAPI
NTSTATUS
NTAPI
RtlMultipleFreeHeap (
IN PVOID HeapHandle,
IN ULONG Flags,
IN ULONG Count,
OUT PVOID * Array
);
NTSYSAPI
NTSTATUS
NTAPI
@ -766,7 +808,8 @@ RtlSetUserFlagsHeap(
IN PVOID HeapHandle,
IN ULONG Flags,
IN PVOID BaseAddress,
IN ULONG UserFlags
IN ULONG UserFlagsReset,
IN ULONG UserFlagsSet
);
NTSYSAPI
@ -3318,7 +3361,7 @@ NTSYSAPI
ULONG
NTAPI
RtlComputeCrc32(
IN USHORT PartialCrc,
IN ULONG InitialCrc,
IN PUCHAR Buffer,
IN ULONG Length
);
@ -3496,14 +3539,14 @@ NTSYSAPI
NTSTATUS
NTAPI
RtlLockBootStatusData(
HANDLE FileHandle
OUT PHANDLE FileHandle
);
NTSYSAPI
NTSTATUS
NTAPI
RtlUnlockBootStatusData(
HANDLE FileHandle
IN HANDLE FileHandle
);
#endif

View file

@ -368,6 +368,15 @@ typedef enum _RTL_PATH_TYPE
#ifndef NTOS_MODE_USER
//
// Heap Information Class
//
typedef enum _HEAP_INFORMATION_CLASS
{
HeapCompatibilityInformation,
HeapEnableTerminationOnCorruption
} HEAP_INFORMATION_CLASS;
//
// Callback function for RTL Timers or Registered Waits
//
@ -1039,6 +1048,21 @@ typedef struct _RTL_CRITICAL_SECTION
#endif
//
// RTL Private Heap Structures
//
typedef struct _HEAP_LOCK
{
union
{
RTL_CRITICAL_SECTION CriticalSection;
#ifndef NTOS_MODE_USER
ERESOURCE Resource;
#endif
UCHAR Padding[0x68]; /* Max ERESOURCE size for x64 build. Needed because RTL is built only once */
};
} HEAP_LOCK, *PHEAP_LOCK;
//
// RTL Range List Structures
//