mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 12:37:22 +00:00
- Sync NDK changes.
svn path=/trunk/; revision=31835
This commit is contained in:
parent
0402021d21
commit
7b3487eb9a
13 changed files with 233 additions and 76 deletions
|
@ -22,7 +22,7 @@ Author:
|
||||||
//
|
//
|
||||||
// Include the right file for this architecture.
|
// Include the right file for this architecture.
|
||||||
//
|
//
|
||||||
#ifdef _M_IX86
|
#if defined(_M_IX86) || defined(_M_AMD64)
|
||||||
#include <i386/mmtypes.h>
|
#include <i386/mmtypes.h>
|
||||||
#elif defined(_M_PPC)
|
#elif defined(_M_PPC)
|
||||||
#include <powerpc/mmtypes.h>
|
#include <powerpc/mmtypes.h>
|
||||||
|
|
|
@ -108,7 +108,7 @@ Author:
|
||||||
#define KTHREAD_PENDING_USER_APC 0x28 + 0x16
|
#define KTHREAD_PENDING_USER_APC 0x28 + 0x16
|
||||||
#define KTHREAD_PENDING_KERNEL_APC 0x28 + 0x15
|
#define KTHREAD_PENDING_KERNEL_APC 0x28 + 0x15
|
||||||
#define KTHREAD_CONTEXT_SWITCHES 0x48
|
#define KTHREAD_CONTEXT_SWITCHES 0x48
|
||||||
#define KTHREAD_STATE 0x4C
|
#define KTHREAD_STATE_ 0x4C
|
||||||
#define KTHREAD_NPX_STATE 0x4D
|
#define KTHREAD_NPX_STATE 0x4D
|
||||||
#define KTHREAD_WAIT_IRQL 0x4E
|
#define KTHREAD_WAIT_IRQL 0x4E
|
||||||
#define KTHREAD_NEXT_PROCESSOR 0x40
|
#define KTHREAD_NEXT_PROCESSOR 0x40
|
||||||
|
@ -615,3 +615,4 @@ Author:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -227,6 +227,12 @@ typedef struct _KEY_FULL_INFORMATION
|
||||||
WCHAR Class[1];
|
WCHAR Class[1];
|
||||||
} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
|
} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _KEY_NAME_INFORMATION
|
||||||
|
{
|
||||||
|
WCHAR Name[1];
|
||||||
|
} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
|
||||||
|
|
||||||
|
|
||||||
typedef struct _KEY_NODE_INFORMATION
|
typedef struct _KEY_NODE_INFORMATION
|
||||||
{
|
{
|
||||||
LARGE_INTEGER LastWriteTime;
|
LARGE_INTEGER LastWriteTime;
|
||||||
|
@ -519,3 +525,4 @@ typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA
|
||||||
#endif // _CMTYPES_H
|
#endif // _CMTYPES_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -737,9 +737,9 @@ typedef struct _SYSTEM_BASIC_INFORMATION
|
||||||
ULONG LowestPhysicalPageNumber;
|
ULONG LowestPhysicalPageNumber;
|
||||||
ULONG HighestPhysicalPageNumber;
|
ULONG HighestPhysicalPageNumber;
|
||||||
ULONG AllocationGranularity;
|
ULONG AllocationGranularity;
|
||||||
ULONG MinimumUserModeAddress;
|
ULONG_PTR MinimumUserModeAddress;
|
||||||
ULONG MaximumUserModeAddress;
|
ULONG_PTR MaximumUserModeAddress;
|
||||||
KAFFINITY ActiveProcessorsAffinityMask;
|
ULONG_PTR ActiveProcessorsAffinityMask;
|
||||||
CCHAR NumberOfProcessors;
|
CCHAR NumberOfProcessors;
|
||||||
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
|
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
|
||||||
|
|
||||||
|
@ -1454,5 +1454,20 @@ typedef struct _SYSTEM_FIRMWARE_TABLE_INFORMATION
|
||||||
ULONG TableBufferLength;
|
ULONG TableBufferLength;
|
||||||
UCHAR TableBuffer[1];
|
UCHAR TableBuffer[1];
|
||||||
} SYSTEM_FIRMWARE_TABLE_INFORMATION, *PSYSTEM_FIRMWARE_TABLE_INFORMATION;
|
} SYSTEM_FIRMWARE_TABLE_INFORMATION, *PSYSTEM_FIRMWARE_TABLE_INFORMATION;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Class 81
|
||||||
|
//
|
||||||
|
typedef struct _SYSTEM_MEMORY_LIST_INFORMATION
|
||||||
|
{
|
||||||
|
SIZE_T ZeroPageCount;
|
||||||
|
SIZE_T FreePageCount;
|
||||||
|
SIZE_T ModifiedPageCount;
|
||||||
|
SIZE_T ModifiedNoWritePageCount;
|
||||||
|
SIZE_T BadPageCount;
|
||||||
|
SIZE_T PageCountByPriority[8];
|
||||||
|
SIZE_T RepurposedPagesByPriority[8];
|
||||||
|
} SYSTEM_MEMORY_LIST_INFORMATION, *PSYSTEM_MEMORY_LIST_INFORMATION;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -15,7 +15,6 @@ Author:
|
||||||
Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
|
Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
|
|
||||||
#ifndef _IOTYPES_H
|
#ifndef _IOTYPES_H
|
||||||
#define _IOTYPES_H
|
#define _IOTYPES_H
|
||||||
|
|
||||||
|
@ -353,6 +352,19 @@ typedef enum _PNP_DEVNODE_STATE
|
||||||
|
|
||||||
#ifdef NTOS_MODE_USER
|
#ifdef NTOS_MODE_USER
|
||||||
|
|
||||||
|
//
|
||||||
|
// I/O Status Block
|
||||||
|
//
|
||||||
|
typedef struct _IO_STATUS_BLOCK
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
PVOID Pointer;
|
||||||
|
};
|
||||||
|
ULONG_PTR Information;
|
||||||
|
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
|
||||||
|
|
||||||
//
|
//
|
||||||
// File Information structures for NtQueryInformationFile
|
// File Information structures for NtQueryInformationFile
|
||||||
//
|
//
|
||||||
|
@ -560,6 +572,13 @@ typedef struct _FILE_DIRECTORY_INFORMATION
|
||||||
WCHAR FileName[1];
|
WCHAR FileName[1];
|
||||||
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
|
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _FILE_IO_COMPLETION_INFORMATION
|
||||||
|
{
|
||||||
|
PVOID KeyContext;
|
||||||
|
PVOID ApcContext;
|
||||||
|
IO_STATUS_BLOCK IoStatusBlock;
|
||||||
|
} FILE_IO_COMPLETION_INFORMATION, *PFILE_IO_COMPLETION_INFORMATION;
|
||||||
|
|
||||||
//
|
//
|
||||||
// File System Information structures for NtQueryInformationFile
|
// File System Information structures for NtQueryInformationFile
|
||||||
//
|
//
|
||||||
|
@ -629,19 +648,6 @@ typedef struct _FILE_PIPE_PEEK_BUFFER
|
||||||
CHAR Data[1];
|
CHAR Data[1];
|
||||||
} FILE_PIPE_PEEK_BUFFER, *PFILE_PIPE_PEEK_BUFFER;
|
} FILE_PIPE_PEEK_BUFFER, *PFILE_PIPE_PEEK_BUFFER;
|
||||||
|
|
||||||
//
|
|
||||||
// I/O Status Block
|
|
||||||
//
|
|
||||||
typedef struct _IO_STATUS_BLOCK
|
|
||||||
{
|
|
||||||
union
|
|
||||||
{
|
|
||||||
NTSTATUS Status;
|
|
||||||
PVOID Pointer;
|
|
||||||
};
|
|
||||||
ULONG_PTR Information;
|
|
||||||
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// I/O Error Log Structures
|
// I/O Error Log Structures
|
||||||
//
|
//
|
||||||
|
|
|
@ -289,10 +289,43 @@ typedef enum _KTHREAD_STATE
|
||||||
Transition,
|
Transition,
|
||||||
DeferredReady,
|
DeferredReady,
|
||||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||||
GateWait,
|
GateWait
|
||||||
#endif
|
#endif
|
||||||
} KTHREAD_STATE, *PKTHREAD_STATE;
|
} KTHREAD_STATE, *PKTHREAD_STATE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Kernel Object Types
|
||||||
|
//
|
||||||
|
typedef enum _KOBJECTS
|
||||||
|
{
|
||||||
|
EventNotificationObject = 0,
|
||||||
|
EventSynchronizationObject = 1,
|
||||||
|
MutantObject = 2,
|
||||||
|
ProcessObject = 3,
|
||||||
|
QueueObject = 4,
|
||||||
|
SemaphoreObject = 5,
|
||||||
|
ThreadObject = 6,
|
||||||
|
GateObject = 7,
|
||||||
|
TimerNotificationObject = 8,
|
||||||
|
TimerSynchronizationObject = 9,
|
||||||
|
Spare2Object = 10,
|
||||||
|
Spare3Object = 11,
|
||||||
|
Spare4Object = 12,
|
||||||
|
Spare5Object = 13,
|
||||||
|
Spare6Object = 14,
|
||||||
|
Spare7Object = 15,
|
||||||
|
Spare8Object = 16,
|
||||||
|
Spare9Object = 17,
|
||||||
|
ApcObject = 18,
|
||||||
|
DpcObject = 19,
|
||||||
|
DeviceQueueObject = 20,
|
||||||
|
EventPairObject = 21,
|
||||||
|
InterruptObject = 22,
|
||||||
|
ProfileObject = 23,
|
||||||
|
ThreadedDpcObject = 24,
|
||||||
|
MaximumKernelObject = 25
|
||||||
|
} KOBJECTS;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Adjust reasons
|
// Adjust reasons
|
||||||
//
|
//
|
||||||
|
@ -667,39 +700,6 @@ typedef struct _KEXECUTE_OPTIONS
|
||||||
UCHAR Spare:2;
|
UCHAR Spare:2;
|
||||||
} KEXECUTE_OPTIONS, *PKEXECUTE_OPTIONS;
|
} KEXECUTE_OPTIONS, *PKEXECUTE_OPTIONS;
|
||||||
|
|
||||||
//
|
|
||||||
// Kernel Object Types
|
|
||||||
//
|
|
||||||
typedef enum _KOBJECTS
|
|
||||||
{
|
|
||||||
EventNotificationObject = 0,
|
|
||||||
EventSynchronizationObject = 1,
|
|
||||||
MutantObject = 2,
|
|
||||||
ProcessObject = 3,
|
|
||||||
QueueObject = 4,
|
|
||||||
SemaphoreObject = 5,
|
|
||||||
ThreadObject = 6,
|
|
||||||
GateObject = 7,
|
|
||||||
TimerNotificationObject = 8,
|
|
||||||
TimerSynchronizationObject = 9,
|
|
||||||
Spare2Object = 10,
|
|
||||||
Spare3Object = 11,
|
|
||||||
Spare4Object = 12,
|
|
||||||
Spare5Object = 13,
|
|
||||||
Spare6Object = 14,
|
|
||||||
Spare7Object = 15,
|
|
||||||
Spare8Object = 16,
|
|
||||||
Spare9Object = 17,
|
|
||||||
ApcObject = 18,
|
|
||||||
DpcObject = 19,
|
|
||||||
DeviceQueueObject = 20,
|
|
||||||
EventPairObject = 21,
|
|
||||||
InterruptObject = 22,
|
|
||||||
ProfileObject = 23,
|
|
||||||
ThreadedDpcObject = 24,
|
|
||||||
MaximumKernelObject = 25
|
|
||||||
} KOBJECTS;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Kernel Thread (KTHREAD)
|
// Kernel Thread (KTHREAD)
|
||||||
//
|
//
|
||||||
|
@ -709,6 +709,7 @@ typedef struct _KTHREAD
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||||
ULONGLONG CycleTime;
|
ULONGLONG CycleTime;
|
||||||
ULONG HighCycleTime;
|
ULONG HighCycleTime;
|
||||||
|
ULONGLONG QuantumTarget;
|
||||||
#else
|
#else
|
||||||
LIST_ENTRY MutantListHead;
|
LIST_ENTRY MutantListHead;
|
||||||
#endif
|
#endif
|
||||||
|
@ -741,8 +742,26 @@ typedef struct _KTHREAD
|
||||||
PKWAIT_BLOCK WaitBlockList;
|
PKWAIT_BLOCK WaitBlockList;
|
||||||
PKGATE GateObject;
|
PKGATE GateObject;
|
||||||
};
|
};
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
ULONG KernelStackResident:1;
|
||||||
|
ULONG ReadyTransition:1;
|
||||||
|
ULONG ProcessReadyQueue:1;
|
||||||
|
ULONG WaitNext:1;
|
||||||
|
ULONG SystemAffinityActive:1;
|
||||||
|
ULONG Alertable:1;
|
||||||
|
ULONG GdiFlushActive:1;
|
||||||
|
ULONG Reserved:25;
|
||||||
|
};
|
||||||
|
LONG MiscFlags;
|
||||||
|
};
|
||||||
|
#else
|
||||||
BOOLEAN Alertable;
|
BOOLEAN Alertable;
|
||||||
BOOLEAN WaitNext;
|
BOOLEAN WaitNext;
|
||||||
|
#endif
|
||||||
UCHAR WaitReason;
|
UCHAR WaitReason;
|
||||||
SCHAR Priority;
|
SCHAR Priority;
|
||||||
BOOLEAN EnableStackSwap;
|
BOOLEAN EnableStackSwap;
|
||||||
|
@ -796,7 +815,11 @@ typedef struct _KTHREAD
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
UCHAR WaitBlockFill0[23];
|
UCHAR WaitBlockFill0[23];
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||||
|
UCHAR IdealProcessor;
|
||||||
|
#else
|
||||||
BOOLEAN SystemAffinityActive;
|
BOOLEAN SystemAffinityActive;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -822,31 +845,22 @@ typedef struct _KTHREAD
|
||||||
PVOID CallbackStack;
|
PVOID CallbackStack;
|
||||||
PVOID ServiceTable;
|
PVOID ServiceTable;
|
||||||
UCHAR ApcStateIndex;
|
UCHAR ApcStateIndex;
|
||||||
|
#if (NTDDI_VERSION < NTDDI_LONGHORN)
|
||||||
UCHAR IdealProcessor;
|
UCHAR IdealProcessor;
|
||||||
|
#endif
|
||||||
BOOLEAN Preempted;
|
BOOLEAN Preempted;
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||||
BOOLEAN CalloutActive;
|
BOOLEAN CalloutActive;
|
||||||
#else
|
#else
|
||||||
BOOLEAN ProcessReadyQueue;
|
BOOLEAN ProcessReadyQueue;
|
||||||
#endif
|
|
||||||
BOOLEAN KernelStackResident;
|
BOOLEAN KernelStackResident;
|
||||||
|
#endif
|
||||||
SCHAR BasePriority;
|
SCHAR BasePriority;
|
||||||
SCHAR PriorityDecrement;
|
SCHAR PriorityDecrement;
|
||||||
CHAR Saturation;
|
CHAR Saturation;
|
||||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||||
ULONG SystemCallNumber;
|
ULONG SystemCallNumber;
|
||||||
union
|
ULONG Spare2;
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
ULONG Reserved0:1;
|
|
||||||
ULONG ReadyTransition:1;
|
|
||||||
ULONG ProcessReadyQueue:1;
|
|
||||||
ULONG Reserved2:1;
|
|
||||||
ULONG Reserved3:28;
|
|
||||||
};
|
|
||||||
LONG MiscFlags;
|
|
||||||
};
|
|
||||||
#endif
|
#endif
|
||||||
KAFFINITY UserAffinity;
|
KAFFINITY UserAffinity;
|
||||||
struct _KPROCESS *Process;
|
struct _KPROCESS *Process;
|
||||||
|
|
|
@ -47,6 +47,22 @@ Author:
|
||||||
#define TAG(A, B, C, D) \
|
#define TAG(A, B, C, D) \
|
||||||
(ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
|
(ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
|
||||||
|
|
||||||
|
//
|
||||||
|
// PFN Identity Uses
|
||||||
|
//
|
||||||
|
#define MMPFNUSE_PROCESSPRIVATE 0
|
||||||
|
#define MMPFNUSE_FILE 1
|
||||||
|
#define MMPFNUSE_PAGEFILEMAPPED 2
|
||||||
|
#define MMPFNUSE_PAGETABLE 3
|
||||||
|
#define MMPFNUSE_PAGEDPOOL 4
|
||||||
|
#define MMPFNUSE_NONPAGEDPOOL 5
|
||||||
|
#define MMPFNUSE_SYSTEMPTE 6
|
||||||
|
#define MMPFNUSE_SESSIONPRIVATE 7
|
||||||
|
#define MMPFNUSE_METAFILE 8
|
||||||
|
#define MMPFNUSE_AWEPAGE 9
|
||||||
|
#define MMPFNUSE_DRIVERLOCKPAGE 10
|
||||||
|
#define MMPFNUSE_KERNELSTACK 11
|
||||||
|
|
||||||
#ifndef NTOS_MODE_USER
|
#ifndef NTOS_MODE_USER
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -105,6 +121,21 @@ typedef enum _POOL_TYPE
|
||||||
} POOL_TYPE;
|
} POOL_TYPE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Memory Manager Page Lists
|
||||||
|
//
|
||||||
|
typedef enum _MMLISTS
|
||||||
|
{
|
||||||
|
ZeroedPageList = 0,
|
||||||
|
FreePageList = 1,
|
||||||
|
StandbyPageList = 2,
|
||||||
|
ModifiedPageList = 3,
|
||||||
|
ModifiedNoWritePageList = 4,
|
||||||
|
BadPageList = 5,
|
||||||
|
ActiveAndValid = 6,
|
||||||
|
TransitionPage = 7
|
||||||
|
} MMLISTS;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Per Processor Non Paged Lookaside List IDs
|
// Per Processor Non Paged Lookaside List IDs
|
||||||
//
|
//
|
||||||
|
@ -177,6 +208,68 @@ typedef struct _VM_COUNTERS_EX
|
||||||
} VM_COUNTERS_EX, *PVM_COUNTERS_EX;
|
} VM_COUNTERS_EX, *PVM_COUNTERS_EX;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Sub-Information Types for PFN Identity
|
||||||
|
//
|
||||||
|
typedef struct _MEMORY_FRAME_INFORMATION
|
||||||
|
{
|
||||||
|
ULONGLONG UseDescription:4;
|
||||||
|
ULONGLONG ListDescription:3;
|
||||||
|
ULONGLONG Reserved0:1;
|
||||||
|
ULONGLONG Pinned:1;
|
||||||
|
ULONGLONG DontUse:48;
|
||||||
|
ULONGLONG Priority:3;
|
||||||
|
ULONGLONG Reserved:4;
|
||||||
|
} MEMORY_FRAME_INFORMATION, *PMEMORY_FRAME_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _FILEOFFSET_INFORMATION
|
||||||
|
{
|
||||||
|
ULONGLONG DontUse:9;
|
||||||
|
ULONGLONG Offset:48;
|
||||||
|
ULONGLONG Reserved:7;
|
||||||
|
} FILEOFFSET_INFORMATION, *PFILEOFFSET_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _PAGEDIR_INFORMATION
|
||||||
|
{
|
||||||
|
ULONGLONG DontUse:9;
|
||||||
|
ULONGLONG PageDirectoryBase:48;
|
||||||
|
ULONGLONG Reserved:7;
|
||||||
|
} PAGEDIR_INFORMATION, *PPAGEDIR_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _UNIQUE_PROCESS_INFORMATION
|
||||||
|
{
|
||||||
|
ULONGLONG DontUse:9;
|
||||||
|
ULONGLONG UniqueProcessKey:48;
|
||||||
|
ULONGLONG Reserved:7;
|
||||||
|
} UNIQUE_PROCESS_INFORMATION, *PUNIQUE_PROCESS_INFORMATION;
|
||||||
|
|
||||||
|
//
|
||||||
|
// PFN Identity Data Structure
|
||||||
|
//
|
||||||
|
typedef struct _MMPFN_IDENTITY
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
MEMORY_FRAME_INFORMATION e1;
|
||||||
|
FILEOFFSET_INFORMATION e2;
|
||||||
|
PAGEDIR_INFORMATION e3;
|
||||||
|
UNIQUE_PROCESS_INFORMATION e4;
|
||||||
|
} u1;
|
||||||
|
SIZE_T PageFrameIndex;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
ULONG Image:1;
|
||||||
|
ULONG Mismatch:1;
|
||||||
|
} e1;
|
||||||
|
PVOID FileObject;
|
||||||
|
PVOID UniqueFileObjectKey;
|
||||||
|
PVOID ProtoPteAddress;
|
||||||
|
PVOID VirtualAddress;
|
||||||
|
} u2;
|
||||||
|
} MMPFN_IDENTITY, *PMMPFN_IDENTITY;
|
||||||
|
|
||||||
//
|
//
|
||||||
// List of Working Sets
|
// List of Working Sets
|
||||||
//
|
//
|
||||||
|
|
|
@ -2416,6 +2416,21 @@ RtlSetBits(
|
||||||
IN ULONG NumberToSet
|
IN ULONG NumberToSet
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlSetAllBits(
|
||||||
|
PRTL_BITMAP BitMapHeader
|
||||||
|
);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlTestBit(
|
||||||
|
PRTL_BITMAP BitMapHeader,
|
||||||
|
ULONG BitNumber
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Timer Functions
|
// Timer Functions
|
||||||
//
|
//
|
||||||
|
|
|
@ -225,6 +225,11 @@ C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
|
||||||
#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
|
#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
|
||||||
#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
|
#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
|
||||||
|
|
||||||
|
//
|
||||||
|
// RtlFindCharInUnicodeString Flags
|
||||||
|
//
|
||||||
|
#define RTL_FIND_CHAR_IN_UNICODE_STRING_CASE_INSENSITIVE 4
|
||||||
|
|
||||||
//
|
//
|
||||||
// Codepages
|
// Codepages
|
||||||
//
|
//
|
||||||
|
|
|
@ -249,13 +249,6 @@ LdrLoadDll(
|
||||||
OUT PVOID *BaseAddress OPTIONAL
|
OUT PVOID *BaseAddress OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
PVOID
|
|
||||||
NTAPI
|
|
||||||
RtlPcToFileHeader(
|
|
||||||
IN PVOID PcValue,
|
|
||||||
PVOID* BaseOfImage
|
|
||||||
);
|
|
||||||
|
|
||||||
PIMAGE_BASE_RELOCATION
|
PIMAGE_BASE_RELOCATION
|
||||||
NTAPI
|
NTAPI
|
||||||
LdrProcessRelocationBlock(
|
LdrProcessRelocationBlock(
|
||||||
|
|
|
@ -2900,6 +2900,14 @@ typedef struct _RTL_CRITICAL_SECTION {
|
||||||
} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
|
} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlPcToFileHeader(
|
||||||
|
IN PVOID PcValue,
|
||||||
|
PVOID* BaseOfImage
|
||||||
|
);
|
||||||
|
|
||||||
NTSYSAPI
|
NTSYSAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
|
|
@ -727,7 +727,7 @@ CheckNext:
|
||||||
mov [ebx+KPCR_CURRENT_THREAD], esi
|
mov [ebx+KPCR_CURRENT_THREAD], esi
|
||||||
|
|
||||||
/* Set the thread as running */
|
/* Set the thread as running */
|
||||||
mov byte ptr [esi+KTHREAD_STATE], Running
|
mov byte ptr [esi+KTHREAD_STATE_], Running
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
/* Disable the idle scheduler and release the PRCB lock */
|
/* Disable the idle scheduler and release the PRCB lock */
|
||||||
|
@ -752,7 +752,7 @@ SameThread:
|
||||||
/* Clear the next thread, and put the thready as ready after lock release */
|
/* Clear the next thread, and put the thready as ready after lock release */
|
||||||
and dword ptr [ebx+KPCR_PRCB_NEXT_THREAD], 0
|
and dword ptr [ebx+KPCR_PRCB_NEXT_THREAD], 0
|
||||||
and dword ptr [ebx+KPCR_PRCB_PRCB_LOCK], 0
|
and dword ptr [ebx+KPCR_PRCB_PRCB_LOCK], 0
|
||||||
and byte ptr [edi+KTHREAD_STATE], Ready
|
and byte ptr [edi+KTHREAD_STATE_], Ready
|
||||||
jmp MainLoop
|
jmp MainLoop
|
||||||
|
|
||||||
NoNextThread:
|
NoNextThread:
|
||||||
|
|
|
@ -2387,7 +2387,7 @@ CheckQuantum:
|
||||||
|
|
||||||
/* Set us as the current running thread */
|
/* Set us as the current running thread */
|
||||||
mov [ebx+KPCR_CURRENT_THREAD], esi
|
mov [ebx+KPCR_CURRENT_THREAD], esi
|
||||||
mov byte ptr [esi+KTHREAD_STATE], Running
|
mov byte ptr [esi+KTHREAD_STATE_], Running
|
||||||
mov byte ptr [edi+KTHREAD_WAIT_REASON], WrDispatchInt
|
mov byte ptr [edi+KTHREAD_WAIT_REASON], WrDispatchInt
|
||||||
|
|
||||||
/* Put thread in ECX and get the PRCB in EDX */
|
/* Put thread in ECX and get the PRCB in EDX */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue