[PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)

- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
This commit is contained in:
Carl J. Bialorucki 2025-07-05 15:14:31 -06:00 committed by GitHub
parent a993c589ae
commit a753f34e30
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 4663 additions and 696 deletions

View file

@ -1603,9 +1603,9 @@ typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
typedef struct _SYSTEM_HANDLE_INFORMATION_EX
{
ULONG_PTR Count;
ULONG_PTR NumberOfHandles;
ULONG_PTR Reserved;
SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handle[1];
SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles[1];
} SYSTEM_HANDLE_INFORMATION_EX, *PSYSTEM_HANDLE_INFORMATION_EX;
// FIXME: Class 65-89

View file

@ -17,6 +17,23 @@ WINAPI
SetThreadStackGuarantee(
_Inout_ PULONG StackSizeInBytes);
#if (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
FORCEINLINE
HANDLE
GetCurrentProcessToken(
VOID)
{
return (HANDLE)(LONG_PTR)-4;
}
FORCEINLINE
HANDLE
GetCurrentThreadToken(
VOID)
{
return (HANDLE)(LONG_PTR)-5;
}
FORCEINLINE
HANDLE
GetCurrentThreadEffectiveToken(
@ -24,6 +41,7 @@ GetCurrentThreadEffectiveToken(
{
return (HANDLE)(LONG_PTR)-6;
}
#endif // (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
#ifdef __cplusplus
} // extern "C"

View file

@ -0,0 +1,64 @@
/*
* PROJECT: ReactOS SDK
* LICENSE: MIT (https://spdx.org/licenses/MIT)
* PURPOSE: API definitions for api-ms-win-shcore-scaling-l1-1-1.dll
* COPYRIGHT: Copyright 2025 Carl Bialorucki (carl.bialorucki@reactos.org)
*/
#pragma once
#include <shtypes.h>
typedef enum
{
MDT_EFFECTIVE_DPI,
MDT_ANGULAR_DPI,
MDT_RAW_DPI,
MDT_DEFAULT = MDT_EFFECTIVE_DPI
} MONITOR_DPI_TYPE;
typedef enum
{
PROCESS_DPI_UNAWARE,
PROCESS_SYSTEM_DPI_AWARE,
PROCESS_PER_MONITOR_DPI_AWARE
} PROCESS_DPI_AWARENESS;
typedef enum
{
DEVICE_PRIMARY,
DEVICE_IMMERSIVE,
} DISPLAY_DEVICE_TYPE;
typedef enum
{
SCF_VALUE_NONE,
SCF_SCALE,
SCF_PHYSICAL,
} SCALE_CHANGE_FLAGS;
#if (NTDDI_VERSION >= NTDDI_WIN8)
DEVICE_SCALE_FACTOR WINAPI GetScaleFactorForDevice(_In_ DISPLAY_DEVICE_TYPE deviceType);
HRESULT WINAPI RegisterScaleChangeNotifications(_In_ DISPLAY_DEVICE_TYPE displayDevice, _In_ HWND hwndNotify, _In_ UINT uMsgNotify, _Out_ DWORD *pdwCookie);
HRESULT WINAPI RevokeScaleChangeNotifications(_In_ DISPLAY_DEVICE_TYPE displayDevice, _In_ DWORD dwCookie);
#endif // (NTDDI_VERSION >= NTDDI_WIN8)
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
HRESULT WINAPI GetScaleFactorForMonitor(_In_ HMONITOR hMon, _Out_ DEVICE_SCALE_FACTOR *pScale);
HRESULT WINAPI RegisterScaleChangeEvent(_In_ HANDLE hEvent, _Out_ DWORD_PTR *pdwCookie);
HRESULT WINAPI UnregisterScaleChangeEvent(_In_ DWORD_PTR dwCookie);
HRESULT WINAPI SetProcessDpiAwareness(_In_ PROCESS_DPI_AWARENESS value);
HRESULT WINAPI GetProcessDpiAwareness(_In_opt_ HANDLE hprocess, _Out_ PROCESS_DPI_AWARENESS *value);
HRESULT WINAPI GetDpiForMonitor(_In_ HMONITOR hmonitor, _In_ MONITOR_DPI_TYPE dpiType, _Out_ UINT *dpiX, _Out_ UINT *dpiY);
#endif // (NTDDI_VERSION >= NTDDI_WINBLUE)
#if (NTDDI_VERSION >= NTDDI_WIN10)
typedef enum
{
SHELL_UI_COMPONENT_TASKBARS,
SHELL_UI_COMPONENT_NOTIFICATIONAREA,
SHELL_UI_COMPONENT_DESKBAND,
} SHELL_UI_COMPONENT;
UINT WINAPI GetDpiForShellUIComponent(_In_ SHELL_UI_COMPONENT);
#endif // (NTDDI_VERSION >= NTDDI_WIN10)

View file

@ -189,3 +189,24 @@ cpp_quote("#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004")
cpp_quote("#define PERCEIVEDFLAG_GDIPLUS 0x0010")
cpp_quote("#define PERCEIVEDFLAG_WMSDK 0x0020")
cpp_quote("#define PERCEIVEDFLAG_ZIPFOLDER 0x0040")
typedef [v1_enum] enum DEVICE_SCALE_FACTOR
{
DEVICE_SCALE_FACTOR_INVALID = 0,
SCALE_100_PERCENT = 100,
SCALE_120_PERCENT = 120,
SCALE_125_PERCENT = 125,
SCALE_140_PERCENT = 140,
SCALE_150_PERCENT = 150,
SCALE_160_PERCENT = 160,
SCALE_175_PERCENT = 175,
SCALE_180_PERCENT = 180,
SCALE_200_PERCENT = 200,
SCALE_225_PERCENT = 225,
SCALE_250_PERCENT = 250,
SCALE_300_PERCENT = 300,
SCALE_350_PERCENT = 350,
SCALE_400_PERCENT = 400,
SCALE_450_PERCENT = 450,
SCALE_500_PERCENT = 500
} DEVICE_SCALE_FACTOR;

File diff suppressed because it is too large Load diff

View file

@ -10,8 +10,8 @@ extern "C" {
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4201)
#pragma warning(disable:4820)
#pragma warning(disable:4201) // nameless struct or union
#pragma warning(disable:4820) // padding after member
#endif
/* Get/SetSystemPaletteUse() values */
@ -1398,13 +1398,459 @@ typedef struct _DRAWPATRECT {
#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
#define DISPLAY_DEVICE_REMOVABLE 0x00000020
#define DISPLAY_DEVICE_DISCONNECT 0x02000000
#define DISPLAY_DEVICE_REMOTE 0x04000000
#define DISPLAY_DEVICE_TS_COMPATIBLE 0x00200000
#define DISPLAY_DEVICE_MODESPRUNED 0x08000000
#define DISPLAY_DEVICE_ACTIVE 0x00000001
#define DISPLAY_DEVICE_ATTACHED 0x00000002
#if (_WIN32_WINNT >= 0x500)
#define DISPLAY_DEVICE_REMOVABLE 0x00000020
#define DISPLAY_DEVICE_RDPUDD 0x01000000
#define DISPLAY_DEVICE_DISCONNECT 0x02000000
#define DISPLAY_DEVICE_REMOTE 0x04000000
#define DISPLAY_DEVICE_ACTIVE 0x00000001
#define DISPLAY_DEVICE_ATTACHED 0x00000002
#endif // (_WIN32_WINNT >= 0x500)
#if (_WIN32_WINNT >= 0x600)
#define DISPLAY_DEVICE_UNSAFE_MODES_ON 0x00080000
#endif // (_WIN32_WINNT >= 0x600)
#if (_WIN32_WINNT >= 0x602)
#define DISPLAY_DEVICE_ACC_DRIVER 0x00000040
#endif // (_WIN32_WINNT >= 0x602)
#if (WINVER >= 0x601)
#define DISPLAYCONFIG_PATH_ACTIVE 0x00000001
#define DISPLAYCONFIG_PATH_PREFERRED_UNSCALED 0x00000004
#define DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE 0x00000008
#define DISPLAYCONFIG_PATH_BOOST_REFRESH_RATE 0x00000010
#define DISPLAYCONFIG_PATH_VALID_FLAGS 0x0000001D
#define DISPLAYCONFIG_PATH_MODE_IDX_INVALID 0xFFFFFFFF
#define DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID 0x0000FFFF
#define DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID 0x0000FFFF
#define DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID 0x0000FFFF
#define DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID 0x0000FFFF
#define DISPLAYCONFIG_SOURCE_IN_USE 0x00000001
#define DISPLAYCONFIG_TARGET_IN_USE 0x00000001
#define DISPLAYCONFIG_TARGET_FORCIBLE 0x00000002
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT 0x00000004
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH 0x00000008
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM 0x00000010
#define DISPLAYCONFIG_TARGET_IS_HMD 0x00000020
#define QDC_ALL_PATHS 0x00000001
#define QDC_ONLY_ACTIVE_PATHS 0x00000002
#define QDC_DATABASE_CURRENT 0x00000004
#define QDC_VIRTUAL_MODE_AWARE 0x00000010
#define QDC_INCLUDE_HMD 0x00000020
#define QDC_VIRTUAL_REFRESH_RATE_AWARE 0x00000040
#define SDC_TOPOLOGY_INTERNAL 0x00000001
#define SDC_TOPOLOGY_CLONE 0x00000002
#define SDC_TOPOLOGY_EXTEND 0x00000004
#define SDC_TOPOLOGY_EXTERNAL 0x00000008
#define SDC_TOPOLOGY_SUPPLIED 0x00000010
#define SDC_USE_DATABASE_CURRENT (SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CLONE | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL)
#define SDC_USE_SUPPLIED_DISPLAY_CONFIG 0x00000020
#define SDC_VALIDATE 0x00000040
#define SDC_APPLY 0x00000080
#define SDC_NO_OPTIMIZATION 0x00000100
#define SDC_SAVE_TO_DATABASE 0x00000200
#define SDC_ALLOW_CHANGES 0x00000400
#define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800
#define SDC_FORCE_MODE_ENUMERATION 0x00001000
#define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000
#define SDC_VIRTUAL_MODE_AWARE 0x00008000
#define SDC_VIRTUAL_REFRESH_RATE_AWARE 0x00020000
typedef struct DISPLAYCONFIG_RATIONAL
{
UINT32 Numerator;
UINT32 Denominator;
} DISPLAYCONFIG_RATIONAL;
typedef enum
{
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_USB_TUNNEL,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY;
typedef enum
{
DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED,
DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE,
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED,
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED,
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3,
DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_SCANLINE_ORDERING;
typedef struct DISPLAYCONFIG_2DREGION
{
UINT32 cx;
UINT32 cy;
} DISPLAYCONFIG_2DREGION;
typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO
{
UINT64 pixelRate;
DISPLAYCONFIG_RATIONAL hSyncFreq;
DISPLAYCONFIG_RATIONAL vSyncFreq;
DISPLAYCONFIG_2DREGION activeSize;
DISPLAYCONFIG_2DREGION totalSize;
union
{
struct
{
UINT32 videoStandard : 16;
UINT32 vSyncFreqDivider : 6;
UINT32 reserved : 10;
} AdditionalSignalInfo;
UINT32 videoStandard;
} DUMMYUNIONNAME;
DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
} DISPLAYCONFIG_VIDEO_SIGNAL_INFO;
typedef enum
{
DISPLAYCONFIG_SCALING_IDENTITY = 1,
DISPLAYCONFIG_SCALING_CENTERED,
DISPLAYCONFIG_SCALING_STRETCHED,
DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX,
DISPLAYCONFIG_SCALING_CUSTOM,
DISPLAYCONFIG_SCALING_PREFERRED = 128,
DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_SCALING;
typedef enum
{
DISPLAYCONFIG_ROTATION_IDENTITY = 1,
DISPLAYCONFIG_ROTATION_ROTATE90,
DISPLAYCONFIG_ROTATION_ROTATE180,
DISPLAYCONFIG_ROTATION_ROTATE270,
DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_ROTATION;
typedef enum
{
DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1,
DISPLAYCONFIG_MODE_INFO_TYPE_TARGET,
DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE,
DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_MODE_INFO_TYPE;
typedef enum
{
DISPLAYCONFIG_PIXELFORMAT_8BPP = 1,
DISPLAYCONFIG_PIXELFORMAT_16BPP,
DISPLAYCONFIG_PIXELFORMAT_24BPP,
DISPLAYCONFIG_PIXELFORMAT_32BPP,
DISPLAYCONFIG_PIXELFORMAT_NONGDI,
DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_PIXELFORMAT;
typedef struct DISPLAYCONFIG_SOURCE_MODE
{
UINT32 width;
UINT32 height;
DISPLAYCONFIG_PIXELFORMAT pixelFormat;
POINTL position;
} DISPLAYCONFIG_SOURCE_MODE;
typedef struct DISPLAYCONFIG_TARGET_MODE
{
DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo;
} DISPLAYCONFIG_TARGET_MODE;
typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO
{
POINTL PathSourceSize;
RECTL DesktopImageRegion;
RECTL DesktopImageClip;
} DISPLAYCONFIG_DESKTOP_IMAGE_INFO;
typedef struct DISPLAYCONFIG_MODE_INFO
{
DISPLAYCONFIG_MODE_INFO_TYPE infoType;
UINT32 id;
LUID adapterId;
union
{
DISPLAYCONFIG_TARGET_MODE targetMode;
DISPLAYCONFIG_SOURCE_MODE sourceMode;
DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo;
} DUMMYUNIONNAME;
} DISPLAYCONFIG_MODE_INFO;
typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO
{
LUID adapterId;
UINT32 id;
union
{
UINT32 modeInfoIdx;
struct
{
UINT32 cloneGroupId : 16;
UINT32 sourceModeInfoIdx : 16;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
UINT32 statusFlags;
} DISPLAYCONFIG_PATH_SOURCE_INFO;
typedef struct DISPLAYCONFIG_PATH_TARGET_INFO
{
LUID adapterId;
UINT32 id;
union
{
UINT32 modeInfoIdx;
struct
{
UINT32 desktopModeInfoIdx : 16;
UINT32 targetModeInfoIdx : 16;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
DISPLAYCONFIG_ROTATION rotation;
DISPLAYCONFIG_SCALING scaling;
DISPLAYCONFIG_RATIONAL refreshRate;
DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
BOOL targetAvailable;
UINT32 statusFlags;
} DISPLAYCONFIG_PATH_TARGET_INFO;
typedef struct DISPLAYCONFIG_PATH_INFO
{
DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo;
DISPLAYCONFIG_PATH_TARGET_INFO targetInfo;
UINT32 flags;
} DISPLAYCONFIG_PATH_INFO;
typedef enum DISPLAYCONFIG_TOPOLOGY_ID
{
DISPLAYCONFIG_TOPOLOGY_INTERNAL = 1,
DISPLAYCONFIG_TOPOLOGY_CLONE = 2,
DISPLAYCONFIG_TOPOLOGY_EXTEND = 4,
DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 8,
DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_TOPOLOGY_ID;
typedef enum
{
DISPLAYCONFIG_DEVICE_INFO_SET_SOURCE_DPI_SCALE = -4, // Needed for Wine's tests
DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_DPI_SCALE = -3, // Needed for Wine's tests
DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE,
DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME,
DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE,
DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION,
DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION,
DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO,
DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE,
DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL,
DISPLAYCONFIG_DEVICE_INFO_GET_MONITOR_SPECIALIZATION,
DISPLAYCONFIG_DEVICE_INFO_SET_MONITOR_SPECIALIZATION,
DISPLAYCONFIG_DEVICE_INFO_SET_RESERVED1,
DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO_2,
DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE,
DISPLAYCONFIG_DEVICE_INFO_SET_WCG_STATE,
DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_DEVICE_INFO_TYPE;
typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER
{
DISPLAYCONFIG_DEVICE_INFO_TYPE type;
UINT32 size;
LUID adapterId;
UINT32 id;
} DISPLAYCONFIG_DEVICE_INFO_HEADER;
typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
WCHAR viewGdiDeviceName[CCHDEVICENAME];
} DISPLAYCONFIG_SOURCE_DEVICE_NAME;
typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS
{
union
{
struct
{
UINT32 friendlyNameFromEdid : 1;
UINT32 friendlyNameForced : 1;
UINT32 edidIdsValid : 1;
UINT32 reserved : 29;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYUNIONNAME;
} DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS;
typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags;
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
UINT16 edidManufactureId;
UINT16 edidProductCodeId;
UINT32 connectorInstance;
WCHAR monitorFriendlyDeviceName[64];
WCHAR monitorDevicePath[128];
} DISPLAYCONFIG_TARGET_DEVICE_NAME;
typedef struct DISPLAYCONFIG_TARGET_PREFERRED_MODE
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
UINT32 width;
UINT32 height;
DISPLAYCONFIG_TARGET_MODE targetMode;
} DISPLAYCONFIG_TARGET_PREFERRED_MODE;
typedef struct DISPLAYCONFIG_ADAPTER_NAME
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
WCHAR adapterDevicePath[128];
} DISPLAYCONFIG_ADAPTER_NAME;
typedef struct DISPLAYCONFIG_TARGET_BASE_TYPE
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology;
} DISPLAYCONFIG_TARGET_BASE_TYPE;
typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 bootPersistenceOn : 1;
UINT32 reserved : 31;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYUNIONNAME;
} DISPLAYCONFIG_SET_TARGET_PERSISTENCE;
typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 disableMonitorVirtualResolution : 1;
UINT32 reserved : 31;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYSTRUCTNAME;
} DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION;
typedef enum _DISPLAYCONFIG_COLOR_ENCODING
{
DISPLAYCONFIG_COLOR_ENCODING_RGB,
DISPLAYCONFIG_COLOR_ENCODING_YCBCR444,
DISPLAYCONFIG_COLOR_ENCODING_YCBCR422,
DISPLAYCONFIG_COLOR_ENCODING_YCBCR420,
DISPLAYCONFIG_COLOR_ENCODING_INTENSITY,
DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_COLOR_ENCODING;
typedef struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 advancedColorSupported : 1;
UINT32 advancedColorEnabled : 1;
UINT32 wideColorEnforced : 1;
UINT32 advancedColorForceDisabled : 1;
UINT32 reserved :28;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYUNIONNAME;
DISPLAYCONFIG_COLOR_ENCODING colorEncoding;
UINT32 bitsPerColorChannel;
} DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO;
typedef struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 enableAdvancedColor :1;
UINT32 reserved :31;
} DUMMYSTRUCTNAME;
UINT32 value;
}DUMMYUNIONNAME;
} DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE;
typedef struct _DISPLAYCONFIG_SDR_WHITE_LEVEL
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
ULONG SDRWhiteLevel;
} DISPLAYCONFIG_SDR_WHITE_LEVEL;
typedef struct _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 isSpecializationEnabled : 1;
UINT32 isSpecializationAvailableForMonitor : 1;
UINT32 isSpecializationAvailableForSystem : 1;
UINT32 reserved : 29;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYUNIONNAME;
} DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION;
typedef struct _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 isSpecializationEnabled : 1;
UINT32 reserved : 31;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYUNIONNAME;
GUID specializationType;
GUID specializationSubType;
WCHAR specializationApplicationName[128];
} DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION;
#endif // (WINVER >= 0x601)
#ifndef RC_INVOKED
typedef struct _ABC {

View file

@ -7,8 +7,8 @@ extern "C" {
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:4201)
#pragma warning(disable:4820)
#pragma warning(disable:4201) // nameless struct or union
#pragma warning(disable:4820) // padding after member
#endif
#if !defined(_USER32_)
@ -1586,6 +1586,15 @@ extern "C" {
#define FE_FONTSMOOTHINGORIENTATIONRGB 0x0001
#endif
#endif
#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
#define SPI_GETHANDEDNESS 0x2024
#define SPI_SETHANDEDNESS 0x2025
typedef enum tagHANDEDNESS
{
HANDEDNESS_LEFT,
HANDEDNESS_RIGHT
} HANDEDNESS, *PHANDEDNESS;
#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS4)
#define SPIF_UPDATEINIFILE 1
#define SPIF_SENDCHANGE 2
@ -1931,6 +1940,7 @@ extern "C" {
#if (_WIN32_WINNT >= 0x0501)
#define WM_THEMECHANGED 794
#define WM_CLIPBOARDUPDATE 797
#endif
#define BM_CLICK 245
@ -2060,7 +2070,14 @@ extern "C" {
#define LB_GETITEMDATA 409
#define LB_GETITEMHEIGHT 417
#define LB_GETITEMRECT 408
#if (_WIN32_WINNT >= 0x501)
#define LB_GETLISTBOXINFO 434
#define LB_MSGMAX 435
#elif (WINVER >= 0x400)
#define LB_MSGMAX 432
#else
#define LB_MSGMAX 424
#endif /* (_WIN32_WINNT >= 0x501) */
#define LB_GETLOCALE 422
#define LB_GETSEL 391
#define LB_GETSELCOUNT 400
@ -2625,6 +2642,12 @@ extern "C" {
#define EC_LEFTMARGIN 1
#define EC_RIGHTMARGIN 2
#define EC_USEFONTINFO 0xffff
#if (WINVER >= 0x500)
#define EMSIS_COMPOSITIONSTRING 1
#define EIMES_GETCOMPSTRATONCE 1
#define EIMES_CANCELCOMPSTRINFOCUS 2
#define EIMES_COMPLETECOMPSTRKILLFOCUS 4
#endif /* (WINVER >= 0x500) */
#define DC_HASDEFID 0x534B
#define DLGC_WANTARROWS 1
#define DLGC_WANTTAB 2
@ -2675,6 +2698,9 @@ extern "C" {
#define FLASHW_TIMERNOFG 12
#endif /* (WINVER >= 0x0500) */
#define CURSOR_SHOWING 0x00000001
#if (WINVER >= 0x602)
#define CURSOR_SUPPRESSED 0x00000002
#endif /* (WINVER >= 0x602) */
#define WS_ACTIVECAPTION 0x00000001
#if (_WIN32_WINNT >= 0x0400)
#define INPUT_MOUSE 0

File diff suppressed because it is too large Load diff

View file

@ -964,6 +964,7 @@ typedef struct DECLSPEC_ALIGN(16) _XSAVE_FORMAT {
ULONG Cr0NpxState;
#endif
} XSAVE_FORMAT, *PXSAVE_FORMAT;
typedef XSAVE_FORMAT XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
typedef struct DECLSPEC_ALIGN(8) _XSAVE_AREA_HEADER {
ULONG64 Mask;

View file

@ -83,6 +83,8 @@
#else
# define __WINE_ALLOC_SIZE(...)
#endif
#define __WINE_DEALLOC(...)
#define __WINE_MALLOC
/*#endif*/
#ifdef __GNUC__
@ -349,7 +351,7 @@
/* also in ddk/winddk.h */
#define DUPLICATE_CLOSE_SOURCE 0x00000001
#define DUPLICATE_SAME_ACCESS 0x00000002
#define DUPLICATE_SAME_ACCESS 0x00000002
/* end winddk.k */
#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
@ -484,6 +486,11 @@
#define PROCESSOR_ARCHITECTURE_ALPHA64 7
#define PROCESSOR_ARCHITECTURE_MSIL 8
#define PROCESSOR_ARCHITECTURE_AMD64 9
#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10
#define PROCESSOR_ARCHITECTURE_NEUTRAL 11
#define PROCESSOR_ARCHITECTURE_ARM64 12
#define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 13
#define PROCESSOR_ARCHITECTURE_IA32_ON_ARM64 14
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
/* also in ddk/ntifs.h */
@ -565,6 +572,14 @@
#define MEM_PHYSICAL 0x400000
#define MEM_4MB_PAGES 0x80000000
#define MEM_IMAGE SEC_IMAGE
#define MEM_EXTENDED_PARAMETER_GRAPHICS 0x00000001
#define MEM_EXTENDED_PARAMETER_NONPAGED 0x00000002
#define MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL 0x00000004
#define MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x00000008
#define MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x00000010
#define MEM_EXTENDED_PARAMETER_SOFT_FAULT_PAGES 0x00000020
#define MEM_EXTENDED_PARAMETER_EC_CODE 0x00000040
#define MEM_EXTENDED_PARAMETER_NUMA_NODE_MANDATORY MINLONG64
#define SEC_NO_CHANGE 0x00400000
#define SEC_FILE 0x00800000
#define SEC_IMAGE 0x01000000
@ -1074,6 +1089,7 @@
#define WT_TRANSFER_IMPERSONATION 0x00000100
#define WT_SET_MAX_THREADPOOL_THREADS(flags,limit) ((flags)|=(limit)<<16)
typedef VOID (NTAPI *WORKERCALLBACKFUNC)(PVOID);
typedef VOID (NTAPI *PFLS_CALLBACK_FUNCTION)(PVOID);
#if (_WIN32_WINNT >= 0x0501)
#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
@ -1082,9 +1098,11 @@ typedef VOID (NTAPI *WORKERCALLBACKFUNC)(PVOID);
#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
#define ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE 8
#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
#define ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS 10
#define ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO 11
#define ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES 12
#endif /* (_WIN32_WINNT >= 0x0501) */
#define BTYPE(x) ((x)&N_BTMASK)
#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
@ -1184,6 +1202,82 @@ typedef struct _LDT_ENTRY {
#endif /* _LDT_ENTRY_DEFINED */
#define ARM64_MAX_BREAKPOINTS 8
#define ARM64_MAX_WATCHPOINTS 2
typedef enum MEM_EXTENDED_PARAMETER_TYPE
{
MemExtendedParameterInvalidType,
MemExtendedParameterAddressRequirements,
MemExtendedParameterNumaNode,
MemExtendedParameterPartitionHandle,
MemExtendedParameterUserPhysicalHandle,
MemExtendedParameterAttributeFlags,
MemExtendedParameterImageMachine,
MemExtendedParameterMax
} MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8
typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER {
struct
{
DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
} DUMMYSTRUCTNAME;
union
{
DWORD64 ULong64;
PVOID Pointer;
SIZE_T Size;
HANDLE Handle;
DWORD ULong;
} DUMMYUNIONNAME;
} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
typedef struct _SCOPE_TABLE_ARM {
DWORD Count;
struct
{
DWORD BeginAddress;
DWORD EndAddress;
DWORD HandlerAddress;
DWORD JumpTarget;
} ScopeRecord[1];
} SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM;
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 {
DWORD BeginAddress;
union {
DWORD UnwindData;
struct {
DWORD Flag : 2;
DWORD FunctionLength : 11;
DWORD RegF : 3;
DWORD RegI : 4;
DWORD H : 1;
DWORD CR : 2;
DWORD FrameSize : 9;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
} IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY;
/* FIXME: add more machines */
#if defined(_X86_)
#define SIZE_OF_80387_REGISTERS 80
@ -1270,24 +1364,6 @@ typedef struct _CONTEXT {
#define EXCEPTION_WRITE_FAULT 1
#define EXCEPTION_EXECUTE_FAULT 8
typedef struct _XMM_SAVE_AREA32 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[16];
BYTE Reserved4[96];
} XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
typedef struct DECLSPEC_ALIGN(16) _CONTEXT {
DWORD64 P1Home;
@ -2124,17 +2200,6 @@ typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY
} IMAGE_ARM_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
typedef IMAGE_ARM_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
typedef struct _SCOPE_TABLE_ARM
{
DWORD Count;
struct
{
DWORD BeginAddress;
DWORD EndAddress;
DWORD HandlerAddress;
DWORD JumpTarget;
} ScopeRecord[1];
} SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM;
typedef SCOPE_TABLE_ARM SCOPE_TABLE, *PSCOPE_TABLE;
typedef struct _DISPATCHER_CONTEXT
@ -2256,33 +2321,7 @@ typedef struct _CONTEXT {
} _CONTEXT, *P_CONTEXT;
typedef _CONTEXT CONTEXT, *PCONTEXT;
typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
union {
DWORD UnwindData;
struct {
DWORD Flag : 2;
DWORD FunctionLength : 11;
DWORD RegF : 3;
DWORD RegI : 4;
DWORD H : 1;
DWORD CR : 2;
DWORD FrameSize : 9;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
} IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
typedef struct _SCOPE_TABLE_ARM64 {
DWORD Count;
struct
{
DWORD BeginAddress;
DWORD EndAddress;
DWORD HandlerAddress;
DWORD JumpTarget;
} ScopeRecord[1];
} SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
typedef SCOPE_TABLE_ARM64 SCOPE_TABLE, *PSCOPE_TABLE;
typedef struct _DISPATCHER_CONTEXT {
@ -2304,6 +2343,114 @@ typedef struct _DISPATCHER_CONTEXT {
#endif
typedef CONTEXT *PCONTEXT;
typedef struct DECLSPEC_ALIGN(16) _ARM64EC_NT_CONTEXT
{
union
{
struct
{
DWORD64 AMD64_P1Home; /* 000 */
DWORD64 AMD64_P2Home; /* 008 */
DWORD64 AMD64_P3Home; /* 010 */
DWORD64 AMD64_P4Home; /* 018 */
DWORD64 AMD64_P5Home; /* 020 */
DWORD64 AMD64_P6Home; /* 028 */
DWORD ContextFlags; /* 030 */
DWORD AMD64_MxCsr_copy; /* 034 */
WORD AMD64_SegCs; /* 038 */
WORD AMD64_SegDs; /* 03a */
WORD AMD64_SegEs; /* 03c */
WORD AMD64_SegFs; /* 03e */
WORD AMD64_SegGs; /* 040 */
WORD AMD64_SegSs; /* 042 */
DWORD AMD64_EFlags; /* 044 */
DWORD64 AMD64_Dr0; /* 048 */
DWORD64 AMD64_Dr1; /* 050 */
DWORD64 AMD64_Dr2; /* 058 */
DWORD64 AMD64_Dr3; /* 060 */
DWORD64 AMD64_Dr6; /* 068 */
DWORD64 AMD64_Dr7; /* 070 */
DWORD64 X8; /* 078 (Rax) */
DWORD64 X0; /* 080 (Rcx) */
DWORD64 X1; /* 088 (Rdx) */
DWORD64 X27; /* 090 (Rbx) */
DWORD64 Sp; /* 098 (Rsp) */
DWORD64 Fp; /* 0a0 (Rbp) */
DWORD64 X25; /* 0a8 (Rsi) */
DWORD64 X26; /* 0b0 (Rdi) */
DWORD64 X2; /* 0b8 (R8) */
DWORD64 X3; /* 0c0 (R9) */
DWORD64 X4; /* 0c8 (R10) */
DWORD64 X5; /* 0d0 (R11) */
DWORD64 X19; /* 0d8 (R12) */
DWORD64 X20; /* 0e0 (R13) */
DWORD64 X21; /* 0e8 (R14) */
DWORD64 X22; /* 0f0 (R15) */
DWORD64 Pc; /* 0f8 (Rip) */
struct
{
WORD AMD64_ControlWord; /* 100 */
WORD AMD64_StatusWord; /* 102 */
BYTE AMD64_TagWord; /* 104 */
BYTE AMD64_Reserved1; /* 105 */
WORD AMD64_ErrorOpcode; /* 106 */
DWORD AMD64_ErrorOffset; /* 108 */
WORD AMD64_ErrorSelector; /* 10c */
WORD AMD64_Reserved2; /* 10e */
DWORD AMD64_DataOffset; /* 110 */
WORD AMD64_DataSelector; /* 114 */
WORD AMD64_Reserved3; /* 116 */
DWORD AMD64_MxCsr; /* 118 */
DWORD AMD64_MxCsr_Mask; /* 11c */
DWORD64 Lr; /* 120 (FloatRegisters[0]) */
WORD X16_0; /* 128 */
WORD AMD64_St0_Reserved1; /* 12a */
DWORD AMD64_St0_Reserved2; /* 12c */
DWORD64 X6; /* 130 (FloatRegisters[1]) */
WORD X16_1; /* 138 */
WORD AMD64_St1_Reserved1; /* 13a */
DWORD AMD64_St1_Reserved2; /* 13c */
DWORD64 X7; /* 140 (FloatRegisters[2]) */
WORD X16_2; /* 148 */
WORD AMD64_St2_Reserved1; /* 14a */
DWORD AMD64_St2_Reserved2; /* 14c */
DWORD64 X9; /* 150 (FloatRegisters[3]) */
WORD X16_3; /* 158 */
WORD AMD64_St3_Reserved1; /* 15a */
DWORD AMD64_St3_Reserved2; /* 15c */
DWORD64 X10; /* 160 (FloatRegisters[4]) */
WORD X17_0; /* 168 */
WORD AMD64_St4_Reserved1; /* 16a */
DWORD AMD64_St4_Reserved2; /* 16c */
DWORD64 X11; /* 170 (FloatRegisters[5]) */
WORD X17_1; /* 178 */
WORD AMD64_St5_Reserved1; /* 17a */
DWORD AMD64_St5_Reserved2; /* 17c */
DWORD64 X12; /* 180 (FloatRegisters[6]) */
WORD X17_2; /* 188 */
WORD AMD64_St6_Reserved1; /* 18a */
DWORD AMD64_St6_Reserved2; /* 18c */
DWORD64 X15; /* 190 (FloatRegisters[7]) */
WORD X17_3; /* 198 */
WORD AMD64_St7_Reserved1; /* 19a */
DWORD AMD64_St7_Reserved2; /* 19c */
ARM64_NT_NEON128 V[16]; /* 1a0 (XmmRegisters) */
BYTE AMD64_XSAVE_FORMAT_Reserved4[96]; /* 2a0 */
} DUMMYSTRUCTNAME;
ARM64_NT_NEON128 AMD64_VectorRegister[26]; /* 300 */
DWORD64 AMD64_VectorControl; /* 4a0 */
DWORD64 AMD64_DebugControl; /* 4a8 */
DWORD64 AMD64_LastBranchToRip; /* 4b0 */
DWORD64 AMD64_LastBranchFromRip; /* 4b8 */
DWORD64 AMD64_LastExceptionToRip; /* 4c0 */
DWORD64 AMD64_LastExceptionFromRip; /* 4c8 */
} DUMMYSTRUCTNAME;
#ifdef _ARM64EC_
CONTEXT AMD64_Context;
#endif
} DUMMYUNIONNAME;
} ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT;
/* The WoW64 context */
#define WOW64_CONTEXT_i386 0x00010000
#define WOW64_CONTEXT_i486 0x00010000
@ -2374,13 +2521,14 @@ typedef struct _WOW64_CONTEXT
#define EXCEPTION_MAXIMUM_PARAMETERS 15
#define EXCEPTION_NONCONTINUABLE 0x01
#define EXCEPTION_UNWINDING 0x02
#define EXCEPTION_EXIT_UNWIND 0x04
#define EXCEPTION_STACK_INVALID 0x08
#define EXCEPTION_NESTED_CALL 0x10
#define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x40
#define EXCEPTION_NONCONTINUABLE 0x01
#define EXCEPTION_UNWINDING 0x02
#define EXCEPTION_EXIT_UNWIND 0x04
#define EXCEPTION_STACK_INVALID 0x08
#define EXCEPTION_NESTED_CALL 0x10
#define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x40
#define EXCEPTION_SOFTWARE_ORIGINATE 0x80
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
@ -4209,12 +4357,17 @@ typedef struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION {
typedef enum {
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0,
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS,
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION,
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED
} ACTCTX_COMPATIBILITY_ELEMENT_TYPE;
typedef struct _COMPATIBILITY_CONTEXT_ELEMENT {
GUID Id;
ACTCTX_COMPATIBILITY_ELEMENT_TYPE Type;
#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
ULONGLONG MaxVersionTested;
#endif
} COMPATIBILITY_CONTEXT_ELEMENT, *PCOMPATIBILITY_CONTEXT_ELEMENT;
typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION {
@ -4485,6 +4638,11 @@ DbgRaiseAssertionFailure(VOID)
#error Unknown architecture
#endif
typedef enum _CPU_SET_INFORMATION_TYPE
{
CpuSetInformation,
} CPU_SET_INFORMATION_TYPE, *PCPU_SET_INFORMATION_TYPE;
typedef struct _TP_POOL TP_POOL, *PTP_POOL;
typedef struct _TP_WORK TP_WORK, *PTP_WORK;
typedef struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE, *PTP_CALLBACK_INSTANCE;