From 49c35d197fc1e54c46b531bdb3242ab5e204809f Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Sun, 12 Nov 2006 22:27:10 +0000 Subject: [PATCH] - Add CcFastMdlReadWait extern to ntifs.h - Add FsRtlCompleteRequest macro to ntifs.h - Add LDRP_DRIVER_VERIFYING flag to ldrtypes.h - Add MM_DRIVER_VERIFIER_DATA and DRIVER_SPECIFIED_DRIVER_THUNKS to mmtypes.h - Add MAXLONGLONG to ntdef.h. svn path=/trunk/; revision=24729 --- reactos/include/ddk/ntifs.h | 7 ++++++ reactos/include/ndk/ldrtypes.h | 1 + reactos/include/ndk/mmtypes.h | 44 ++++++++++++++++++++++++++++++++++ reactos/include/psdk/ntdef.h | 2 +- 4 files changed, 53 insertions(+), 1 deletion(-) diff --git a/reactos/include/ddk/ntifs.h b/reactos/include/ddk/ntifs.h index f7cb609cea4..30ec249b11f 100644 --- a/reactos/include/ddk/ntifs.h +++ b/reactos/include/ddk/ntifs.h @@ -2006,6 +2006,8 @@ CcInitializeCacheMap ( (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \ ) +extern ULONG CcFastMdlReadWait; + NTKERNELAPI BOOLEAN NTAPI @@ -2579,6 +2581,11 @@ FsRtlDoesNameContainWildCards ( IN PUNICODE_STRING Name ); +#define FsRtlCompleteRequest(IRP,STATUS) { \ + (IRP)->IoStatus.Status = (STATUS); \ + IoCompleteRequest( (IRP), IO_DISK_INCREMENT ); \ +} + #define FsRtlEnterFileSystem KeEnterCriticalRegion #define FsRtlExitFileSystem KeLeaveCriticalRegion diff --git a/reactos/include/ndk/ldrtypes.h b/reactos/include/ndk/ldrtypes.h index 97b4df39ebd..c1a742affe7 100644 --- a/reactos/include/ndk/ldrtypes.h +++ b/reactos/include/ndk/ldrtypes.h @@ -49,6 +49,7 @@ Author: #define LDRP_IMAGE_NOT_AT_BASE 0x00200000 #define LDRP_COR_IMAGE 0x00400000 #define LDR_COR_OWNS_UNMAP 0x00800000 +#define LDRP_DRIVER_VERIFYING 0x02000000 #define LDRP_REDIRECTED 0x10000000 // diff --git a/reactos/include/ndk/mmtypes.h b/reactos/include/ndk/mmtypes.h index f440545c83e..88d1a672f03 100644 --- a/reactos/include/ndk/mmtypes.h +++ b/reactos/include/ndk/mmtypes.h @@ -606,6 +606,50 @@ typedef struct _MEMORY_BASIC_INFORMATION ULONG Type; } MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION; +// +// Driver Verifier Data +// +typedef struct _MM_DRIVER_VERIFIER_DATA +{ + ULONG Level; + ULONG RaiseIrqls; + ULONG AcquireSpinLocks; + ULONG SynchronizeExecutions; + ULONG AllocationsAttempted; + ULONG AllocationsSucceeded; + ULONG AllocationsSucceededSpecialPool; + ULONG AllocationsWithNoTag; + ULONG TrimRequests; + ULONG Trims; + ULONG AllocationsFailed; + ULONG AllocationsFailedDeliberately; + ULONG Loads; + ULONG Unloads; + ULONG UnTrackedPool; + ULONG UserTrims; + ULONG CurrentPagedPoolAllocations; + ULONG CurrentNonPagedPoolAllocations; + ULONG PeakPagedPoolAllocations; + ULONG PeakNonPagedPoolAllocations; + ULONG PagedBytes; + ULONG NonPagedBytes; + ULONG PeakPagedBytes; + ULONG PeakNonPagedBytes; + ULONG BurstAllocationsFailedDeliberately; + ULONG SessionTrims; + ULONG Reserved[2]; +} MM_DRIVER_VERIFIER_DATA, *PMM_DRIVER_VERIFIER_DATA; + +// +// Internal Driver Verifier Table Data +// +typedef struct _DRIVER_SPECIFIED_VERIFIER_THUNKS +{ + LIST_ENTRY ListEntry; + PLDR_DATA_TABLE_ENTRY DataTableEntry; + ULONG NumberOfThunks; +} DRIVER_SPECIFIED_VERIFIER_THUNKS, *PDRIVER_SPECIFIED_VERIFIER_THUNKS; + // // Default heap size values. For user mode, these values are copied to a new // process's PEB by the kernel in MmCreatePeb. In kernel mode, RtlCreateHeap diff --git a/reactos/include/psdk/ntdef.h b/reactos/include/psdk/ntdef.h index ac49caa6c59..02ed9b63c3b 100644 --- a/reactos/include/psdk/ntdef.h +++ b/reactos/include/psdk/ntdef.h @@ -105,7 +105,7 @@ typedef struct _OBJECT_ATTRIBUTES { #define MAXUCHAR 0xff #define MAXUSHORT 0xffff #define MAXULONG 0xffffffff - +#define MAXLONGLONG (0x7fffffffffffffffLL) #define C_ASSERT(e) extern char __C_ASSERT__[(e)?1:-1] #endif /* _NTDEF_H */