Skip to content

Commit dc9a030

Browse files
committed
[SDK] kernelbase SDK changes
1 parent de8ba45 commit dc9a030

File tree

8 files changed

+345
-32
lines changed

8 files changed

+345
-32
lines changed

sdk/include/psdk/appmodel.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ typedef enum AppPolicyWindowingModel
3737
AppPolicyWindowingModel_ClassicPhone = 3
3838
} AppPolicyWindowingModel;
3939

40+
typedef enum AppPolicyMediaFoundationCodecLoading
41+
{
42+
AppPolicyMediaFoundationCodecLoading_All = 0,
43+
} AppPolicyMediaFoundationCodecLoading;
44+
4045
typedef struct PACKAGE_VERSION
4146
{
4247
union
@@ -99,6 +104,15 @@ AppPolicyGetWindowingModel(
99104
_In_ HANDLE processToken,
100105
_Out_ AppPolicyWindowingModel* policy);
101106

107+
WINBASEAPI
108+
_Check_return_
109+
_Success_(return == ERROR_SUCCESS)
110+
LONG
111+
WINAPI
112+
AppPolicyGetMediaFoundationCodecLoading(
113+
_In_ HANDLE processToken,
114+
_Out_ AppPolicyMediaFoundationCodecLoading* policy);
115+
102116
#ifdef __cplusplus
103117
} // extern "C"
104118
#endif

sdk/include/psdk/ioringapi.h

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Copyright (C) 2023 Paul Gofman for CodeWeavers
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17+
*/
18+
19+
#ifndef __IORINGAPI_H_
20+
#define __IORINGAPI_H_
21+
22+
#include <ntioring_x.h>
23+
24+
struct IORING_CAPABILITIES
25+
{
26+
IORING_VERSION MaxVersion;
27+
UINT32 MaxSubmissionQueueSize;
28+
UINT32 MaxCompletionQueueSize;
29+
IORING_FEATURE_FLAGS FeatureFlags;
30+
};
31+
typedef struct IORING_CAPABILITIES IORING_CAPABILITIES;
32+
33+
#ifdef __cplusplus
34+
extern "C" {
35+
#endif
36+
37+
HRESULT WINAPI QueryIoRingCapabilities(IORING_CAPABILITIES *caps);
38+
39+
#ifdef __cplusplus
40+
}
41+
#endif
42+
#endif

sdk/include/psdk/processthreadsapi.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@
1111
extern "C" {
1212
#endif
1313

14+
typedef enum _THREAD_INFORMATION_CLASS
15+
{
16+
ThreadMemoryPriority,
17+
ThreadAbsoluteCpuPriority,
18+
ThreadDynamicCodePolicy,
19+
ThreadPowerThrottling,
20+
ThreadInformationClassMax
21+
} THREAD_INFORMATION_CLASS;
22+
1423
typedef struct _STARTUPINFOA
1524
{
1625
DWORD cb;
@@ -174,6 +183,11 @@ typedef enum _PROCESS_INFORMATION_CLASS
174183
ProcessInformationClassMax
175184
} PROCESS_INFORMATION_CLASS;
176185

186+
#define PROCESS_MACHINE_ATTRIBUTE_KERNEL_ENABLED 0x00000001
187+
#define PROCESS_MACHINE_ATTRIBUTE_USER_ENABLED 0x00000002
188+
#define PROCESS_MACHINE_ATTRIBUTE_NATIVE_OS 0x00000004
189+
#define PROCESS_MACHINE_ATTRIBUTE_WOW64_CONTAINER 0x00000008
190+
177191
#ifdef __cplusplus
178192
} // extern "C"
179193
#endif

sdk/include/psdk/winbase.h

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -937,6 +937,9 @@ typedef struct _TIME_ZONE_INFORMATION {
937937
LONG DaylightBias;
938938
} TIME_ZONE_INFORMATION,*PTIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
939939

940+
DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION);
941+
BOOL WINAPI GetTimeZoneInformationForYear(USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION pdtzi, LPTIME_ZONE_INFORMATION ptzi);
942+
940943
typedef struct _MEMORYSTATUS {
941944
DWORD dwLength;
942945
DWORD dwMemoryLoad;
@@ -1127,6 +1130,7 @@ typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC
11271130
#ifndef _USE_FULL_PROC_THREAD_ATTRIBUTE
11281131
typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
11291132
ProcThreadAttributeParentProcess = 0,
1133+
ProcThreadAttributeExtendedFlags = 1,
11301134
ProcThreadAttributeHandleList = 2,
11311135
ProcThreadAttributeGroupAffinity = 3,
11321136
ProcThreadAttributePreferredNode = 4,
@@ -1151,10 +1155,26 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
11511155
} PROC_THREAD_ATTRIBUTE_NUM;
11521156
#endif // _USE_FULL_PROC_THREAD_ATTRIBUTE
11531157

1154-
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1155-
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
11561158
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1159+
#define PROC_THREAD_ATTRIBUTE_EXTENDED_FLAGS (ProcThreadAttributeExtendedFlags | PROC_THREAD_ATTRIBUTE_INPUT | PROC_THREAD_ATTRIBUTE_ADDITIVE)
1160+
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1161+
#define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY (ProcThreadAttributeGroupAffinity | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1162+
#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE (ProcThreadAttributePreferredNode | PROC_THREAD_ATTRIBUTE_INPUT)
1163+
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1164+
#define PROC_THREAD_ATTRIBUTE_UMS_THREAD (ProcThreadAttributeUmsThread | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1165+
#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY (ProcThreadAttributeMitigationPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1166+
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES (ProcThreadAttributeSecurityCapabilities | PROC_THREAD_ATTRIBUTE_INPUT)
1167+
#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL (ProcThreadAttributeProtectionLevel | PROC_THREAD_ATTRIBUTE_INPUT)
1168+
#define PROC_THREAD_ATTRIBUTE_JOB_LIST (ProcThreadAttributeJobList | PROC_THREAD_ATTRIBUTE_INPUT)
1169+
#define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY (ProcThreadAttributeChildProcessPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1170+
#define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY (ProcThreadAttributeAllApplicationPackagesPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1171+
#define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER (ProcThreadAttributeWin32kFilter | PROC_THREAD_ATTRIBUTE_INPUT)
1172+
#define PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY (ProcThreadAttributeDesktopAppPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1173+
#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE (ProcThreadAttributePseudoConsole | PROC_THREAD_ATTRIBUTE_INPUT)
1174+
#define PROC_THREAD_ATTRIBUTE_MITIGATION_AUDIT_POLICY (ProcThreadAttributeMitigationAuditPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
11571175
#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE (ProcThreadAttributeMachineType | PROC_THREAD_ATTRIBUTE_INPUT)
1176+
#define PROC_THREAD_ATTRIBUTE_COMPONENT_FILTER (ProcThreadAttributeComponentFilter | PROC_THREAD_ATTRIBUTE_INPUT)
1177+
#define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES (ProcThreadAttributeEnableOptionalXStateFeatures | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
11581178

11591179
#if (_WIN32_WINNT >= 0x0600)
11601180
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
@@ -1169,23 +1189,6 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
11691189
#define PROCESS_CREATION_CHILD_PROCESS_OVERRIDE 0x02
11701190
#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE 0x04
11711191
#define PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT 0x01
1172-
1173-
#define PROC_THREAD_ATTRIBUTE_JOB_LIST \
1174-
ProcThreadAttributeValue(ProcThreadAttributeJobList, FALSE, TRUE, FALSE)
1175-
1176-
#define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY \
1177-
ProcThreadAttributeValue(ProcThreadAttributeChildProcessPolicy, FALSE, TRUE, FALSE)
1178-
1179-
#define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY \
1180-
ProcThreadAttributeValue(ProcThreadAttributeAllApplicationPackagesPolicy, FALSE, TRUE, FALSE)
1181-
1182-
#define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER \
1183-
ProcThreadAttributeValue(ProcThreadAttributeWin32kFilter, FALSE, TRUE, FALSE)
1184-
#endif //(_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
1185-
1186-
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
1187-
#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE \
1188-
ProcThreadAttributeValue(ProcThreadAttributePseudoConsole, FALSE, TRUE, FALSE)
11891192
#endif //(NTDDI_VERSION >= NTDDI_WIN10_RS5)
11901193

11911194
typedef DWORD
@@ -3118,7 +3121,7 @@ BOOL WINAPI TlsSetValue(DWORD,PVOID);
31183121
BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
31193122
BOOL WINAPI TransmitCommChar(_In_ HANDLE, _In_ char);
31203123
BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
3121-
BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
3124+
BOOL WINAPI TzSpecificLocalTimeToSystemTime(CONST TIME_ZONE_INFORMATION *,CONST SYSTEMTIME *,LPSYSTEMTIME);
31223125
LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
31233126
BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
31243127
BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
@@ -3693,6 +3696,12 @@ typedef BOOL
36933696
_Inout_opt_ PVOID Parameter,
36943697
_Outptr_opt_result_maybenull_ PVOID *Context);
36953698

3699+
3700+
#define RESOURCE_ENUM_LN 0x0001
3701+
#define RESOURCE_ENUM_MUI 0x0002
3702+
#define RESOURCE_ENUM_MUI_SYSTEM 0x0004
3703+
#define RESOURCE_ENUM_VALIDATE 0x0008
3704+
36963705
#if _WIN32_WINNT >= 0x0601
36973706

36983707
#define COPYFILE2_MESSAGE_COPY_OFFLOAD 0x00000001L

sdk/include/psdk/wincon.h

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -973,12 +973,36 @@ WriteConsoleOutputCharacterW(
973973
_Out_ LPDWORD lpNumberOfCharsWritten);
974974

975975

976-
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
977-
// typedef VOID *HPCON;
978-
// CreatePseudoConsole()
979-
// ResizePseudoConsole()
980-
// ClosePseudoConsole()
981-
#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS5)
976+
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(_KERNELBASE_)
977+
978+
typedef VOID *HPCON;
979+
980+
#define PSEUDOCONSOLE_INHERIT_CURSOR 0x00000001
981+
982+
WINBASEAPI
983+
HRESULT
984+
WINAPI
985+
CreatePseudoConsole(
986+
_In_ COORD size,
987+
_In_ HANDLE hInput,
988+
_In_ HANDLE hOutput,
989+
_In_ DWORD dwFlags,
990+
_Out_ HPCON *phPC);
991+
992+
WINBASEAPI
993+
void
994+
WINAPI
995+
ClosePseudoConsole(
996+
_In_ HPCON hPC);
997+
998+
WINBASEAPI
999+
HRESULT
1000+
WINAPI
1001+
ResizePseudoConsole(
1002+
_In_ HPCON hPC,
1003+
_In_ COORD size);
1004+
1005+
#endif /* NTDDI_WIN10_RS5+ or kernelbase Wine build */
9821006

9831007
#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
9841008
/* See https://github.com/microsoft/terminal/blob/main/doc/specs/%237335%20-%20Console%20Allocation%20Policy.md

sdk/include/psdk/winnls.h

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ extern "C" {
3737
#define LOCALE_SCOUNTRY 6
3838
#define LOCALE_SENGCOUNTRY 0x1002
3939
#define LOCALE_SENGLISHCOUNTRYNAME 0x1002
40+
#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006
41+
#define LOCALE_SENGLISHDISPLAYNAME 0x00000072
4042
#define LOCALE_SABBREVCTRYNAME 7
4143
#define LOCALE_SNATIVECTRYNAME 8
4244
#define LOCALE_IDEFAULTLANGUAGE 9
@@ -205,6 +207,9 @@ extern "C" {
205207
#define LCMAP_LINGUISTIC_CASING 0x01000000
206208
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
207209
#define LCMAP_TRADITIONAL_CHINESE 0x04000000
210+
#define LCMAP_TITLECASE 0x00000300
211+
#define LCMAP_HASH 0x00040000
212+
#define LCMAP_SORTHANDLE 0x20000000
208213
#define ENUM_ALL_CALENDARS (-1)
209214
#define DATE_SHORTDATE 1
210215
#define DATE_LONGDATE 2
@@ -475,13 +480,11 @@ extern "C" {
475480
#define CAL_SMONTHDAY 56
476481
#define CAL_SABBREVERASTRING 57
477482
#endif //(WINVER >= _WIN32_WINNT_WIN7)
478-
#if (WINVER >= _WIN32_WINNT_WIN8)
483+
#if (WINVER >= _WIN32_WINNT_WIN8) || defined(_KERNELBASE_)
479484
#define CAL_SRELATIVELONGDATE 58
480-
#endif //(WINVER >= _WIN32_WINNT_WIN8)
481-
#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
482485
#define CAL_SENGLISHERANAME 59
483486
#define CAL_SENGLISHABBREVERANAME 60
484-
#endif //(NTDDI_VERSION >= NTDDI_WIN10_RS2)
487+
#endif /* WIN8+ or kernelbase Wine build */
485488
#define CAL_GREGORIAN 1
486489
#define CAL_GREGORIAN_US 2
487490
#define CAL_JAPAN 3
@@ -528,11 +531,13 @@ extern "C" {
528531
#define LOCALE_IDIGITSUBSTITUTION 0x1014
529532
#define LOCALE_IPAPERSIZE 0x100A
530533
#define DATE_YEARMONTH 8
534+
#define DATE_MONTHDAY 0x00000080
531535
#define DATE_LTRREADING 16
532536
#define DATE_RTLREADING 32
533537
#define MAP_EXPAND_LIGATURES 0x2000
534538
#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
535539
#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
540+
#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
536541
#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
537542
#endif /* (WINVER >= 0x0500) */
538543
#if WINVER >= 0x0600
@@ -640,7 +645,7 @@ enum SYSGEOTYPE
640645
GEO_DIALINGCODE,
641646
GEO_CURRENCYCODE,
642647
GEO_CURRENCYSYMBOL,
643-
#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
648+
#if (NTDDI_VERSION >= NTDDI_WIN10_RS3) || defined(_KERNELBASE_)
644649
GEO_NAME,
645650
GEO_ID
646651
#endif
@@ -691,7 +696,7 @@ typedef struct _nlsversioninfo {
691696
DWORD dwNLSVersionInfoSize;
692697
DWORD dwNLSVersion;
693698
DWORD dwDefinedVersion;
694-
#if (WINVER >= _WIN32_WINNT_WIN8)
699+
#if (WINVER >= _WIN32_WINNT_WIN8) || defined(_KERNELBASE_)
695700
DWORD dwEffectiveId;
696701
GUID guidCustomVersion;
697702
#endif

0 commit comments

Comments
 (0)