[ros-diffs] [tkreuzer] 55151: [NDK/DDK] - Improve/fix/update/add several function declarations and structures Patch by Samuel Serapion

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Tue Jan 24 21:15:56 UTC 2012


Author: tkreuzer
Date: Tue Jan 24 21:15:55 2012
New Revision: 55151

URL: http://svn.reactos.org/svn/reactos?rev=55151&view=rev
Log:
[NDK/DDK]
- Improve/fix/update/add several function declarations and structures
Patch by Samuel Serapion

Modified:
    trunk/reactos/include/ddk/ntifs.h
    trunk/reactos/include/ndk/cmtypes.h
    trunk/reactos/include/ndk/extypes.h
    trunk/reactos/include/ndk/ldrtypes.h
    trunk/reactos/include/ndk/peb_teb.h
    trunk/reactos/include/ndk/pstypes.h
    trunk/reactos/include/ndk/rtlfuncs.h
    trunk/reactos/include/ndk/rtltypes.h
    trunk/reactos/include/xdk/rtlfuncs.h

Modified: trunk/reactos/include/ddk/ntifs.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -1156,7 +1156,7 @@
   _Out_writes_bytes_to_(MaxBytesInMultiByteString, *BytesInMultiByteString) PCHAR MultiByteString,
   _In_ ULONG MaxBytesInMultiByteString,
   _Out_opt_ PULONG BytesInMultiByteString,
-  _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString,
+  _In_reads_bytes_(BytesInUnicodeString) PCWCH UnicodeString,
   _In_ ULONG BytesInUnicodeString);
 
 _IRQL_requires_max_(PASSIVE_LEVEL)

Modified: trunk/reactos/include/ndk/cmtypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/cmtypes.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/cmtypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/cmtypes.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -115,6 +115,8 @@
 //
 #define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
 #define CM_RESOURCE_INTERRUPT_LATCHED         0x0001
+#define CM_RESOURCE_INTERRUPT_MESSAGE         0x0002
+#define CM_RESOURCE_INTERRUPT_POLICY_INCLUDED 0x0004
 
 //
 // NtInitializeRegistry Flags
@@ -136,7 +138,10 @@
     KeyFullInformation,
     KeyNameInformation,
     KeyCachedInformation,
-    KeyFlagsInformation
+    KeyFlagsInformation,
+    KeyVirtualizationInformation,
+    KeyHandleTagsInformation,
+    MaxKeyInfoClass
 } KEY_INFORMATION_CLASS;
 
 typedef enum _KEY_VALUE_INFORMATION_CLASS
@@ -145,7 +150,8 @@
     KeyValueFullInformation,
     KeyValuePartialInformation,
     KeyValueFullInformationAlign64,
-    KeyValuePartialInformationAlign64
+    KeyValuePartialInformationAlign64,
+    MaxKeyValueInfoClass
 } KEY_VALUE_INFORMATION_CLASS;
 
 typedef enum _KEY_SET_INFORMATION_CLASS {
@@ -216,10 +222,44 @@
     LARGE_INTEGER LastWriteTime;
 } KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;
 
+typedef struct _KEY_WOW64_FLAGS_INFORMATION
+{
+    ULONG UserFlags;
+} KEY_WOW64_FLAGS_INFORMATION, *PKEY_WOW64_FLAGS_INFORMATION;
+
 typedef struct _KEY_USER_FLAGS_INFORMATION
 {
     ULONG UserFlags;
 } KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
+
+typedef struct _KEY_HANDLE_TAGS_INFORMATION
+{
+    ULONG HandleTags;
+} KEY_HANDLE_TAGS_INFORMATION, *PKEY_HANDLE_TAGS_INFORMATION;
+
+typedef struct _KEY_CONTROL_FLAGS_INFORMATION
+{
+    ULONG ControlFlags;
+} KEY_CONTROL_FLAGS_INFORMATION, *PKEY_CONTROL_FLAGS_INFORMATION;
+
+typedef struct _KEY_VIRTUALIZATION_INFORMATION
+{
+    ULONG VirtualizationCandidate:1;
+    ULONG VirtualizationEnabled:1;
+    ULONG VirtualTarget:1;
+    ULONG VirtualStore:1;
+    ULONG VirtualSource:1;
+    ULONG Reserved:27;
+} KEY_VIRTUALIZATION_INFORMATION, *PKEY_VIRTUALIZATION_INFORMATION;
+
+typedef struct _KEY_SET_VIRTUALIZATION_INFORMATION
+{
+    ULONG VirtualTarget:1;
+    ULONG VirtualStore:1;
+    ULONG VirtualSource:1;
+    ULONG Reserved:29;
+} KEY_SET_VIRTUALIZATION_INFORMATION, *PKEY_SET_VIRTUALIZATION_INFORMATION;
+
 
 typedef struct _KEY_FULL_INFORMATION
 {
@@ -267,6 +307,13 @@
     ULONG DataLength;
     UCHAR Data[1];
 } KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
+
+typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64
+{
+    ULONG Type;
+    ULONG DataLength;
+    UCHAR Data[1];
+} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
 
 typedef struct _KEY_VALUE_BASIC_INFORMATION
 {

Modified: trunk/reactos/include/ndk/extypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/extypes.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/extypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/extypes.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -772,7 +772,7 @@
     ULONG TotalSystemCodePages;
     ULONG NonPagedPoolLookasideHits;
     ULONG PagedPoolLookasideHits;
-    ULONG Spare3Count;
+    ULONG AvailablePagedPoolPages;
     ULONG ResidentSystemCachePage;
     ULONG ResidentPagedPoolPage;
     ULONG ResidentSystemDriverPage;
@@ -849,9 +849,10 @@
 {
     ULONG NextEntryOffset;
     ULONG NumberOfThreads;
-    LARGE_INTEGER SpareLi1;
-    LARGE_INTEGER SpareLi2;
-    LARGE_INTEGER SpareLi3;
+    LARGE_INTEGER WorkingSetPrivateSize; //VISTA
+    ULONG HardFaultCount; //WIN7
+    ULONG NumberOfThreadsHighWatermark; //WIN7
+    ULONGLONG CycleTime; //WIN7
     LARGE_INTEGER CreateTime;
     LARGE_INTEGER UserTime;
     LARGE_INTEGER KernelTime;
@@ -868,8 +869,8 @@
     // NOTE: *NOT* THE SAME AS VM_COUNTERS!
     //
     SIZE_T PeakVirtualSize;
-    ULONG VirtualSize;
-    SIZE_T PageFaultCount;
+    SIZE_T VirtualSize;
+    ULONG PageFaultCount;
     SIZE_T PeakWorkingSetSize;
     SIZE_T WorkingSetSize;
     SIZE_T QuotaPeakPagedPoolUsage;
@@ -890,7 +891,7 @@
     LARGE_INTEGER WriteTransferCount;
     LARGE_INTEGER OtherTransferCount;
 
-    //SYSTEM_THREAD_INFORMATION TH[1];
+    SYSTEM_THREAD_INFORMATION TH[1];
 } SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;
 
 // Class 6
@@ -959,7 +960,7 @@
 
 typedef struct _SYSTEM_POOL_INFORMATION
 {
-    ULONG TotalSize;
+    SIZE_T TotalSize;
     PVOID FirstEntry;
     USHORT EntryOverhead;
     BOOLEAN PoolTagPresent;
@@ -1072,13 +1073,13 @@
 // Class 21
 typedef struct _SYSTEM_FILECACHE_INFORMATION
 {
-    ULONG CurrentSize;
-    ULONG PeakSize;
+    SIZE_T CurrentSize;
+    SIZE_T PeakSize;
     ULONG PageFaultCount;
-    ULONG MinimumWorkingSet;
-    ULONG MaximumWorkingSet;
-    ULONG CurrentSizeIncludingTransitionInPages;
-    ULONG PeakSizeIncludingTransitionInPages;
+    SIZE_T MinimumWorkingSet;
+    SIZE_T MaximumWorkingSet;
+    SIZE_T CurrentSizeIncludingTransitionInPages;
+    SIZE_T PeakSizeIncludingTransitionInPages;
     ULONG TransitionRePurposeCount;
     ULONG Flags;
 } SYSTEM_FILECACHE_INFORMATION, *PSYSTEM_FILECACHE_INFORMATION;
@@ -1098,6 +1099,7 @@
     ULONG NonPagedFrees;
     SIZE_T NonPagedUsed;
 } SYSTEM_POOLTAG, *PSYSTEM_POOLTAG;
+
 typedef struct _SYSTEM_POOLTAG_INFORMATION
 {
     ULONG Count;
@@ -1229,7 +1231,7 @@
 {
     ULONG RegistryQuotaAllowed;
     ULONG RegistryQuotaUsed;
-    ULONG PagedPoolSize;
+    SIZE_T PagedPoolSize;
 } SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
 
 // Class 38
@@ -1274,7 +1276,6 @@
 {
     PNP_VETO_TYPE VetoType;
     UNICODE_STRING VetoDriver;
-    // CHAR Buffer[0];
 } SYSTEM_LEGACY_DRIVER_INFORMATION, *PSYSTEM_LEGACY_DRIVER_INFORMATION;
 
 // Class 44
@@ -1451,6 +1452,7 @@
    SIZE_T BadPageCount;
    SIZE_T PageCountByPriority[8];
    SIZE_T RepurposedPagesByPriority[8];
+   SIZE_T ModifiedPageCountPageFile;
 } SYSTEM_MEMORY_LIST_INFORMATION, *PSYSTEM_MEMORY_LIST_INFORMATION;
 
 #endif

Modified: trunk/reactos/include/ndk/ldrtypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ldrtypes.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/ldrtypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/ldrtypes.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -114,6 +114,10 @@
     LIST_ENTRY InMemoryOrderModuleList;
     LIST_ENTRY InInitializationOrderModuleList;
     PVOID EntryInProgress;
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+    UCHAR ShutdownInProgress;
+    PVOID ShutdownThreadId;
+#endif
 } PEB_LDR_DATA, *PPEB_LDR_DATA;
 
 //

Modified: trunk/reactos/include/ndk/peb_teb.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/peb_teb.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/peb_teb.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/peb_teb.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -146,7 +146,7 @@
     PTR(PVOID*) FlsCallback;
     STRUCT(LIST_ENTRY) FlsListHead;
     PTR(PVOID) FlsBitmap;
-    ULONG FlsBitmapBits[4];
+    ULONG FlsBitmapBits[FLS_MAXIMUM_AVAILABLE/(sizeof(ULONG)*8)];
     ULONG FlsHighIndex;
 #endif
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
@@ -189,6 +189,7 @@
 #endif
 #endif
 
+#define GDI_BATCH_BUFFER_SIZE 0x136
 //
 // GDI Batch Descriptor
 //
@@ -196,7 +197,7 @@
 {
     ULONG Offset;
     PTR(HANDLE) HDC;
-    ULONG Buffer[0x136];
+    ULONG Buffer[GDI_BATCH_BUFFER_SIZE];
 } STRUCT(GDI_TEB_BATCH), *STRUCT(PGDI_TEB_BATCH);
 
 //

Modified: trunk/reactos/include/ndk/pstypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/pstypes.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/pstypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/pstypes.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -764,6 +764,19 @@
     LARGE_INTEGER UserTime;
 } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
 
+typedef struct _POOLED_USAGE_AND_LIMITS
+{
+    SIZE_T PeakPagedPoolUsage;
+    SIZE_T PagedPoolUsage;
+    SIZE_T PagedPoolLimit;
+    SIZE_T PeakNonPagedPoolUsage;
+    SIZE_T NonPagedPoolUsage;
+    SIZE_T NonPagedPoolLimit;
+    SIZE_T PeakPagefileUsage;
+    SIZE_T PagefileUsage;
+    SIZE_T PagefileLimit;
+} POOLED_USAGE_AND_LIMITS, *PPOOLED_USAGE_AND_LIMITS;
+
 typedef struct _PROCESS_SESSION_INFORMATION
 {
     ULONG SessionId;

Modified: trunk/reactos/include/ndk/rtlfuncs.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtlfuncs.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -964,7 +964,7 @@
 NTAPI
 RtlWalkHeap(
     IN HANDLE HeapHandle,
-    IN PVOID HeapEntry
+    IN OUT PRTL_HEAP_WALK_ENTRY HeapEntry
 );
 
 #define RtlGetProcessHeap() (NtCurrentPeb()->ProcessHeap)
@@ -1818,7 +1818,7 @@
     PCHAR MbString,
     ULONG MbSize,
     PULONG ResultSize,
-    PWCHAR UnicodeString,
+    PCWCH UnicodeString,
     ULONG UnicodeSize
 );
 
@@ -1998,6 +1998,16 @@
 );
 
 NTSYSAPI
+VOID
+NTAPI
+RtlFillMemoryUlonglong(
+    OUT PVOID Destination,
+    IN SIZE_T Length,
+    IN ULONGLONG Pattern
+);
+
+
+NTSYSAPI
 SIZE_T
 NTAPI
 RtlCompareMemoryUlong(
@@ -2079,6 +2089,25 @@
     PCANSI_STRING String2,
     BOOLEAN CaseInsensitive
 );
+
+#ifdef _M_X64
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64GetThreadContext(
+    IN HANDLE ThreadHandle,
+    IN OUT PWOW64_CONTEXT ThreadContext
+);
+
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64SetThreadContext(
+    IN HANDLE ThreadHandle,
+    IN PWOW64_CONTEXT ThreadContext
+);
+#endif
 
 NTSYSAPI
 BOOLEAN
@@ -2321,6 +2350,25 @@
     IN PINITIAL_TEB InitialTeb
 );
 
+#ifdef _M_AMD64
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64GetThreadContext(
+    IN HANDLE ThreadHandle,
+    IN OUT PWOW64_CONTEXT ThreadContext
+);
+
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64SetThreadContext(
+    IN HANDLE ThreadHandle,
+    IN PWOW64_CONTEXT ThreadContext
+);
+#endif
+
 NTSYSAPI
 BOOLEAN
 NTAPI
@@ -2545,6 +2593,19 @@
     OUT PWSTR *ShortName
 );
 
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlGetFullPathName_UEx(
+    IN PWSTR FileName,
+    IN ULONG BufferLength,
+    OUT PWSTR Buffer,
+    OUT OPTIONAL PWSTR *FilePart,
+    OUT OPTIONAL RTL_PATH_TYPE *InputPathType
+    );
+#endif
+
 ULONG
 NTAPI
 RtlGetFullPathName_UstrEx(
@@ -2586,9 +2647,9 @@
 NTSTATUS
 NTAPI
 RtlQueryEnvironmentVariable_U(
-    PWSTR Environment,
-    PUNICODE_STRING Name,
-    PUNICODE_STRING Value
+    IN OPTIONAL PWSTR Environment,
+    IN PUNICODE_STRING Name,
+    OUT PUNICODE_STRING Value
 );
 
 VOID
@@ -2602,6 +2663,14 @@
 NTAPI
 RtlSetCurrentDirectory_U(
     IN PUNICODE_STRING name
+);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlSetCurrentEnvironment(
+    IN PVOID Environment,
+    OUT OPTIONAL PVOID *PreviousEnvironment
 );
 
 NTSYSAPI

Modified: trunk/reactos/include/ndk/rtltypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtltypes.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/ndk/rtltypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/rtltypes.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -36,17 +36,22 @@
 //
 #define RTL_USER_PROCESS_PARAMETERS_NORMALIZED              0x01
 #define RTL_USER_PROCESS_PARAMETERS_PROFILE_USER            0x02
-#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER          0x04
-#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL          0x08
+#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL          0x04
+#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER          0x08
 #define RTL_USER_PROCESS_PARAMETERS_UNKNOWN                 0x10
 #define RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB             0x20
 #define RTL_USER_PROCESS_PARAMETERS_RESERVE_16MB            0x40
+#define RTL_USER_PROCESS_PARAMETERS_CASE_SENSITIVE          0x80
 #define RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS     0x100
 #define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_1            0x200
 #define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_2            0x400
 #define RTL_USER_PROCESS_PARAMETERS_PRIVATE_DLL_PATH        0x1000
-#define RTL_USER_PROCESS_PARAMETERS_LOCAL_DLL_PATH          0x2000
+#define RTL_USER_PROCESS_PARAMETERS_APP_MANIFEST_PRESENT    0x2000
+#define RTL_USER_PROCESS_PARAMETERS_IMAGE_KEY_MISSING       0x4000
 #define RTL_USER_PROCESS_PARAMETERS_NX                      0x20000
+
+#define RTL_MAX_DRIVE_LETTERS 32
+#define RTL_DRIVE_LETTER_VALID (USHORT)0x0001
 
 //
 // Exception Flags
@@ -901,28 +906,78 @@
 
 typedef struct _RTL_HEAP_TAG_INFO
 {
-   ULONG NumberOfAllocations;
-   ULONG NumberOfFrees;
-   ULONG BytesAllocated;
+    ULONG NumberOfAllocations;
+    ULONG NumberOfFrees;
+    SIZE_T BytesAllocated;
 } RTL_HEAP_TAG_INFO, *PRTL_HEAP_TAG_INFO;
 
 typedef struct _RTL_HEAP_USAGE_ENTRY
 {
     struct _RTL_HEAP_USAGE_ENTRY *Next;
+    PVOID Address;
+    SIZE_T Size;
+    USHORT AllocatorBackTraceIndex;
+    USHORT TagIndex;
 } RTL_HEAP_USAGE_ENTRY, *PRTL_HEAP_USAGE_ENTRY;
 
 typedef struct _RTL_HEAP_USAGE
 {
     ULONG Length;
-    ULONG BytesAllocated;
-    ULONG BytesCommitted;
-    ULONG BytesReserved;
-    ULONG BytesReservedMaximum;
+    SIZE_T BytesAllocated;
+    SIZE_T BytesCommitted;
+    SIZE_T BytesReserved;
+    SIZE_T BytesReservedMaximum;
     PRTL_HEAP_USAGE_ENTRY Entries;
     PRTL_HEAP_USAGE_ENTRY AddedEntries;
     PRTL_HEAP_USAGE_ENTRY RemovedEntries;
-    UCHAR Reserved[32];
+    ULONG_PTR Reserved[8];
 } RTL_HEAP_USAGE, *PRTL_HEAP_USAGE;
+
+typedef struct _RTL_HEAP_WALK_ENTRY
+{
+    PVOID DataAddress;
+    SIZE_T DataSize;
+    UCHAR OverheadBytes;
+    UCHAR SegmentIndex;
+    USHORT Flags;
+    union
+    {
+        struct
+        {
+            SIZE_T Settable;
+            USHORT TagIndex;
+            USHORT AllocatorBackTraceIndex;
+            ULONG Reserved[2];
+        } Block;
+        struct
+        {
+            ULONG_PTR CommittedSize;
+            ULONG_PTR UnCommittedSize;
+            PVOID FirstEntry;
+            PVOID LastEntry;
+        } Segment;
+    };
+} RTL_HEAP_WALK_ENTRY, *PRTL_HEAP_WALK_ENTRY;
+
+typedef struct _RTL_HEAP_ENTRY
+{
+    SIZE_T Size;
+    USHORT Flags;
+    USHORT AllocatorBackTraceIndex;
+    union
+    {
+        struct
+        {
+            SIZE_T Settable;
+            ULONG Tag;
+        } s1;
+        struct
+        {
+            SIZE_T CommittedSize;
+            PVOID FirstBlock;
+        } s2;
+    } u;
+} RTL_HEAP_ENTRY, *PRTL_HEAP_ENTRY;
 
 typedef struct _RTL_HEAP_INFORMATION
 {
@@ -930,15 +985,15 @@
     ULONG Flags;
     USHORT EntryOverhead;
     USHORT CreatorBackTraceIndex;
-    ULONG BytesAllocated;
-    ULONG BytesCommitted;
+    SIZE_T BytesAllocated;
+    SIZE_T BytesCommitted;
     ULONG NumberOfTags;
     ULONG NumberOfEntries;
     ULONG NumberOfPseudoTags;
     ULONG PseudoTagGranularity;
     ULONG Reserved[4];
-    PVOID Tags;
-    PVOID Entries;
+    PRTL_HEAP_TAG Tags;
+    PRTL_HEAP_ENTRY Entries;
 } RTL_HEAP_INFORMATION, *PRTL_HEAP_INFORMATION;
 
 typedef struct _RTL_PROCESS_HEAPS
@@ -1196,6 +1251,8 @@
 //
 // RTL Resource
 //
+#define RTL_RESOURCE_FLAG_LONG_TERM ((ULONG)0x00000001)
+
 typedef struct _RTL_RESOURCE
 {
     RTL_CRITICAL_SECTION Lock;
@@ -1205,8 +1262,8 @@
     ULONG ExclusiveWaiters;
     LONG NumberActive;
     HANDLE OwningThread;
-    ULONG TimeoutBoost;
-    PVOID DebugInfo;
+    ULONG Flags;
+    PRTL_RESOURCE_DEBUG DebugInfo;
 } RTL_RESOURCE, *PRTL_RESOURCE;
 
 //
@@ -1241,7 +1298,13 @@
     UNICODE_STRING DesktopInfo;
     UNICODE_STRING ShellInfo;
     UNICODE_STRING RuntimeData;
-    RTL_DRIVE_LETTER_CURDIR CurrentDirectories[32];
+    RTL_DRIVE_LETTER_CURDIR CurrentDirectories[RTL_MAX_DRIVE_LETTERS];
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+    SIZE_T EnvironmentSize;
+#endif
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+    SIZE_T EnvironmentVersion;
+#endif
 } RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
 
 typedef struct _RTL_USER_PROCESS_INFORMATION

Modified: trunk/reactos/include/xdk/rtlfuncs.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/xdk/rtlfuncs.h?rev=55151&r1=55150&r2=55151&view=diff
==============================================================================
--- trunk/reactos/include/xdk/rtlfuncs.h [iso-8859-1] (original)
+++ trunk/reactos/include/xdk/rtlfuncs.h [iso-8859-1] Tue Jan 24 21:15:55 2012
@@ -1369,7 +1369,7 @@
   _Out_writes_bytes_to_(MaxBytesInMultiByteString, *BytesInMultiByteString) PCHAR MultiByteString,
   _In_ ULONG MaxBytesInMultiByteString,
   _Out_opt_ PULONG BytesInMultiByteString,
-  _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString,
+  _In_reads_bytes_(BytesInUnicodeString) PCWCH UnicodeString,
   _In_ ULONG BytesInUnicodeString);
 
 _IRQL_requires_max_(PASSIVE_LEVEL)




More information about the Ros-diffs mailing list