mirror of
https://github.com/reactos/reactos.git
synced 2025-01-12 09:07:54 +00:00
[FREELDR] Include ntddk.h instead of winddk.h
[RAMDISK] Add missing DO_XIP definition (not in WDK/DDK) [FASTFAT] Remove duplicate VOLUME_IS_DIRTY definition [HAL] Add case stubs for missing HAL_QUERY_INFORMATION_CLASS members [NDK] Fix DbgPrompt prototype [NTDDK] - Move from winddk.h: _KUSER_SHARED_DATA (updated), pHalIoAssignDriveLetters, PHAL_RESET_DISPLAY_PARAMETERS, HAL_DISPATCH, HalDispatchTable, PCREATE_PROCESS_NOTIFY_ROUTINE, PCREATE_THREAD_NOTIFY_ROUTINE, IMAGE_INFO, PLOAD_IMAGE_NOTIFY_ROUTINE, BUS_DATA_TYPE (updated), PROCESSINFOCLASS (updated), THREADINFOCLASS (updated), DISK_SIGNATURE, PTIMER_APC_ROUTINE, Exfi386InterlockedIncrementLong, Exfi386InterlockedDecrementLong, Exfi386InterlockedExchangeUlong - Add pHalGetAcpiTable, PCI_ERROR_HANDLER_CALLBACK, pHalSetPciErrorHandlerCallback [WDM] Add _DECL_HAL_KE_IMPORT, Reorder sections (types before functions) svn path=/branches/header-work/; revision=46097
This commit is contained in:
parent
7494f42e77
commit
1524d1f1f6
9 changed files with 4135 additions and 4011 deletions
|
@ -1,18 +1,16 @@
|
|||
#include <ntdef.h>
|
||||
#undef _NTHAL_
|
||||
#undef DECLSPEC_IMPORT
|
||||
#define DECLSPEC_IMPORT
|
||||
//#undef DECLSPEC_IMPORT
|
||||
//#define DECLSPEC_IMPORT
|
||||
#undef NTSYSAPI
|
||||
#define NTSYSAPI
|
||||
|
||||
#include <wdm.h>
|
||||
|
||||
typedef GUID UUID;
|
||||
|
||||
/* Windows Device Driver Kit */
|
||||
#include <winddk.h>
|
||||
#include <ntddk.h>
|
||||
#include <ndk/haltypes.h>
|
||||
|
||||
//typedef GUID UUID;
|
||||
|
||||
/* Disk stuff */
|
||||
typedef PVOID PLOADER_PARAMETER_BLOCK;
|
||||
#include <ntdddisk.h>
|
||||
|
|
|
@ -33,8 +33,6 @@
|
|||
#define CACHEPAGESIZE(pDeviceExt) ((pDeviceExt)->FatInfo.BytesPerCluster > PAGE_SIZE ? \
|
||||
(pDeviceExt)->FatInfo.BytesPerCluster : PAGE_SIZE)
|
||||
|
||||
#define VOLUME_IS_DIRTY 0x00000001
|
||||
|
||||
static NTSTATUS
|
||||
VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount,
|
||||
PBOOLEAN RecognizedFS,
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#define DO_XIP 0x00020000
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
#define RAMDISK_SESSION_SIZE \
|
||||
|
|
|
@ -49,6 +49,12 @@ HaliQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
|||
REPORT_THIS_CASE(HalPartitionIpiInterface);
|
||||
REPORT_THIS_CASE(HalPlatformInformation);
|
||||
REPORT_THIS_CASE(HalQueryProfileSourceList);
|
||||
REPORT_THIS_CASE(HalInitLogInformation);
|
||||
REPORT_THIS_CASE(HalFrequencyInformation);
|
||||
REPORT_THIS_CASE(HalProcessorBrandString);
|
||||
REPORT_THIS_CASE(HalHypervisorInformation);
|
||||
REPORT_THIS_CASE(HalPlatformTimerInformation);
|
||||
REPORT_THIS_CASE(HalAcpiAuditInformation);
|
||||
}
|
||||
#undef REPORT_THIS_CASE
|
||||
|
||||
|
|
|
@ -55,6 +55,11 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct _LOADER_PARAMETER_BLOCK;
|
||||
struct _CREATE_DISK;
|
||||
struct _DRIVE_LAYOUT_INFORMATION_EX;
|
||||
struct _SET_PARTITION_INFORMATION_EX;
|
||||
|
||||
//
|
||||
// GUID and UUID
|
||||
//
|
||||
|
@ -611,6 +616,121 @@ VOID
|
|||
(DDKAPI *pKdCheckPowerButton)(
|
||||
VOID);
|
||||
|
||||
typedef struct _KUSER_SHARED_DATA
|
||||
{
|
||||
ULONG TickCountLowDeprecated;
|
||||
ULONG TickCountMultiplier;
|
||||
volatile KSYSTEM_TIME InterruptTime;
|
||||
volatile KSYSTEM_TIME SystemTime;
|
||||
volatile KSYSTEM_TIME TimeZoneBias;
|
||||
USHORT ImageNumberLow;
|
||||
USHORT ImageNumberHigh;
|
||||
WCHAR NtSystemRoot[260];
|
||||
ULONG MaxStackTraceDepth;
|
||||
ULONG CryptoExponent;
|
||||
ULONG TimeZoneId;
|
||||
ULONG LargePageMinimum;
|
||||
ULONG Reserved2[7];
|
||||
NT_PRODUCT_TYPE NtProductType;
|
||||
BOOLEAN ProductTypeIsValid;
|
||||
ULONG NtMajorVersion;
|
||||
ULONG NtMinorVersion;
|
||||
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];
|
||||
ULONG Reserved1;
|
||||
ULONG Reserved3;
|
||||
volatile ULONG TimeSlip;
|
||||
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
|
||||
ULONG AltArchitecturePad[1];
|
||||
LARGE_INTEGER SystemExpirationDate;
|
||||
ULONG SuiteMask;
|
||||
BOOLEAN KdDebuggerEnabled;
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||
UCHAR NXSupportPolicy;
|
||||
#endif
|
||||
volatile ULONG ActiveConsoleId;
|
||||
volatile ULONG DismountCount;
|
||||
ULONG ComPlusPackage;
|
||||
ULONG LastSystemRITEventTickCount;
|
||||
ULONG NumberOfPhysicalPages;
|
||||
BOOLEAN SafeBootMode;
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
union {
|
||||
UCHAR TscQpcData;
|
||||
struct {
|
||||
UCHAR TscQpcEnabled:1;
|
||||
UCHAR TscQpcSpareFlag:1;
|
||||
UCHAR TscQpcShift:6;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
UCHAR TscQpcPad[2];
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
union {
|
||||
ULONG SharedDataFlags;
|
||||
struct {
|
||||
ULONG DbgErrorPortPresent:1;
|
||||
ULONG DbgElevationEnabled:1;
|
||||
ULONG DbgVirtEnabled:1;
|
||||
ULONG DbgInstallerDetectEnabled:1;
|
||||
ULONG DbgSystemDllRelocated:1;
|
||||
ULONG DbgDynProcessorEnabled:1;
|
||||
ULONG DbgSEHValidationEnabled:1;
|
||||
ULONG SpareBits:25;
|
||||
} DUMMYSTRUCTNAME2;
|
||||
} DUMMYUNIONNAME2;
|
||||
#else
|
||||
ULONG TraceLogging;
|
||||
#endif
|
||||
ULONG DataFlagsPad[1];
|
||||
ULONGLONG TestRetInstruction;
|
||||
ULONG SystemCall;
|
||||
ULONG SystemCallReturn;
|
||||
ULONGLONG SystemCallPad[3];
|
||||
_ANONYMOUS_UNION union {
|
||||
volatile KSYSTEM_TIME TickCount;
|
||||
volatile ULONG64 TickCountQuad;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
ULONG ReservedTickCountOverlay[3];
|
||||
ULONG TickCountPad[1];
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME3;
|
||||
ULONG Cookie;
|
||||
ULONG CookiePad[1];
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
LONGLONG ConsoleSessionForegroundProcessId;
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES];
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
USHORT UserModeGlobalLogger[16];
|
||||
#else
|
||||
USHORT UserModeGlobalLogger[8];
|
||||
ULONG HeapTracingPid[2];
|
||||
ULONG CritSecTracingPid[2];
|
||||
#endif
|
||||
ULONG ImageFileExecutionOptions;
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
||||
ULONG LangGenerationCount;
|
||||
#else
|
||||
/* 4 bytes padding */
|
||||
#endif
|
||||
ULONGLONG Reserved5;
|
||||
volatile ULONG64 InterruptTimeBias;
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
volatile ULONG64 TscQpcBias;
|
||||
volatile ULONG ActiveProcessorCount;
|
||||
volatile USHORT ActiveGroupCount;
|
||||
USHORT Reserved4;
|
||||
volatile ULONG AitSamplingValue;
|
||||
volatile ULONG AppCompatFlag;
|
||||
ULONGLONG SystemDllNativeRelocation;
|
||||
ULONG SystemDllWowRelocation;
|
||||
ULONG XStatePad[1];
|
||||
XSTATE_CONFIGURATION XState;
|
||||
#endif
|
||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||
|
||||
#ifdef _X86_
|
||||
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
@ -886,6 +1006,29 @@ ExRaiseDatatypeMisalignment(
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef _X86_
|
||||
|
||||
NTKERNELAPI
|
||||
INTERLOCKED_RESULT
|
||||
FASTCALL
|
||||
Exfi386InterlockedIncrementLong(
|
||||
IN OUT LONG volatile *Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
INTERLOCKED_RESULT
|
||||
FASTCALL
|
||||
Exfi386InterlockedDecrementLong(
|
||||
IN PLONG Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
FASTCALL
|
||||
Exfi386InterlockedExchangeUlong(
|
||||
IN PULONG Target,
|
||||
IN ULONG Value);
|
||||
|
||||
#endif /* _X86_ */
|
||||
|
||||
#ifndef _ARC_DDK_
|
||||
#define _ARC_DDK_
|
||||
typedef enum _CONFIGURATION_TYPE {
|
||||
|
@ -1030,6 +1173,111 @@ typedef struct _PCIBUSDATA {
|
|||
PVOID Reserved[4];
|
||||
} PCIBUSDATA, *PPCIBUSDATA;
|
||||
|
||||
typedef enum _BUS_DATA_TYPE {
|
||||
ConfigurationSpaceUndefined = -1,
|
||||
Cmos,
|
||||
EisaConfiguration,
|
||||
Pos,
|
||||
CbusConfiguration,
|
||||
PCIConfiguration,
|
||||
VMEConfiguration,
|
||||
NuBusConfiguration,
|
||||
PCMCIAConfiguration,
|
||||
MPIConfiguration,
|
||||
MPSAConfiguration,
|
||||
PNPISAConfiguration,
|
||||
SgiInternalConfiguration,
|
||||
MaximumBusDataType
|
||||
} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
|
||||
|
||||
typedef
|
||||
PVOID
|
||||
(NTAPI *pHalGetAcpiTable)(
|
||||
IN ULONG Signature,
|
||||
IN PCSTR OemId OPTIONAL,
|
||||
IN PCSTR OemTableId OPTIONAL);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(NTAPI *PCI_ERROR_HANDLER_CALLBACK)(
|
||||
VOID);
|
||||
|
||||
typedef
|
||||
VOID
|
||||
(NTAPI *pHalSetPciErrorHandlerCallback)(
|
||||
IN PCI_ERROR_HANDLER_CALLBACK Callback);
|
||||
|
||||
#if 1 /* Not present in WDK 7600 */
|
||||
typedef VOID
|
||||
(FASTCALL *pHalIoAssignDriveLetters)(
|
||||
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN PSTRING NtDeviceName,
|
||||
OUT PUCHAR NtSystemPath,
|
||||
OUT PSTRING NtSystemPathString);
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
ULONG Version;
|
||||
pHalQuerySystemInformation HalQuerySystemInformation;
|
||||
pHalSetSystemInformation HalSetSystemInformation;
|
||||
pHalQueryBusSlots HalQueryBusSlots;
|
||||
ULONG Spare1;
|
||||
pHalExamineMBR HalExamineMBR;
|
||||
#if 1 /* Not present in WDK 7600 */
|
||||
pHalIoAssignDriveLetters HalIoAssignDriveLetters;
|
||||
#endif
|
||||
pHalIoReadPartitionTable HalIoReadPartitionTable;
|
||||
pHalIoSetPartitionInformation HalIoSetPartitionInformation;
|
||||
pHalIoWritePartitionTable HalIoWritePartitionTable;
|
||||
pHalHandlerForBus HalReferenceHandlerForBus;
|
||||
pHalReferenceBusHandler HalReferenceBusHandler;
|
||||
pHalReferenceBusHandler HalDereferenceBusHandler;
|
||||
pHalInitPnpDriver HalInitPnpDriver;
|
||||
pHalInitPowerManagement HalInitPowerManagement;
|
||||
pHalGetDmaAdapter HalGetDmaAdapter;
|
||||
pHalGetInterruptTranslator HalGetInterruptTranslator;
|
||||
pHalStartMirroring HalStartMirroring;
|
||||
pHalEndMirroring HalEndMirroring;
|
||||
pHalMirrorPhysicalMemory HalMirrorPhysicalMemory;
|
||||
pHalEndOfBoot HalEndOfBoot;
|
||||
pHalMirrorVerify HalMirrorVerify;
|
||||
pHalGetAcpiTable HalGetCachedAcpiTable;
|
||||
pHalSetPciErrorHandlerCallback HalSetPciErrorHandlerCallback;
|
||||
#if defined(_IA64_)
|
||||
pHalGetErrorCapList HalGetErrorCapList;
|
||||
pHalInjectError HalInjectError;
|
||||
#endif
|
||||
} HAL_DISPATCH, *PHAL_DISPATCH;
|
||||
|
||||
/* GCC/MSVC and WDK compatible declaration */
|
||||
extern NTKERNELAPI HAL_DISPATCH HalDispatchTable;
|
||||
|
||||
#if defined(_NTOSKRNL_) || defined(_BLDR_)
|
||||
#define HALDISPATCH (&HalDispatchTable)
|
||||
#else
|
||||
/* This is a WDK compatibility definition */
|
||||
#define HalDispatchTable (&HalDispatchTable)
|
||||
#define HALDISPATCH HalDispatchTable
|
||||
#endif
|
||||
|
||||
#define HAL_DISPATCH_VERSION 3 // FIXME: when to use 4?
|
||||
#define HalDispatchTableVersion HALDISPATCH->Version
|
||||
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
|
||||
#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
|
||||
#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
|
||||
#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
|
||||
#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
|
||||
#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
|
||||
#define HalInitPnpDriver HALDISPATCH->HalInitPnpDriver
|
||||
#define HalInitPowerManagement HALDISPATCH->HalInitPowerManagement
|
||||
#define HalGetDmaAdapter HALDISPATCH->HalGetDmaAdapter
|
||||
#define HalGetInterruptTranslator HALDISPATCH->HalGetInterruptTranslator
|
||||
#define HalStartMirroring HALDISPATCH->HalStartMirroring
|
||||
#define HalEndMirroring HALDISPATCH->HalEndMirroring
|
||||
#define HalMirrorPhysicalMemory HALDISPATCH->HalMirrorPhysicalMemory
|
||||
#define HalEndOfBoot HALDISPATCH->HalEndOfBoot
|
||||
#define HalMirrorVerify HALDISPATCH->HalMirrorVerify
|
||||
|
||||
/* Hardware Abstraction Layer Functions */
|
||||
|
||||
#if !defined(NO_LEGACY_DRIVERS)
|
||||
|
@ -1094,6 +1342,12 @@ NTAPI
|
|||
HalPutDmaAdapter(
|
||||
IN PADAPTER_OBJECT DmaAdapter);
|
||||
|
||||
typedef
|
||||
BOOLEAN
|
||||
(DDKAPI *PHAL_RESET_DISPLAY_PARAMETERS)(
|
||||
ULONG Columns,
|
||||
ULONG Rows);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -1155,6 +1409,19 @@ HalExamineMBR(
|
|||
OUT PVOID *Buffer);
|
||||
#endif
|
||||
|
||||
typedef struct _DISK_SIGNATURE {
|
||||
ULONG PartitionStyle;
|
||||
_ANONYMOUS_UNION union {
|
||||
struct {
|
||||
ULONG Signature;
|
||||
ULONG CheckSum;
|
||||
} Mbr;
|
||||
struct {
|
||||
GUID DiskId;
|
||||
} Gpt;
|
||||
} DUMMYUNIONNAME;
|
||||
} DISK_SIGNATURE, *PDISK_SIGNATURE;
|
||||
|
||||
#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_)
|
||||
// nothing here
|
||||
#else
|
||||
|
@ -1449,7 +1716,7 @@ NTSTATUS
|
|||
NTAPI
|
||||
IoCreateDisk(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PCREATE_DISK Disk OPTIONAL);
|
||||
IN struct _CREATE_DISK* Disk OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
|
@ -1715,6 +1982,99 @@ MmUnmapVideoDisplay(
|
|||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
typedef enum _PROCESSINFOCLASS {
|
||||
ProcessBasicInformation,
|
||||
ProcessQuotaLimits,
|
||||
ProcessIoCounters,
|
||||
ProcessVmCounters,
|
||||
ProcessTimes,
|
||||
ProcessBasePriority,
|
||||
ProcessRaisePriority,
|
||||
ProcessDebugPort,
|
||||
ProcessExceptionPort,
|
||||
ProcessAccessToken,
|
||||
ProcessLdtInformation,
|
||||
ProcessLdtSize,
|
||||
ProcessDefaultHardErrorMode,
|
||||
ProcessIoPortHandlers,
|
||||
ProcessPooledUsageAndLimits,
|
||||
ProcessWorkingSetWatch,
|
||||
ProcessUserModeIOPL,
|
||||
ProcessEnableAlignmentFaultFixup,
|
||||
ProcessPriorityClass,
|
||||
ProcessWx86Information,
|
||||
ProcessHandleCount,
|
||||
ProcessAffinityMask,
|
||||
ProcessPriorityBoost,
|
||||
ProcessDeviceMap,
|
||||
ProcessSessionInformation,
|
||||
ProcessForegroundInformation,
|
||||
ProcessWow64Information,
|
||||
ProcessImageFileName,
|
||||
ProcessLUIDDeviceMapsEnabled,
|
||||
ProcessBreakOnTermination,
|
||||
ProcessDebugObjectHandle,
|
||||
ProcessDebugFlags,
|
||||
ProcessHandleTracing,
|
||||
ProcessIoPriority,
|
||||
ProcessExecuteFlags,
|
||||
ProcessTlsInformation,
|
||||
ProcessCookie,
|
||||
ProcessImageInformation,
|
||||
ProcessCycleTime,
|
||||
ProcessPagePriority,
|
||||
ProcessInstrumentationCallback,
|
||||
ProcessThreadStackAllocation,
|
||||
ProcessWorkingSetWatchEx,
|
||||
ProcessImageFileNameWin32,
|
||||
ProcessImageFileMapping,
|
||||
ProcessAffinityUpdateMode,
|
||||
ProcessMemoryAllocationMode,
|
||||
ProcessGroupInformation,
|
||||
ProcessTokenVirtualizationEnabled,
|
||||
ProcessConsoleHostProcess,
|
||||
ProcessWindowInformation,
|
||||
MaxProcessInfoClass
|
||||
} PROCESSINFOCLASS;
|
||||
|
||||
typedef enum _THREADINFOCLASS {
|
||||
ThreadBasicInformation,
|
||||
ThreadTimes,
|
||||
ThreadPriority,
|
||||
ThreadBasePriority,
|
||||
ThreadAffinityMask,
|
||||
ThreadImpersonationToken,
|
||||
ThreadDescriptorTableEntry,
|
||||
ThreadEnableAlignmentFaultFixup,
|
||||
ThreadEventPair_Reusable,
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
ThreadZeroTlsCell,
|
||||
ThreadPerformanceCount,
|
||||
ThreadAmILastThread,
|
||||
ThreadIdealProcessor,
|
||||
ThreadPriorityBoost,
|
||||
ThreadSetTlsArrayAddress,
|
||||
ThreadIsIoPending,
|
||||
ThreadHideFromDebugger,
|
||||
ThreadBreakOnTermination,
|
||||
ThreadSwitchLegacyState,
|
||||
ThreadIsTerminated,
|
||||
ThreadLastSystemCall,
|
||||
ThreadIoPriority,
|
||||
ThreadCycleTime,
|
||||
ThreadPagePriority,
|
||||
ThreadActualBasePriority,
|
||||
ThreadTebInformation,
|
||||
ThreadCSwitchMon,
|
||||
ThreadCSwitchPmu,
|
||||
ThreadWow64Context,
|
||||
ThreadGroupInformation,
|
||||
ThreadUmsInformation,
|
||||
ThreadCounterProfiling,
|
||||
ThreadIdealProcessorEx,
|
||||
MaxThreadInfoClass
|
||||
} THREADINFOCLASS;
|
||||
|
||||
/* NtXxx Functions */
|
||||
|
||||
NTSYSCALLAPI
|
||||
|
@ -1736,6 +2096,42 @@ NtQueryInformationProcess(
|
|||
IN ULONG ProcessInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
|
||||
/** Process manager types **/
|
||||
|
||||
typedef struct _IMAGE_INFO {
|
||||
_ANONYMOUS_UNION union {
|
||||
ULONG Properties;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
ULONG ImageAddressingMode : 8;
|
||||
ULONG SystemModeImage : 1;
|
||||
ULONG ImageMappedToAllPids : 1;
|
||||
ULONG Reserved : 22;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
PVOID ImageBase;
|
||||
ULONG ImageSelector;
|
||||
SIZE_T ImageSize;
|
||||
ULONG ImageSectionNumber;
|
||||
} IMAGE_INFO, *PIMAGE_INFO;
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PCREATE_PROCESS_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ParentId,
|
||||
IN HANDLE ProcessId,
|
||||
IN BOOLEAN Create);
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PCREATE_THREAD_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ProcessId,
|
||||
IN HANDLE ThreadId,
|
||||
IN BOOLEAN Create);
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PLOAD_IMAGE_NOTIFY_ROUTINE)(
|
||||
IN PUNICODE_STRING FullImageName,
|
||||
IN HANDLE ProcessId,
|
||||
IN PIMAGE_INFO ImageInfo);
|
||||
|
||||
/** Process manager routines **/
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
@ -2008,6 +2404,12 @@ SeSinglePrivilegeCheck(
|
|||
IN KPROCESSOR_MODE PreviousMode);
|
||||
#endif
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PTIMER_APC_ROUTINE)(
|
||||
IN PVOID TimerContext,
|
||||
IN ULONG TimerLowValue,
|
||||
IN LONG TimerHighValue);
|
||||
|
||||
/* ZwXxx Functions */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
|
|
@ -4891,7 +4891,7 @@ KeAcquireSpinLockRaiseToSynch(
|
|||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
NTHALAPI
|
||||
_DECL_HAL_KE_IMPORT
|
||||
KIRQL
|
||||
FASTCALL
|
||||
KeAcquireQueuedSpinLock(
|
||||
|
@ -4904,7 +4904,7 @@ KeReleaseQueuedSpinLock(
|
|||
IN OUT KSPIN_LOCK_QUEUE_NUMBER Number,
|
||||
IN KIRQL OldIrql);
|
||||
|
||||
NTHALAPI // FIXME: _DECL_HAL_KE_IMPORT
|
||||
_DECL_HAL_KE_IMPORT
|
||||
LOGICAL
|
||||
FASTCALL
|
||||
KeTryToAcquireQueuedSpinLock(
|
||||
|
@ -7928,21 +7928,6 @@ IoVerifyVolume (
|
|||
IN BOOLEAN AllowRawMount
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
KIRQL
|
||||
FASTCALL
|
||||
KeAcquireQueuedSpinLock (
|
||||
IN KSPIN_LOCK_QUEUE_NUMBER Number
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
KeReleaseQueuedSpinLock (
|
||||
IN KSPIN_LOCK_QUEUE_NUMBER Number,
|
||||
IN KIRQL OldIrql
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
|
|
7396
include/ddk/wdm.h
7396
include/ddk/wdm.h
File diff suppressed because it is too large
Load diff
|
@ -232,78 +232,6 @@ extern POBJECT_TYPE NTSYSAPI IoDriverObjectType;
|
|||
extern POBJECT_TYPE NTSYSAPI LpcPortObjectType;
|
||||
extern POBJECT_TYPE NTSYSAPI PsProcessType;
|
||||
|
||||
typedef struct _KUSER_SHARED_DATA
|
||||
{
|
||||
ULONG TickCountLowDeprecated;
|
||||
ULONG TickCountMultiplier;
|
||||
volatile KSYSTEM_TIME InterruptTime;
|
||||
volatile KSYSTEM_TIME SystemTime;
|
||||
volatile KSYSTEM_TIME TimeZoneBias;
|
||||
USHORT ImageNumberLow;
|
||||
USHORT ImageNumberHigh;
|
||||
WCHAR NtSystemRoot[260];
|
||||
ULONG MaxStackTraceDepth;
|
||||
ULONG CryptoExponent;
|
||||
ULONG TimeZoneId;
|
||||
ULONG LargePageMinimum;
|
||||
ULONG Reserved2[7];
|
||||
NT_PRODUCT_TYPE NtProductType;
|
||||
BOOLEAN ProductTypeIsValid;
|
||||
ULONG NtMajorVersion;
|
||||
ULONG NtMinorVersion;
|
||||
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];
|
||||
ULONG Reserved1;
|
||||
ULONG Reserved3;
|
||||
volatile ULONG TimeSlip;
|
||||
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
|
||||
LARGE_INTEGER SystemExpirationDate;
|
||||
ULONG SuiteMask;
|
||||
BOOLEAN KdDebuggerEnabled;
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||
UCHAR NXSupportPolicy;
|
||||
#endif
|
||||
volatile ULONG ActiveConsoleId;
|
||||
volatile ULONG DismountCount;
|
||||
ULONG ComPlusPackage;
|
||||
ULONG LastSystemRITEventTickCount;
|
||||
ULONG NumberOfPhysicalPages;
|
||||
BOOLEAN SafeBootMode;
|
||||
ULONG TraceLogging;
|
||||
ULONG Fill0;
|
||||
ULONGLONG TestRetInstruction;
|
||||
ULONG SystemCall;
|
||||
ULONG SystemCallReturn;
|
||||
ULONGLONG SystemCallPad[3];
|
||||
__GNU_EXTENSION union {
|
||||
volatile KSYSTEM_TIME TickCount;
|
||||
volatile ULONG64 TickCountQuad;
|
||||
};
|
||||
ULONG Cookie;
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
LONGLONG ConsoleSessionForegroundProcessId;
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES];
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
|
||||
USHORT UserModeGlobalLogger[8];
|
||||
ULONG HeapTracingPid[2];
|
||||
ULONG CritSecTracingPid[2];
|
||||
__GNU_EXTENSION union
|
||||
{
|
||||
ULONG SharedDataFlags;
|
||||
__GNU_EXTENSION struct
|
||||
{
|
||||
ULONG DbgErrorPortPresent:1;
|
||||
ULONG DbgElevationEnabled:1;
|
||||
ULONG DbgVirtEnabled:1;
|
||||
ULONG DbgInstallerDetectEnabled:1;
|
||||
ULONG SpareBits:28;
|
||||
};
|
||||
};
|
||||
ULONG ImageFileExecutionOptions;
|
||||
KAFFINITY ActiveProcessorAffinity;
|
||||
#endif
|
||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||
|
||||
typedef EXCEPTION_DISPOSITION
|
||||
(DDKAPI *PEXCEPTION_ROUTINE)(
|
||||
IN struct _EXCEPTION_RECORD *ExceptionRecord,
|
||||
|
@ -377,13 +305,6 @@ typedef NTSTATUS
|
|||
IN PVOID Context,
|
||||
IN PDEVICE_CONTROL_COMPLETION CompletionRoutine);
|
||||
|
||||
typedef VOID
|
||||
(FASTCALL *pHalIoAssignDriveLetters)(
|
||||
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN PSTRING NtDeviceName,
|
||||
OUT PUCHAR NtSystemPath,
|
||||
OUT PSTRING NtSystemPathString);
|
||||
|
||||
typedef
|
||||
ULONG
|
||||
(DDKAPI *pHalGetInterruptVector)(
|
||||
|
@ -438,64 +359,6 @@ ULONG
|
|||
IN ULONG Length
|
||||
);
|
||||
|
||||
typedef BOOLEAN
|
||||
(DDKAPI *PHAL_RESET_DISPLAY_PARAMETERS)(
|
||||
ULONG Columns, ULONG Rows);
|
||||
|
||||
typedef struct {
|
||||
ULONG Version;
|
||||
pHalQuerySystemInformation HalQuerySystemInformation;
|
||||
pHalSetSystemInformation HalSetSystemInformation;
|
||||
pHalQueryBusSlots HalQueryBusSlots;
|
||||
ULONG Spare1;
|
||||
pHalExamineMBR HalExamineMBR;
|
||||
pHalIoAssignDriveLetters HalIoAssignDriveLetters;
|
||||
pHalIoReadPartitionTable HalIoReadPartitionTable;
|
||||
pHalIoSetPartitionInformation HalIoSetPartitionInformation;
|
||||
pHalIoWritePartitionTable HalIoWritePartitionTable;
|
||||
pHalHandlerForBus HalReferenceHandlerForBus;
|
||||
pHalReferenceBusHandler HalReferenceBusHandler;
|
||||
pHalReferenceBusHandler HalDereferenceBusHandler;
|
||||
pHalInitPnpDriver HalInitPnpDriver;
|
||||
pHalInitPowerManagement HalInitPowerManagement;
|
||||
pHalGetDmaAdapter HalGetDmaAdapter;
|
||||
pHalGetInterruptTranslator HalGetInterruptTranslator;
|
||||
pHalStartMirroring HalStartMirroring;
|
||||
pHalEndMirroring HalEndMirroring;
|
||||
pHalMirrorPhysicalMemory HalMirrorPhysicalMemory;
|
||||
pHalEndOfBoot HalEndOfBoot;
|
||||
pHalMirrorVerify HalMirrorVerify;
|
||||
} HAL_DISPATCH, *PHAL_DISPATCH;
|
||||
|
||||
/* GCC/MSVC and WDK compatible declaration */
|
||||
extern NTKERNELAPI HAL_DISPATCH HalDispatchTable;
|
||||
|
||||
#if defined(_NTOSKRNL_) || defined(_BLDR_)
|
||||
#define HALDISPATCH (&HalDispatchTable)
|
||||
#else
|
||||
/* This is a WDK compatibility definition */
|
||||
#define HalDispatchTable (&HalDispatchTable)
|
||||
#define HALDISPATCH HalDispatchTable
|
||||
#endif
|
||||
|
||||
#define HAL_DISPATCH_VERSION 3
|
||||
#define HalDispatchTableVersion HALDISPATCH->Version
|
||||
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
|
||||
#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
|
||||
#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
|
||||
#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
|
||||
#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
|
||||
#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
|
||||
#define HalInitPnpDriver HALDISPATCH->HalInitPnpDriver
|
||||
#define HalInitPowerManagement HALDISPATCH->HalInitPowerManagement
|
||||
#define HalGetDmaAdapter HALDISPATCH->HalGetDmaAdapter
|
||||
#define HalGetInterruptTranslator HALDISPATCH->HalGetInterruptTranslator
|
||||
#define HalStartMirroring HALDISPATCH->HalStartMirroring
|
||||
#define HalEndMirroring HALDISPATCH->HalEndMirroring
|
||||
#define HalMirrorPhysicalMemory HALDISPATCH->HalMirrorPhysicalMemory
|
||||
#define HalEndOfBoot HALDISPATCH->HalEndOfBoot
|
||||
#define HalMirrorVerify HALDISPATCH->HalMirrorVerify
|
||||
|
||||
typedef struct _FILE_ALIGNMENT_INFORMATION {
|
||||
ULONG AlignmentRequirement;
|
||||
} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION;
|
||||
|
@ -587,61 +450,10 @@ typedef enum _IO_QUERY_DEVICE_DATA_FORMAT {
|
|||
IoQueryDeviceMaxData
|
||||
} IO_QUERY_DEVICE_DATA_FORMAT, *PIO_QUERY_DEVICE_DATA_FORMAT;
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PCREATE_PROCESS_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ParentId,
|
||||
IN HANDLE ProcessId,
|
||||
IN BOOLEAN Create);
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PCREATE_THREAD_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ProcessId,
|
||||
IN HANDLE ThreadId,
|
||||
IN BOOLEAN Create);
|
||||
|
||||
typedef struct _IMAGE_INFO {
|
||||
_ANONYMOUS_UNION union {
|
||||
ULONG Properties;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
ULONG ImageAddressingMode : 8;
|
||||
ULONG SystemModeImage : 1;
|
||||
ULONG ImageMappedToAllPids : 1;
|
||||
ULONG Reserved : 22;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
PVOID ImageBase;
|
||||
ULONG ImageSelector;
|
||||
SIZE_T ImageSize;
|
||||
ULONG ImageSectionNumber;
|
||||
} IMAGE_INFO, *PIMAGE_INFO;
|
||||
|
||||
#define IMAGE_ADDRESSING_MODE_32BIT 3
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PLOAD_IMAGE_NOTIFY_ROUTINE)(
|
||||
IN PUNICODE_STRING FullImageName,
|
||||
IN HANDLE ProcessId,
|
||||
IN PIMAGE_INFO ImageInfo);
|
||||
|
||||
#pragma pack(push,4)
|
||||
typedef enum _BUS_DATA_TYPE {
|
||||
ConfigurationSpaceUndefined = -1,
|
||||
Cmos,
|
||||
EisaConfiguration,
|
||||
Pos,
|
||||
CbusConfiguration,
|
||||
PCIConfiguration,
|
||||
VMEConfiguration,
|
||||
NuBusConfiguration,
|
||||
PCMCIAConfiguration,
|
||||
MPIConfiguration,
|
||||
MPSAConfiguration,
|
||||
PNPISAConfiguration,
|
||||
SgiInternalConfiguration,
|
||||
MaximumBusDataType
|
||||
} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
|
||||
#pragma pack(pop)
|
||||
|
||||
typedef struct _NT_TIB {
|
||||
struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
|
||||
PVOID StackBase;
|
||||
|
@ -681,81 +493,6 @@ typedef struct _NT_TIB64 {
|
|||
ULONG64 Self;
|
||||
} NT_TIB64,*PNT_TIB64;
|
||||
|
||||
typedef enum _PROCESSINFOCLASS {
|
||||
ProcessBasicInformation,
|
||||
ProcessQuotaLimits,
|
||||
ProcessIoCounters,
|
||||
ProcessVmCounters,
|
||||
ProcessTimes,
|
||||
ProcessBasePriority,
|
||||
ProcessRaisePriority,
|
||||
ProcessDebugPort,
|
||||
ProcessExceptionPort,
|
||||
ProcessAccessToken,
|
||||
ProcessLdtInformation,
|
||||
ProcessLdtSize,
|
||||
ProcessDefaultHardErrorMode,
|
||||
ProcessIoPortHandlers,
|
||||
ProcessPooledUsageAndLimits,
|
||||
ProcessWorkingSetWatch,
|
||||
ProcessUserModeIOPL,
|
||||
ProcessEnableAlignmentFaultFixup,
|
||||
ProcessPriorityClass,
|
||||
ProcessWx86Information,
|
||||
ProcessHandleCount,
|
||||
ProcessAffinityMask,
|
||||
ProcessPriorityBoost,
|
||||
ProcessDeviceMap,
|
||||
ProcessSessionInformation,
|
||||
ProcessForegroundInformation,
|
||||
ProcessWow64Information,
|
||||
ProcessImageFileName,
|
||||
ProcessLUIDDeviceMapsEnabled,
|
||||
ProcessBreakOnTermination,
|
||||
ProcessDebugObjectHandle,
|
||||
ProcessDebugFlags,
|
||||
ProcessHandleTracing,
|
||||
ProcessIoPriority,
|
||||
ProcessExecuteFlags,
|
||||
ProcessTlsInformation,
|
||||
ProcessCookie,
|
||||
ProcessImageInformation,
|
||||
ProcessCycleTime,
|
||||
ProcessPagePriority,
|
||||
ProcessInstrumentationCallback,
|
||||
MaxProcessInfoClass
|
||||
} PROCESSINFOCLASS;
|
||||
|
||||
typedef enum _THREADINFOCLASS {
|
||||
ThreadBasicInformation,
|
||||
ThreadTimes,
|
||||
ThreadPriority,
|
||||
ThreadBasePriority,
|
||||
ThreadAffinityMask,
|
||||
ThreadImpersonationToken,
|
||||
ThreadDescriptorTableEntry,
|
||||
ThreadEnableAlignmentFaultFixup,
|
||||
ThreadEventPair_Reusable,
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
ThreadZeroTlsCell,
|
||||
ThreadPerformanceCount,
|
||||
ThreadAmILastThread,
|
||||
ThreadIdealProcessor,
|
||||
ThreadPriorityBoost,
|
||||
ThreadSetTlsArrayAddress,
|
||||
ThreadIsIoPending,
|
||||
ThreadHideFromDebugger,
|
||||
ThreadBreakOnTermination,
|
||||
ThreadSwitchLegacyState,
|
||||
ThreadIsTerminated,
|
||||
ThreadLastSystemCall,
|
||||
ThreadIoPriority,
|
||||
ThreadCycleTime,
|
||||
ThreadPagePriority,
|
||||
ThreadActualBasePriority,
|
||||
MaxThreadInfoClass
|
||||
} THREADINFOCLASS;
|
||||
|
||||
typedef struct _PROCESS_BASIC_INFORMATION
|
||||
{
|
||||
NTSTATUS ExitStatus;
|
||||
|
@ -833,19 +570,6 @@ typedef struct _CREATE_DISK {
|
|||
} DUMMYUNIONNAME;
|
||||
} CREATE_DISK, *PCREATE_DISK;
|
||||
|
||||
typedef struct _DISK_SIGNATURE {
|
||||
ULONG PartitionStyle;
|
||||
_ANONYMOUS_UNION union {
|
||||
struct {
|
||||
ULONG Signature;
|
||||
ULONG CheckSum;
|
||||
} Mbr;
|
||||
struct {
|
||||
GUID DiskId;
|
||||
} Gpt;
|
||||
} DUMMYUNIONNAME;
|
||||
} DISK_SIGNATURE, *PDISK_SIGNATURE;
|
||||
|
||||
typedef VOID
|
||||
(FASTCALL*PTIME_UPDATE_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ThreadId,
|
||||
|
@ -866,12 +590,6 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
|||
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
||||
#define DRIVER_VERIFIER_IO_CHECKING 0x0010
|
||||
|
||||
typedef VOID
|
||||
(DDKAPI *PTIMER_APC_ROUTINE)(
|
||||
IN PVOID TimerContext,
|
||||
IN ULONG TimerLowValue,
|
||||
IN LONG TimerHighValue);
|
||||
|
||||
/*
|
||||
** Architecture specific structures
|
||||
*/
|
||||
|
@ -2066,28 +1784,6 @@ RtlLargeIntegerSubtract(
|
|||
** Architecture specific structures
|
||||
*/
|
||||
|
||||
#ifdef _X86_
|
||||
|
||||
NTKERNELAPI
|
||||
INTERLOCKED_RESULT
|
||||
FASTCALL
|
||||
Exfi386InterlockedIncrementLong(
|
||||
IN OUT PLONG volatile Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
INTERLOCKED_RESULT
|
||||
FASTCALL
|
||||
Exfi386InterlockedDecrementLong(
|
||||
IN PLONG Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
FASTCALL
|
||||
Exfi386InterlockedExchangeUlong(
|
||||
IN PULONG Target,
|
||||
IN ULONG Value);
|
||||
|
||||
#endif /* _X86_ */
|
||||
|
||||
#ifdef _M_ARM
|
||||
//
|
||||
|
|
|
@ -2652,6 +2652,7 @@ DbgPrintEx(
|
|||
IN ...
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
DbgPrompt(
|
||||
|
|
Loading…
Reference in a new issue