mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
[NTDDK]
- Move several ntddk.h related definition from winddk.h - Group related definitions - Add CONTEXT_XSTATE definition - RtlUpperString and RtlCopyString : constify SourceString - RtlCompareString and RtlEqualString : constify the first two params - Update guards around IoAllocateAdapterChannel - Remove duplicate IoRegisterBootDriverReinitialization svn path=/branches/header-work/; revision=46064
This commit is contained in:
parent
48343bce8c
commit
ba51f319e5
2 changed files with 466 additions and 431 deletions
|
@ -27,15 +27,26 @@
|
|||
#ifndef _NTDDK_
|
||||
#define _NTDDK_
|
||||
|
||||
//
|
||||
// Dependencies
|
||||
//
|
||||
#if !defined(_NTHAL_) && !defined(_NTIFS_)
|
||||
#define _NTDDK_INCLUDED_
|
||||
#define _DDK_DRIVER_
|
||||
#endif
|
||||
|
||||
/* Dependencies */
|
||||
|
||||
#define NT_INCLUDED
|
||||
#define _CTYPE_DISABLE_MACROS
|
||||
|
||||
#include <wdm.h>
|
||||
#include <excpt.h>
|
||||
#include <ntdef.h>
|
||||
#include <ntstatus.h>
|
||||
|
||||
/* FIXME
|
||||
#include <bugcodes.h>
|
||||
#include <ntiologc.h>
|
||||
*/
|
||||
|
||||
#include <stdarg.h> // FIXME
|
||||
#include <basetyps.h> // FIXME
|
||||
|
||||
|
@ -49,6 +60,458 @@
|
|||
#endif
|
||||
typedef GUID UUID;
|
||||
|
||||
typedef struct _BUS_HANDLER *PBUS_HANDLER;
|
||||
|
||||
#define KERNEL_STACK_SIZE 12288
|
||||
#define KERNEL_LARGE_STACK_SIZE 61440
|
||||
#define KERNEL_LARGE_STACK_COMMIT 12288
|
||||
|
||||
#ifdef _X86_
|
||||
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
ULONG ControlWord;
|
||||
ULONG StatusWord;
|
||||
ULONG TagWord;
|
||||
ULONG ErrorOffset;
|
||||
ULONG ErrorSelector;
|
||||
ULONG DataOffset;
|
||||
ULONG DataSelector;
|
||||
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||
ULONG Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
|
||||
#include "pshpack4.h"
|
||||
typedef struct _CONTEXT {
|
||||
ULONG ContextFlags;
|
||||
ULONG Dr0;
|
||||
ULONG Dr1;
|
||||
ULONG Dr2;
|
||||
ULONG Dr3;
|
||||
ULONG Dr6;
|
||||
ULONG Dr7;
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
ULONG SegGs;
|
||||
ULONG SegFs;
|
||||
ULONG SegEs;
|
||||
ULONG SegDs;
|
||||
ULONG Edi;
|
||||
ULONG Esi;
|
||||
ULONG Ebx;
|
||||
ULONG Edx;
|
||||
ULONG Ecx;
|
||||
ULONG Eax;
|
||||
ULONG Ebp;
|
||||
ULONG Eip;
|
||||
ULONG SegCs;
|
||||
ULONG EFlags;
|
||||
ULONG Esp;
|
||||
ULONG SegSs;
|
||||
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
||||
} CONTEXT, *PCONTEXT;
|
||||
#include "poppack.h"
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _AMD64_
|
||||
|
||||
#if !defined(RC_INVOKED)
|
||||
|
||||
#define CONTEXT_AMD64 0x100000
|
||||
|
||||
#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)
|
||||
#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)
|
||||
#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
|
||||
#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
|
||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
|
||||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
|
||||
#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
|
||||
|
||||
#define CONTEXT_XSTATE (CONTEXT_AMD64 | 0x20L)
|
||||
|
||||
#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
|
||||
#define CONTEXT_SERVICE_ACTIVE 0x10000000
|
||||
#define CONTEXT_EXCEPTION_REQUEST 0x40000000
|
||||
#define CONTEXT_EXCEPTION_REPORTING 0x80000000
|
||||
|
||||
#endif
|
||||
|
||||
typedef enum _INTERLOCKED_RESULT {
|
||||
ResultNegative = RESULT_NEGATIVE,
|
||||
ResultZero = RESULT_ZERO,
|
||||
ResultPositive = RESULT_POSITIVE
|
||||
} INTERLOCKED_RESULT;
|
||||
|
||||
#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
|
||||
|
||||
#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
|
||||
*CallersAddress = (PVOID)_ReturnAddress(); \
|
||||
*CallersCaller = NULL;
|
||||
#else
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlGetCallersAddress(
|
||||
OUT PVOID *CallersAddress,
|
||||
OUT PVOID *CallersCaller);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(MIDL_PASS)
|
||||
|
||||
FORCEINLINE
|
||||
LUID
|
||||
NTAPI_INLINE
|
||||
RtlConvertLongToLuid(
|
||||
IN LONG Val)
|
||||
{
|
||||
LUID Luid;
|
||||
LARGE_INTEGER Temp;
|
||||
|
||||
Temp.QuadPart = Val;
|
||||
Luid.LowPart = Temp.u.LowPart;
|
||||
Luid.HighPart = Temp.u.HighPart;
|
||||
return Luid;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
LUID
|
||||
NTAPI_INLINE
|
||||
RtlConvertUlongToLuid(
|
||||
IN ULONG Val)
|
||||
{
|
||||
LUID Luid;
|
||||
|
||||
Luid.LowPart = Val;
|
||||
Luid.HighPart = 0;
|
||||
return Luid;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlPrefixUnicodeString(
|
||||
IN PCUNICODE_STRING String1,
|
||||
IN PCUNICODE_STRING String2,
|
||||
IN BOOLEAN CaseInSensitive);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlUpperString(
|
||||
IN OUT PSTRING DestinationString,
|
||||
IN const PSTRING SourceString);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlUpcaseUnicodeString(
|
||||
IN OUT PUNICODE_STRING DestinationString,
|
||||
IN PCUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlMapGenericMask(
|
||||
IN OUT PACCESS_MASK AccessMask,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlVolumeDeviceToDosName(
|
||||
IN PVOID VolumeDeviceObject,
|
||||
OUT PUNICODE_STRING DosName);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlGetVersion(
|
||||
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlVerifyVersionInfo(
|
||||
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
||||
IN ULONG TypeMask,
|
||||
IN ULONGLONG ConditionMask);
|
||||
|
||||
NTSYSAPI
|
||||
LONG
|
||||
NTAPI
|
||||
RtlCompareString(
|
||||
IN const PSTRING String1,
|
||||
IN const PSTRING String2,
|
||||
BOOLEAN CaseInSensitive);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlCopyString(
|
||||
OUT PSTRING DestinationString,
|
||||
IN const PSTRING SourceString OPTIONAL);
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlEqualString(
|
||||
IN const PSTRING String1,
|
||||
IN const PSTRING String2,
|
||||
IN BOOLEAN CaseInSensitive);
|
||||
|
||||
#endif
|
||||
|
||||
/* Executive Types */
|
||||
|
||||
#define PROTECTED_POOL 0x80000000
|
||||
|
||||
typedef struct _ZONE_SEGMENT_HEADER {
|
||||
SINGLE_LIST_ENTRY SegmentList;
|
||||
PVOID Reserved;
|
||||
} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
|
||||
|
||||
typedef struct _ZONE_HEADER {
|
||||
SINGLE_LIST_ENTRY FreeList;
|
||||
SINGLE_LIST_ENTRY SegmentList;
|
||||
ULONG BlockSize;
|
||||
ULONG TotalSegmentSize;
|
||||
} ZONE_HEADER, *PZONE_HEADER;
|
||||
|
||||
/* Executive Functions */
|
||||
|
||||
/*
|
||||
* BOOLEAN
|
||||
* ExIsFullZone(
|
||||
* IN PZONE_HEADER Zone)
|
||||
*/
|
||||
#define ExIsFullZone(Zone) \
|
||||
((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
|
||||
|
||||
/* BOOLEAN
|
||||
* ExIsObjectInFirstZoneSegment(
|
||||
* IN PZONE_HEADER Zone,
|
||||
* IN PVOID Object);
|
||||
*/
|
||||
#define ExIsObjectInFirstZoneSegment(Zone,Object) \
|
||||
((BOOLEAN)( ((PUCHAR)(Object) >= (PUCHAR)(Zone)->SegmentList.Next) && \
|
||||
((PUCHAR)(Object) < (PUCHAR)(Zone)->SegmentList.Next + \
|
||||
(Zone)->TotalSegmentSize)) )
|
||||
|
||||
#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
|
||||
#define ExAcquireResourceShared ExAcquireResourceSharedLite
|
||||
#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
|
||||
#define ExDeleteResource ExDeleteResourceLite
|
||||
#define ExInitializeResource ExInitializeResourceLite
|
||||
#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
|
||||
#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
|
||||
#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
|
||||
#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExExtendZone(
|
||||
IN OUT PZONE_HEADER Zone,
|
||||
IN OUT PVOID Segment,
|
||||
IN ULONG SegmentSize);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExInitializeZone(
|
||||
OUT PZONE_HEADER Zone,
|
||||
IN ULONG BlockSize,
|
||||
IN OUT PVOID InitialSegment,
|
||||
IN ULONG InitialSegmentSize);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExInterlockedExtendZone(
|
||||
IN OUT PZONE_HEADER Zone,
|
||||
IN OUT PVOID Segment,
|
||||
IN ULONG SegmentSize,
|
||||
IN OUT PKSPIN_LOCK Lock);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExUuidCreate(
|
||||
OUT UUID *Uuid);
|
||||
|
||||
#endif
|
||||
|
||||
/* I/O Manager Functions */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
#if !(defined(USE_DMA_MACROS) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_))
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoAllocateAdapterChannel(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG NumberOfMapRegisters,
|
||||
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||
IN PVOID Context);
|
||||
#endif
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
IoMapTransfer(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PMDL Mdl,
|
||||
IN PVOID MapRegisterBase,
|
||||
IN PVOID CurrentVa,
|
||||
IN OUT PULONG Length,
|
||||
IN BOOLEAN WriteToDevice);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoAllocateController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||
IN PVOID Context OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
PCONTROLLER_OBJECT
|
||||
NTAPI
|
||||
IoCreateController(
|
||||
IN ULONG Size);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoDeleteController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject);
|
||||
|
||||
NTKERNELAPI
|
||||
PCONFIGURATION_INFORMATION
|
||||
NTAPI
|
||||
IoGetConfigurationInformation(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PDEVICE_OBJECT
|
||||
NTAPI
|
||||
IoGetDeviceToVerify(
|
||||
IN PETHREAD Thread);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoCancelFileOpen(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PFILE_OBJECT FileObject);
|
||||
|
||||
NTKERNELAPI
|
||||
PGENERIC_MAPPING
|
||||
NTAPI
|
||||
IoGetFileObjectGenericMapping(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PIRP
|
||||
NTAPI
|
||||
IoMakeAssociatedIrp(
|
||||
IN PIRP Irp,
|
||||
IN CCHAR StackSize);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoQueryDeviceDescription(
|
||||
IN PINTERFACE_TYPE BusType OPTIONAL,
|
||||
IN PULONG BusNumber OPTIONAL,
|
||||
IN PCONFIGURATION_TYPE ControllerType OPTIONAL,
|
||||
IN PULONG ControllerNumber OPTIONAL,
|
||||
IN PCONFIGURATION_TYPE PeripheralType OPTIONAL,
|
||||
IN PULONG PeripheralNumber OPTIONAL,
|
||||
IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
||||
IN OUT PVOID Context OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRaiseHardError(
|
||||
IN PIRP Irp,
|
||||
IN PVPB Vpb OPTIONAL,
|
||||
IN PDEVICE_OBJECT RealDeviceObject);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IoRaiseInformationalHardError(
|
||||
IN NTSTATUS ErrorStatus,
|
||||
IN PUNICODE_STRING String OPTIONAL,
|
||||
IN PKTHREAD Thread OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRegisterBootDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRegisterDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoAttachDeviceByPointer(
|
||||
IN PDEVICE_OBJECT SourceDevice,
|
||||
IN PDEVICE_OBJECT TargetDevice);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
/* Memory Manager Functions */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTKERNELAPI
|
||||
PPHYSICAL_MEMORY_RANGE
|
||||
NTAPI
|
||||
MmGetPhysicalMemoryRanges(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
MmGetPhysicalAddress(
|
||||
IN PVOID BaseAddress);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
/* Windows Device Driver Kit */
|
||||
#include "winddk.h"
|
||||
|
|
|
@ -81,8 +81,6 @@ struct _DRIVE_LAYOUT_INFORMATION_EX;
|
|||
struct _LOADER_PARAMETER_BLOCK;
|
||||
struct _BUS_HANDLER;
|
||||
|
||||
typedef struct _BUS_HANDLER *PBUS_HANDLER;
|
||||
|
||||
#if 1
|
||||
/* FIXME: Unknown definitions */
|
||||
struct _SET_PARTITION_INFORMATION_EX;
|
||||
|
@ -103,10 +101,6 @@ typedef enum
|
|||
IrpForward // Irp is wmi irp, but targeted at another device object
|
||||
} SYSCTL_IRP_DISPOSITION, *PSYSCTL_IRP_DISPOSITION;
|
||||
|
||||
#define KERNEL_STACK_SIZE 12288
|
||||
#define KERNEL_LARGE_STACK_SIZE 61440
|
||||
#define KERNEL_LARGE_STACK_COMMIT 12288
|
||||
|
||||
#define EXCEPTION_READ_FAULT 0
|
||||
#define EXCEPTION_WRITE_FAULT 1
|
||||
#define EXCEPTION_EXECUTE_FAULT 8
|
||||
|
@ -1585,7 +1579,6 @@ typedef VOID
|
|||
|
||||
#ifdef _X86_
|
||||
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
#define CONTEXT_i386 0x10000
|
||||
#define CONTEXT_i486 0x10000
|
||||
#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
|
||||
|
@ -1596,46 +1589,6 @@ typedef VOID
|
|||
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
ULONG ControlWord;
|
||||
ULONG StatusWord;
|
||||
ULONG TagWord;
|
||||
ULONG ErrorOffset;
|
||||
ULONG ErrorSelector;
|
||||
ULONG DataOffset;
|
||||
ULONG DataSelector;
|
||||
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||
ULONG Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _CONTEXT {
|
||||
ULONG ContextFlags;
|
||||
ULONG Dr0;
|
||||
ULONG Dr1;
|
||||
ULONG Dr2;
|
||||
ULONG Dr3;
|
||||
ULONG Dr6;
|
||||
ULONG Dr7;
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
ULONG SegGs;
|
||||
ULONG SegFs;
|
||||
ULONG SegEs;
|
||||
ULONG SegDs;
|
||||
ULONG Edi;
|
||||
ULONG Esi;
|
||||
ULONG Ebx;
|
||||
ULONG Edx;
|
||||
ULONG Ecx;
|
||||
ULONG Eax;
|
||||
ULONG Ebp;
|
||||
ULONG Eip;
|
||||
ULONG SegCs;
|
||||
ULONG EFlags;
|
||||
ULONG Esp;
|
||||
ULONG SegSs;
|
||||
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
||||
} CONTEXT;
|
||||
|
||||
typedef struct _KPCR_TIB {
|
||||
PVOID ExceptionList; /* 00 */
|
||||
PVOID StackBase; /* 04 */
|
||||
|
@ -1699,23 +1652,6 @@ extern NTKERNELAPI ULONG_PTR MmUserProbeAddress;
|
|||
|
||||
#elif defined(__x86_64__)
|
||||
|
||||
#define CONTEXT_AMD64 0x100000
|
||||
#if !defined(RC_INVOKED)
|
||||
#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)
|
||||
#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)
|
||||
#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
|
||||
#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
|
||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
|
||||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
|
||||
#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
|
||||
|
||||
#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
|
||||
#define CONTEXT_SERVICE_ACTIVE 0x10000000
|
||||
#define CONTEXT_EXCEPTION_REQUEST 0x40000000
|
||||
#define CONTEXT_EXCEPTION_REPORTING 0x80000000
|
||||
#endif
|
||||
|
||||
typedef struct DECLSPEC_ALIGN(16) _CONTEXT {
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
|
@ -2030,12 +1966,6 @@ KeGetCurrentProcessorNumber(VOID)
|
|||
#error Unknown architecture
|
||||
#endif
|
||||
|
||||
typedef enum _INTERLOCKED_RESULT {
|
||||
ResultNegative = RESULT_NEGATIVE,
|
||||
ResultZero = RESULT_ZERO,
|
||||
ResultPositive = RESULT_POSITIVE
|
||||
} INTERLOCKED_RESULT;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PciPin2Line)(
|
||||
IN struct _BUS_HANDLER *BusHandler,
|
||||
|
@ -2231,48 +2161,6 @@ RtlCharToInteger(
|
|||
IN ULONG Base OPTIONAL,
|
||||
IN OUT PULONG Value);
|
||||
|
||||
NTSYSAPI
|
||||
LONG
|
||||
NTAPI
|
||||
RtlCompareString(
|
||||
IN PSTRING String1,
|
||||
IN PSTRING String2,
|
||||
BOOLEAN CaseInSensitive);
|
||||
|
||||
#if !defined(MIDL_PASS)
|
||||
|
||||
FORCEINLINE
|
||||
LUID
|
||||
NTAPI
|
||||
RtlConvertLongToLuid(
|
||||
IN LONG Val)
|
||||
{
|
||||
LUID Luid;
|
||||
LARGE_INTEGER Temp;
|
||||
|
||||
Temp.QuadPart = Val;
|
||||
Luid.LowPart = Temp.u.LowPart;
|
||||
Luid.HighPart = Temp.u.HighPart;
|
||||
|
||||
return Luid;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
LUID
|
||||
NTAPI
|
||||
RtlConvertUlongToLuid(
|
||||
IN ULONG Val)
|
||||
{
|
||||
LUID Luid;
|
||||
|
||||
Luid.LowPart = Val;
|
||||
Luid.HighPart = 0;
|
||||
|
||||
return Luid;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -2281,91 +2169,12 @@ RtlCopyMemory32(
|
|||
IN CONST VOID UNALIGNED *Source,
|
||||
IN ULONG Length);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlCopyString(
|
||||
IN OUT PSTRING DestinationString,
|
||||
IN PSTRING SourceString OPTIONAL);
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlEqualString(
|
||||
IN PSTRING String1,
|
||||
IN PSTRING String2,
|
||||
IN BOOLEAN CaseInSensitive);
|
||||
|
||||
#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
|
||||
#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
|
||||
*CallersAddress = (PVOID)_ReturnAddress(); \
|
||||
*CallersCaller = NULL;
|
||||
#else
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlGetCallersAddress(
|
||||
OUT PVOID *CallersAddress,
|
||||
OUT PVOID *CallersCaller);
|
||||
#endif
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlGetVersion(
|
||||
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlMapGenericMask(
|
||||
IN OUT PACCESS_MASK AccessMask,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
RtlPrefixUnicodeString(
|
||||
IN PCUNICODE_STRING String1,
|
||||
IN PCUNICODE_STRING String2,
|
||||
IN BOOLEAN CaseInSensitive);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlUpcaseUnicodeString(
|
||||
IN OUT PUNICODE_STRING DestinationString OPTIONAL,
|
||||
IN PCUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString);
|
||||
|
||||
NTSYSAPI
|
||||
CHAR
|
||||
NTAPI
|
||||
RtlUpperChar(
|
||||
IN CHAR Character);
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlUpperString(
|
||||
IN OUT PSTRING DestinationString,
|
||||
IN PSTRING SourceString);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlVerifyVersionInfo(
|
||||
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
||||
IN ULONG TypeMask,
|
||||
IN ULONGLONG ConditionMask);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlVolumeDeviceToDosName(
|
||||
IN PVOID VolumeDeviceObject,
|
||||
OUT PUNICODE_STRING DosName);
|
||||
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
|
@ -2374,36 +2183,6 @@ RtlWalkFrameChain(
|
|||
IN ULONG Count,
|
||||
IN ULONG Flags);
|
||||
|
||||
/******************************************************************************
|
||||
* Executive Types *
|
||||
******************************************************************************/
|
||||
|
||||
typedef struct _ZONE_SEGMENT_HEADER {
|
||||
SINGLE_LIST_ENTRY SegmentList;
|
||||
PVOID Reserved;
|
||||
} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
|
||||
|
||||
typedef struct _ZONE_HEADER {
|
||||
SINGLE_LIST_ENTRY FreeList;
|
||||
SINGLE_LIST_ENTRY SegmentList;
|
||||
ULONG BlockSize;
|
||||
ULONG TotalSegmentSize;
|
||||
} ZONE_HEADER, *PZONE_HEADER;
|
||||
|
||||
#define PROTECTED_POOL 0x80000000
|
||||
|
||||
/******************************************************************************
|
||||
* Executive Functions *
|
||||
******************************************************************************/
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExExtendZone(
|
||||
IN PZONE_HEADER Zone,
|
||||
IN PVOID Segment,
|
||||
IN ULONG SegmentSize);
|
||||
|
||||
static __inline PVOID
|
||||
ExAllocateFromZone(
|
||||
IN PZONE_HEADER Zone)
|
||||
|
@ -2423,15 +2202,6 @@ ExFreeToZone(
|
|||
return ((PSINGLE_LIST_ENTRY) Block)->Next;
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExInitializeZone(
|
||||
IN PZONE_HEADER Zone,
|
||||
IN ULONG BlockSize,
|
||||
IN PVOID InitialSegment,
|
||||
IN ULONG InitialSegmentSize);
|
||||
|
||||
/*
|
||||
* PVOID
|
||||
* ExInterlockedAllocateFromZone(
|
||||
|
@ -2441,15 +2211,6 @@ ExInitializeZone(
|
|||
#define ExInterlockedAllocateFromZone(Zone, Lock) \
|
||||
((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExInterlockedExtendZone(
|
||||
IN PZONE_HEADER Zone,
|
||||
IN PVOID Segment,
|
||||
IN ULONG SegmentSize,
|
||||
IN PKSPIN_LOCK Lock);
|
||||
|
||||
/* PVOID
|
||||
* ExInterlockedFreeToZone(
|
||||
* IN PZONE_HEADER Zone,
|
||||
|
@ -2459,24 +2220,6 @@ ExInterlockedExtendZone(
|
|||
#define ExInterlockedFreeToZone(Zone, Block, Lock) \
|
||||
ExInterlockedPushEntryList(&(Zone)->FreeList, (PSINGLE_LIST_ENTRY)(Block), Lock)
|
||||
|
||||
/*
|
||||
* BOOLEAN
|
||||
* ExIsFullZone(
|
||||
* IN PZONE_HEADER Zone)
|
||||
*/
|
||||
#define ExIsFullZone(Zone) \
|
||||
((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
|
||||
|
||||
/* BOOLEAN
|
||||
* ExIsObjectInFirstZoneSegment(
|
||||
* IN PZONE_HEADER Zone,
|
||||
* IN PVOID Object);
|
||||
*/
|
||||
#define ExIsObjectInFirstZoneSegment(Zone,Object) \
|
||||
((BOOLEAN)( ((PUCHAR)(Object) >= (PUCHAR)(Zone)->SegmentList.Next) && \
|
||||
((PUCHAR)(Object) < (PUCHAR)(Zone)->SegmentList.Next + \
|
||||
(Zone)->TotalSegmentSize)) )
|
||||
|
||||
NTKERNELAPI
|
||||
DECLSPEC_NORETURN
|
||||
VOID
|
||||
|
@ -2491,22 +2234,6 @@ NTAPI
|
|||
ExRaiseDatatypeMisalignment(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ExUuidCreate(
|
||||
OUT UUID *Uuid);
|
||||
|
||||
#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
|
||||
#define ExAcquireResourceShared ExAcquireResourceSharedLite
|
||||
#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
|
||||
#define ExDeleteResource ExDeleteResourceLite
|
||||
#define ExInitializeResource ExInitializeResourceLite
|
||||
#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
|
||||
#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
|
||||
#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
|
||||
#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
|
||||
|
||||
/** Filesystem runtime library routines **/
|
||||
|
||||
NTKERNELAPI
|
||||
|
@ -2540,27 +2267,6 @@ HalPutDmaAdapter(
|
|||
|
||||
/** I/O manager routines **/
|
||||
|
||||
#ifndef DMA_MACROS_DEFINED
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoAllocateAdapterChannel(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG NumberOfMapRegisters,
|
||||
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||
IN PVOID Context);
|
||||
#endif
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoAllocateController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PDRIVER_CONTROL ExecutionRoutine,
|
||||
IN PVOID Context);
|
||||
|
||||
/*
|
||||
* VOID IoAssignArcName(
|
||||
* IN PUNICODE_STRING ArcName,
|
||||
|
@ -2569,19 +2275,6 @@ IoAllocateController(
|
|||
#define IoAssignArcName(_ArcName, _DeviceName) ( \
|
||||
IoCreateSymbolicLink((_ArcName), (_DeviceName)))
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoCancelFileOpen(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PFILE_OBJECT FileObject);
|
||||
|
||||
NTKERNELAPI
|
||||
PCONTROLLER_OBJECT
|
||||
NTAPI
|
||||
IoCreateController(
|
||||
IN ULONG Size);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2589,12 +2282,6 @@ IoCreateDisk(
|
|||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PCREATE_DISK Disk);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoDeleteController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject);
|
||||
|
||||
/*
|
||||
* VOID
|
||||
* IoDeassignArcName(
|
||||
|
@ -2602,66 +2289,6 @@ IoDeleteController(
|
|||
*/
|
||||
#define IoDeassignArcName IoDeleteSymbolicLink
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeController(
|
||||
IN PCONTROLLER_OBJECT ControllerObject);
|
||||
|
||||
NTKERNELAPI
|
||||
PCONFIGURATION_INFORMATION
|
||||
NTAPI
|
||||
IoGetConfigurationInformation(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PDEVICE_OBJECT
|
||||
NTAPI
|
||||
IoGetDeviceToVerify(
|
||||
IN PETHREAD Thread);
|
||||
|
||||
NTKERNELAPI
|
||||
PGENERIC_MAPPING
|
||||
NTAPI
|
||||
IoGetFileObjectGenericMapping(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PIRP
|
||||
NTAPI
|
||||
IoMakeAssociatedIrp(
|
||||
IN PIRP Irp,
|
||||
IN CCHAR StackSize);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoQueryDeviceDescription(
|
||||
IN PINTERFACE_TYPE BusType OPTIONAL,
|
||||
IN PULONG BusNumber OPTIONAL,
|
||||
IN PCONFIGURATION_TYPE ControllerType OPTIONAL,
|
||||
IN PULONG ControllerNumber OPTIONAL,
|
||||
IN PCONFIGURATION_TYPE PeripheralType OPTIONAL,
|
||||
IN PULONG PeripheralNumber OPTIONAL,
|
||||
IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
||||
IN PVOID Context);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRaiseHardError(
|
||||
IN PIRP Irp,
|
||||
IN PVPB Vpb OPTIONAL,
|
||||
IN PDEVICE_OBJECT RealDeviceObject);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IoRaiseInformationalHardError(
|
||||
IN NTSTATUS ErrorStatus,
|
||||
IN PUNICODE_STRING String OPTIONAL,
|
||||
IN PKTHREAD Thread OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2686,30 +2313,6 @@ IoReadPartitionTableEx(
|
|||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN struct _DRIVE_LAYOUT_INFORMATION_EX **PartitionBuffer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRegisterBootDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRegisterBootDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoRegisterDriverReinitialization(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
|
||||
IN PVOID Context);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2828,18 +2431,6 @@ NTAPI
|
|||
IoFreeAdapterChannel(
|
||||
IN PADAPTER_OBJECT AdapterObject);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
IoMapTransfer(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PMDL Mdl,
|
||||
IN PVOID MapRegisterBase,
|
||||
IN PVOID CurrentVa,
|
||||
IN OUT PULONG Length,
|
||||
IN BOOLEAN WriteToDevice);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
|
@ -3136,18 +2727,6 @@ MmFreeNonCachedMemory(
|
|||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes);
|
||||
|
||||
NTKERNELAPI
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
MmGetPhysicalAddress(
|
||||
IN PVOID BaseAddress);
|
||||
|
||||
NTKERNELAPI
|
||||
PPHYSICAL_MEMORY_RANGE
|
||||
NTAPI
|
||||
MmGetPhysicalMemoryRanges(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
|
@ -3699,13 +3278,6 @@ IoAssignResources(
|
|||
IN PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
|
||||
IN OUT PCM_RESOURCE_LIST *AllocatedResources);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IoAttachDeviceByPointer(
|
||||
IN PDEVICE_OBJECT SourceDevice,
|
||||
IN PDEVICE_OBJECT TargetDevice);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
|
|
Loading…
Reference in a new issue