mirror of
https://github.com/reactos/reactos.git
synced 2026-06-05 11:12:56 +08:00
[PSDK] Improve some headers
This commit is contained in:
@@ -11,13 +11,112 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
typedef struct _STARTUPINFOA
|
||||||
|
{
|
||||||
|
DWORD cb;
|
||||||
|
LPSTR lpReserved;
|
||||||
|
LPSTR lpDesktop;
|
||||||
|
LPSTR lpTitle;
|
||||||
|
DWORD dwX;
|
||||||
|
DWORD dwY;
|
||||||
|
DWORD dwXSize;
|
||||||
|
DWORD dwYSize;
|
||||||
|
DWORD dwXCountChars;
|
||||||
|
DWORD dwYCountChars;
|
||||||
|
DWORD dwFillAttribute;
|
||||||
|
DWORD dwFlags;
|
||||||
|
WORD wShowWindow;
|
||||||
|
WORD cbReserved2;
|
||||||
|
PBYTE lpReserved2;
|
||||||
|
HANDLE hStdInput;
|
||||||
|
HANDLE hStdOutput;
|
||||||
|
HANDLE hStdError;
|
||||||
|
} STARTUPINFOA, *LPSTARTUPINFOA;
|
||||||
|
|
||||||
|
typedef struct _STARTUPINFOW
|
||||||
|
{
|
||||||
|
DWORD cb;
|
||||||
|
LPWSTR lpReserved;
|
||||||
|
LPWSTR lpDesktop;
|
||||||
|
LPWSTR lpTitle;
|
||||||
|
DWORD dwX;
|
||||||
|
DWORD dwY;
|
||||||
|
DWORD dwXSize;
|
||||||
|
DWORD dwYSize;
|
||||||
|
DWORD dwXCountChars;
|
||||||
|
DWORD dwYCountChars;
|
||||||
|
DWORD dwFillAttribute;
|
||||||
|
DWORD dwFlags;
|
||||||
|
WORD wShowWindow;
|
||||||
|
WORD cbReserved2;
|
||||||
|
PBYTE lpReserved2;
|
||||||
|
HANDLE hStdInput;
|
||||||
|
HANDLE hStdOutput;
|
||||||
|
HANDLE hStdError;
|
||||||
|
} STARTUPINFOW,*LPSTARTUPINFOW;
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
typedef STARTUPINFOW STARTUPINFO, *LPSTARTUPINFO;
|
||||||
|
#else
|
||||||
|
typedef STARTUPINFOA STARTUPINFO, *LPSTARTUPINFO;
|
||||||
|
#endif // UNICODE
|
||||||
|
|
||||||
|
typedef struct _PROCESS_INFORMATION
|
||||||
|
{
|
||||||
|
HANDLE hProcess;
|
||||||
|
HANDLE hThread;
|
||||||
|
DWORD dwProcessId;
|
||||||
|
DWORD dwThreadId;
|
||||||
|
} PROCESS_INFORMATION,*PPROCESS_INFORMATION,*LPPROCESS_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
|
||||||
|
|
||||||
WINBASEAPI
|
WINBASEAPI
|
||||||
BOOL
|
BOOL
|
||||||
WINAPI
|
WINAPI
|
||||||
SetThreadStackGuarantee(
|
SetThreadStackGuarantee(
|
||||||
_Inout_ PULONG StackSizeInBytes);
|
_Inout_ PULONG StackSizeInBytes);
|
||||||
|
|
||||||
|
#if (_WIN32_WINNT >= 0x0600)
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
FlushProcessWriteBuffers(
|
||||||
|
VOID);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
_Success_(return != FALSE)
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
InitializeProcThreadAttributeList(
|
||||||
|
_Out_writes_bytes_to_opt_(*lpSize,*lpSize) LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
|
||||||
|
_In_ DWORD dwAttributeCount,
|
||||||
|
_Reserved_ DWORD dwFlags,
|
||||||
|
_When_(lpAttributeList == nullptr,_Out_) _When_(lpAttributeList != nullptr,_Inout_) PSIZE_T lpSize);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
BOOL
|
||||||
|
WINAPI
|
||||||
|
UpdateProcThreadAttribute(
|
||||||
|
_Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
|
||||||
|
_In_ DWORD dwFlags,
|
||||||
|
_In_ DWORD_PTR Attribute,
|
||||||
|
_In_reads_bytes_opt_(cbSize) PVOID lpValue,
|
||||||
|
_In_ SIZE_T cbSize,
|
||||||
|
_Out_writes_bytes_opt_(cbSize) PVOID lpPreviousValue,
|
||||||
|
_In_opt_ PSIZE_T lpReturnSize);
|
||||||
|
|
||||||
|
WINBASEAPI
|
||||||
|
VOID
|
||||||
|
WINAPI
|
||||||
|
DeleteProcThreadAttributeList(
|
||||||
|
_Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList);
|
||||||
|
|
||||||
|
#endif // (_WIN32_WINNT >= 0x0600) || defined(__REACTOS__)
|
||||||
|
|
||||||
#if (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
#if (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
HANDLE
|
HANDLE
|
||||||
GetCurrentProcessToken(
|
GetCurrentProcessToken(
|
||||||
@@ -41,6 +140,7 @@ GetCurrentThreadEffectiveToken(
|
|||||||
{
|
{
|
||||||
return (HANDLE)(LONG_PTR)-6;
|
return (HANDLE)(LONG_PTR)-6;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
#endif // (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ extern "C" {
|
|||||||
|
|
||||||
#include <minwinbase.h>
|
#include <minwinbase.h>
|
||||||
#include <ioapiset.h>
|
#include <ioapiset.h>
|
||||||
|
#include <processthreadsapi.h>
|
||||||
#include <sysinfoapi.h>
|
#include <sysinfoapi.h>
|
||||||
#include <threadpoolapiset.h>
|
#include <threadpoolapiset.h>
|
||||||
#include <libloaderapi.h>
|
#include <libloaderapi.h>
|
||||||
@@ -701,54 +702,17 @@ typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
|
|||||||
typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
|
typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct _STARTUPINFOA {
|
typedef struct _STARTUPINFOEXA
|
||||||
DWORD cb;
|
{
|
||||||
LPSTR lpReserved;
|
STARTUPINFOA StartupInfo;
|
||||||
LPSTR lpDesktop;
|
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
|
||||||
LPSTR lpTitle;
|
} STARTUPINFOEXA, *LPSTARTUPINFOEXA;
|
||||||
DWORD dwX;
|
|
||||||
DWORD dwY;
|
|
||||||
DWORD dwXSize;
|
|
||||||
DWORD dwYSize;
|
|
||||||
DWORD dwXCountChars;
|
|
||||||
DWORD dwYCountChars;
|
|
||||||
DWORD dwFillAttribute;
|
|
||||||
DWORD dwFlags;
|
|
||||||
WORD wShowWindow;
|
|
||||||
WORD cbReserved2;
|
|
||||||
PBYTE lpReserved2;
|
|
||||||
HANDLE hStdInput;
|
|
||||||
HANDLE hStdOutput;
|
|
||||||
HANDLE hStdError;
|
|
||||||
} STARTUPINFOA,*LPSTARTUPINFOA;
|
|
||||||
|
|
||||||
typedef struct _STARTUPINFOW {
|
typedef struct _STARTUPINFOEXW
|
||||||
DWORD cb;
|
{
|
||||||
LPWSTR lpReserved;
|
STARTUPINFOW StartupInfo;
|
||||||
LPWSTR lpDesktop;
|
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
|
||||||
LPWSTR lpTitle;
|
} STARTUPINFOEXW, *LPSTARTUPINFOEXW;
|
||||||
DWORD dwX;
|
|
||||||
DWORD dwY;
|
|
||||||
DWORD dwXSize;
|
|
||||||
DWORD dwYSize;
|
|
||||||
DWORD dwXCountChars;
|
|
||||||
DWORD dwYCountChars;
|
|
||||||
DWORD dwFillAttribute;
|
|
||||||
DWORD dwFlags;
|
|
||||||
WORD wShowWindow;
|
|
||||||
WORD cbReserved2;
|
|
||||||
PBYTE lpReserved2;
|
|
||||||
HANDLE hStdInput;
|
|
||||||
HANDLE hStdOutput;
|
|
||||||
HANDLE hStdError;
|
|
||||||
} STARTUPINFOW,*LPSTARTUPINFOW;
|
|
||||||
|
|
||||||
typedef struct _PROCESS_INFORMATION {
|
|
||||||
HANDLE hProcess;
|
|
||||||
HANDLE hThread;
|
|
||||||
DWORD dwProcessId;
|
|
||||||
DWORD dwThreadId;
|
|
||||||
} PROCESS_INFORMATION,*PPROCESS_INFORMATION,*LPPROCESS_INFORMATION;
|
|
||||||
|
|
||||||
#if (_WIN32_WINNT >= 0x0500)
|
#if (_WIN32_WINNT >= 0x0500)
|
||||||
typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ;
|
typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ;
|
||||||
@@ -1164,6 +1128,7 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
|
|||||||
ProcThreadAttributeParentProcess = 0,
|
ProcThreadAttributeParentProcess = 0,
|
||||||
ProcThreadAttributeHandleList = 2,
|
ProcThreadAttributeHandleList = 2,
|
||||||
ProcThreadAttributeGroupAffinity = 3,
|
ProcThreadAttributeGroupAffinity = 3,
|
||||||
|
ProcThreadAttributePreferredNode = 4,
|
||||||
ProcThreadAttributeIdealProcessor = 5,
|
ProcThreadAttributeIdealProcessor = 5,
|
||||||
ProcThreadAttributeUmsThread = 6,
|
ProcThreadAttributeUmsThread = 6,
|
||||||
ProcThreadAttributeMitigationPolicy = 7,
|
ProcThreadAttributeMitigationPolicy = 7,
|
||||||
@@ -1174,11 +1139,20 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
|
|||||||
ProcThreadAttributeAllApplicationPackagesPolicy = 15,
|
ProcThreadAttributeAllApplicationPackagesPolicy = 15,
|
||||||
ProcThreadAttributeWin32kFilter = 16,
|
ProcThreadAttributeWin32kFilter = 16,
|
||||||
ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
|
ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
|
||||||
|
ProcThreadAttributeDesktopAppPolicy = 18,
|
||||||
|
ProcThreadAttributePseudoConsole = 22,
|
||||||
|
ProcThreadAttributeMitigationAuditPolicy = 24,
|
||||||
|
ProcThreadAttributeMachineType = 25,
|
||||||
|
ProcThreadAttributeComponentFilter = 26,
|
||||||
|
ProcThreadAttributeEnableOptionalXStateFeatures = 27,
|
||||||
|
ProcThreadAttributeTrustedApp = 29,
|
||||||
|
ProcThreadAttributeSveVectorLength = 30,
|
||||||
} PROC_THREAD_ATTRIBUTE_NUM;
|
} PROC_THREAD_ATTRIBUTE_NUM;
|
||||||
|
|
||||||
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
|
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
|
||||||
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
|
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
|
||||||
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
|
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
|
||||||
|
#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE (ProcThreadAttributeMachineType | PROC_THREAD_ATTRIBUTE_INPUT)
|
||||||
|
|
||||||
typedef DWORD
|
typedef DWORD
|
||||||
(WINAPI *PFE_EXPORT_FUNC)(
|
(WINAPI *PFE_EXPORT_FUNC)(
|
||||||
@@ -3241,7 +3215,6 @@ MapUserPhysicalPagesScatter(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
|
|
||||||
typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
|
typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
|
||||||
typedef ENUMRESLANGPROCW ENUMRESLANGPROC;
|
typedef ENUMRESLANGPROCW ENUMRESLANGPROC;
|
||||||
typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;
|
typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;
|
||||||
@@ -3449,7 +3422,6 @@ typedef PCACTCTXW PCACTCTX;
|
|||||||
#define WriteProfileSection WriteProfileSectionW
|
#define WriteProfileSection WriteProfileSectionW
|
||||||
#define WriteProfileString WriteProfileStringW
|
#define WriteProfileString WriteProfileStringW
|
||||||
#else
|
#else
|
||||||
typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
|
|
||||||
typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
|
typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
|
||||||
#if (_WIN32_WINNT >= 0x0501)
|
#if (_WIN32_WINNT >= 0x0501)
|
||||||
typedef ACTCTXA ACTCTX,*PACTCTX;
|
typedef ACTCTXA ACTCTX,*PACTCTX;
|
||||||
|
|||||||
@@ -1191,6 +1191,75 @@ typedef struct _TIMER_SET_COALESCABLE_TIMER_INFO {
|
|||||||
$endif (_NTDDK_)
|
$endif (_NTDDK_)
|
||||||
$if (_NTDDK_ || _WINNT_)
|
$if (_NTDDK_ || _WINNT_)
|
||||||
|
|
||||||
|
typedef union _ARM64_NT_NEON128
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
ULONGLONG Low;
|
||||||
|
LONGLONG High;
|
||||||
|
} DUMMYSTRUCTNAME;
|
||||||
|
double D[2];
|
||||||
|
float S[4];
|
||||||
|
USHORT H[8];
|
||||||
|
UCHAR B[16];
|
||||||
|
} ARM64_NT_NEON128, *PARM64_NT_NEON128;
|
||||||
|
|
||||||
|
#define ARM64_MAX_BREAKPOINTS 8
|
||||||
|
#define ARM64_MAX_WATCHPOINTS 2
|
||||||
|
|
||||||
|
typedef struct DECLSPEC_ALIGN(16) DECLSPEC_NOINITALL _ARM64_NT_CONTEXT
|
||||||
|
{
|
||||||
|
ULONG ContextFlags;
|
||||||
|
ULONG Cpsr;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
ULONG64 X0;
|
||||||
|
ULONG64 X1;
|
||||||
|
ULONG64 X2;
|
||||||
|
ULONG64 X3;
|
||||||
|
ULONG64 X4;
|
||||||
|
ULONG64 X5;
|
||||||
|
ULONG64 X6;
|
||||||
|
ULONG64 X7;
|
||||||
|
ULONG64 X8;
|
||||||
|
ULONG64 X9;
|
||||||
|
ULONG64 X10;
|
||||||
|
ULONG64 X11;
|
||||||
|
ULONG64 X12;
|
||||||
|
ULONG64 X13;
|
||||||
|
ULONG64 X14;
|
||||||
|
ULONG64 X15;
|
||||||
|
ULONG64 X16;
|
||||||
|
ULONG64 X17;
|
||||||
|
ULONG64 X18;
|
||||||
|
ULONG64 X19;
|
||||||
|
ULONG64 X20;
|
||||||
|
ULONG64 X21;
|
||||||
|
ULONG64 X22;
|
||||||
|
ULONG64 X23;
|
||||||
|
ULONG64 X24;
|
||||||
|
ULONG64 X25;
|
||||||
|
ULONG64 X26;
|
||||||
|
ULONG64 X27;
|
||||||
|
ULONG64 X28;
|
||||||
|
ULONG64 Fp;
|
||||||
|
ULONG64 Lr;
|
||||||
|
} DUMMYSTRUCTNAME;
|
||||||
|
ULONG64 X[31];
|
||||||
|
} DUMMYUNIONNAME;
|
||||||
|
ULONG64 Sp;
|
||||||
|
ULONG64 Pc;
|
||||||
|
ARM64_NT_NEON128 V[32];
|
||||||
|
ULONG Fpcr;
|
||||||
|
ULONG Fpsr;
|
||||||
|
ULONG Bcr[ARM64_MAX_BREAKPOINTS];
|
||||||
|
ULONG64 Bvr[ARM64_MAX_BREAKPOINTS];
|
||||||
|
ULONG Wcr[ARM64_MAX_WATCHPOINTS];
|
||||||
|
ULONG64 Wvr[ARM64_MAX_WATCHPOINTS];
|
||||||
|
} ARM64_NT_CONTEXT, *PARM64_NT_CONTEXT;
|
||||||
|
|
||||||
#define XSTATE_LEGACY_FLOATING_POINT 0
|
#define XSTATE_LEGACY_FLOATING_POINT 0
|
||||||
#define XSTATE_LEGACY_SSE 1
|
#define XSTATE_LEGACY_SSE 1
|
||||||
#define XSTATE_GSSE 2
|
#define XSTATE_GSSE 2
|
||||||
|
|||||||
@@ -38,6 +38,14 @@ $endif()
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DECLSPEC_NOINITALL
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#define DECLSPEC_NOINITALL __pragma(warning(push)) __pragma(warning(disable:4845)) __declspec(no_init_all) __pragma(warning(pop))
|
||||||
|
#else
|
||||||
|
#define DECLSPEC_NOINITALL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Default to strict */
|
/* Default to strict */
|
||||||
#ifndef NO_STRICT
|
#ifndef NO_STRICT
|
||||||
#ifndef STRICT
|
#ifndef STRICT
|
||||||
|
|||||||
@@ -62,6 +62,14 @@
|
|||||||
#pragma warning(disable:4214)
|
#pragma warning(disable:4214)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DECLSPEC_NOINITALL
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#define DECLSPEC_NOINITALL __pragma(warning(push)) __pragma(warning(disable:4845)) __declspec(no_init_all) __pragma(warning(pop))
|
||||||
|
#else
|
||||||
|
#define DECLSPEC_NOINITALL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -561,6 +561,10 @@
|
|||||||
#define PAGE_WRITECOMBINE 0x0400
|
#define PAGE_WRITECOMBINE 0x0400
|
||||||
#define MEM_COMMIT 0x1000
|
#define MEM_COMMIT 0x1000
|
||||||
#define MEM_RESERVE 0x2000
|
#define MEM_RESERVE 0x2000
|
||||||
|
#define MEM_REPLACE_PLACEHOLDER 0x00004000
|
||||||
|
#define MEM_RESERVE_PLACEHOLDER 0x00040000
|
||||||
|
#define MEM_COALESCE_PLACEHOLDERS 0x00000001
|
||||||
|
#define MEM_PRESERVE_PLACEHOLDER 0x00000002
|
||||||
#define MEM_DECOMMIT 0x4000
|
#define MEM_DECOMMIT 0x4000
|
||||||
#define MEM_RELEASE 0x8000
|
#define MEM_RELEASE 0x8000
|
||||||
#define MEM_FREE 0x10000
|
#define MEM_FREE 0x10000
|
||||||
@@ -1217,6 +1221,12 @@ typedef enum MEM_EXTENDED_PARAMETER_TYPE
|
|||||||
MemExtendedParameterMax
|
MemExtendedParameterMax
|
||||||
} MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
|
} MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
|
||||||
|
|
||||||
|
typedef struct _MEM_ADDRESS_REQUIREMENTS {
|
||||||
|
PVOID LowestStartingAddress;
|
||||||
|
PVOID HighestEndingAddress;
|
||||||
|
SIZE_T Alignment;
|
||||||
|
} MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS;
|
||||||
|
|
||||||
#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8
|
#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8
|
||||||
|
|
||||||
typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER {
|
typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER {
|
||||||
@@ -1249,19 +1259,6 @@ typedef struct _SCOPE_TABLE_ARM {
|
|||||||
|
|
||||||
typedef SCOPE_TABLE_ARM SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
|
typedef SCOPE_TABLE_ARM SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
|
||||||
|
|
||||||
typedef union _ARM64_NT_NEON128
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
ULONGLONG Low;
|
|
||||||
LONGLONG High;
|
|
||||||
} DUMMYSTRUCTNAME;
|
|
||||||
double D[2];
|
|
||||||
float S[4];
|
|
||||||
WORD H[8];
|
|
||||||
BYTE B[16];
|
|
||||||
} ARM64_NT_NEON128, *PARM64_NT_NEON128;
|
|
||||||
|
|
||||||
typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
|
typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
|
||||||
DWORD BeginAddress;
|
DWORD BeginAddress;
|
||||||
union {
|
union {
|
||||||
@@ -1291,6 +1288,7 @@ typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY ARM64_RUNTIME_FUNCTION, *PARM
|
|||||||
#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
|
#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
|
||||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
|
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
|
||||||
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
|
||||||
|
#define CONTEXT_XSTATE (CONTEXT_i386|0x00000040L)
|
||||||
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
|
||||||
#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | \
|
#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | \
|
||||||
CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | \
|
CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | \
|
||||||
@@ -1350,6 +1348,8 @@ typedef struct _CONTEXT {
|
|||||||
#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
|
#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
|
||||||
#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
|
#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
|
||||||
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
|
#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
|
||||||
|
#define CONTEXT_XSTATE (CONTEXT_AMD64 | 0x40L)
|
||||||
|
#define CONTEXT_KERNEL_CET (CONTEXT_AMD64 | 0x80L)
|
||||||
|
|
||||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
|
#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_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
|
||||||
@@ -2457,21 +2457,53 @@ typedef struct DECLSPEC_ALIGN(16) _ARM64EC_NT_CONTEXT
|
|||||||
} DUMMYUNIONNAME;
|
} DUMMYUNIONNAME;
|
||||||
} ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT;
|
} ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT;
|
||||||
|
|
||||||
|
typedef struct _DISPATCHER_CONTEXT_ARM64
|
||||||
|
{
|
||||||
|
ULONG_PTR ControlPc;
|
||||||
|
ULONG_PTR ImageBase;
|
||||||
|
PARM64_RUNTIME_FUNCTION FunctionEntry;
|
||||||
|
ULONG_PTR EstablisherFrame;
|
||||||
|
ULONG_PTR TargetPc;
|
||||||
|
PARM64_NT_CONTEXT ContextRecord;
|
||||||
|
PEXCEPTION_ROUTINE LanguageHandler;
|
||||||
|
PVOID HandlerData;
|
||||||
|
struct _UNWIND_HISTORY_TABLE *HistoryTable;
|
||||||
|
DWORD ScopeIndex;
|
||||||
|
BOOLEAN ControlPcIsUnwound;
|
||||||
|
PBYTE NonVolatileRegisters;
|
||||||
|
} DISPATCHER_CONTEXT_ARM64, *PDISPATCHER_CONTEXT_ARM64;
|
||||||
|
|
||||||
|
#define NONVOL_INT_NUMREG_ARM64 11
|
||||||
|
#define NONVOL_FP_NUMREG_ARM64 8
|
||||||
|
|
||||||
|
#define NONVOL_INT_SIZE_ARM64 (NONVOL_INT_NUMREG_ARM64 * sizeof(DWORD64))
|
||||||
|
#define NONVOL_FP_SIZE_ARM64 (NONVOL_FP_NUMREG_ARM64 * sizeof(double))
|
||||||
|
|
||||||
|
typedef union _DISPATCHER_CONTEXT_NONVOLREG_ARM64
|
||||||
|
{
|
||||||
|
BYTE Buffer[NONVOL_INT_SIZE_ARM64 + NONVOL_FP_SIZE_ARM64];
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
DWORD64 GpNvRegs[NONVOL_INT_NUMREG_ARM64];
|
||||||
|
double FpNvRegs[NONVOL_FP_NUMREG_ARM64];
|
||||||
|
} DUMMYSTRUCTNAME;
|
||||||
|
} DISPATCHER_CONTEXT_NONVOLREG_ARM64;
|
||||||
|
|
||||||
/* The WoW64 context */
|
/* The WoW64 context */
|
||||||
#define WOW64_CONTEXT_i386 0x00010000
|
#define WOW64_CONTEXT_i386 0x00010000
|
||||||
#define WOW64_CONTEXT_i486 0x00010000
|
#define WOW64_CONTEXT_i486 0x00010000
|
||||||
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001))
|
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | 0x00000001L)
|
||||||
#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000002))
|
#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | 0x00000002L)
|
||||||
#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000004))
|
#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | 0x00000004L)
|
||||||
#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000008))
|
#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | 0x00000008L)
|
||||||
#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000010))
|
#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | 0x00000010L)
|
||||||
#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000020))
|
#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | 0x00000020L)
|
||||||
#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
|
#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
|
||||||
#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | \
|
#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | \
|
||||||
WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | \
|
WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | \
|
||||||
WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS)
|
WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS)
|
||||||
|
|
||||||
#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000040))
|
#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | 0x00000040L)
|
||||||
|
|
||||||
#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
|
#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
|
||||||
#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
|
#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
|
||||||
@@ -4119,6 +4151,17 @@ typedef struct _POWER_ACTION_POLICY {
|
|||||||
#define PO_THROTTLE_ADAPTIVE 3
|
#define PO_THROTTLE_ADAPTIVE 3
|
||||||
#define PO_THROTTLE_MAXIMUM 4
|
#define PO_THROTTLE_MAXIMUM 4
|
||||||
|
|
||||||
|
typedef struct _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION
|
||||||
|
{
|
||||||
|
DWORD Machine : 16;
|
||||||
|
DWORD KernelMode : 1;
|
||||||
|
DWORD UserMode : 1;
|
||||||
|
DWORD Native : 1;
|
||||||
|
DWORD Process : 1;
|
||||||
|
DWORD WoW64Container : 1;
|
||||||
|
DWORD ReservedZero0 : 11;
|
||||||
|
} SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION;
|
||||||
|
|
||||||
typedef struct _SYSTEM_POWER_LEVEL {
|
typedef struct _SYSTEM_POWER_LEVEL {
|
||||||
BOOLEAN Enable;
|
BOOLEAN Enable;
|
||||||
BYTE Spare[3];
|
BYTE Spare[3];
|
||||||
|
|||||||
Reference in New Issue
Block a user