Reactos
1/*
2 * PROJECT: ReactOS SDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Windows AppModel definitions
5 * COPYRIGHT: Copyright 2024 Timo Kreuzer (timo.kreuzer@reactos.org)
6 */
7
8#pragma once
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef enum AppPolicyProcessTerminationMethod
15{
16 AppPolicyProcessTerminationMethod_ExitProcess = 0,
17 AppPolicyProcessTerminationMethod_TerminateProcess = 1,
18} AppPolicyProcessTerminationMethod;
19
20typedef enum AppPolicyThreadInitializationType
21{
22 AppPolicyThreadInitializationType_None = 0,
23 AppPolicyThreadInitializationType_InitializeWinRT = 1,
24} AppPolicyThreadInitializationType;
25
26typedef enum AppPolicyShowDeveloperDiagnostic
27{
28 AppPolicyShowDeveloperDiagnostic_None = 0,
29 AppPolicyShowDeveloperDiagnostic_ShowUI = 1,
30} AppPolicyShowDeveloperDiagnostic;
31
32typedef enum AppPolicyWindowingModel
33{
34 AppPolicyWindowingModel_None = 0,
35 AppPolicyWindowingModel_Universal = 1,
36 AppPolicyWindowingModel_ClassicDesktop = 2,
37 AppPolicyWindowingModel_ClassicPhone = 3
38} AppPolicyWindowingModel;
39
40typedef struct PACKAGE_VERSION
41{
42 union
43 {
44 UINT64 Version;
45 struct
46 {
47 USHORT Revision;
48 USHORT Build;
49 USHORT Minor;
50 USHORT Major;
51 } DUMMYSTRUCTNAME;
52 } DUMMYUNIONNAME;
53} PACKAGE_VERSION;
54
55typedef struct PACKAGE_ID
56{
57 UINT32 reserved;
58 UINT32 processorArchitecture;
59 PACKAGE_VERSION version;
60 PWSTR name;
61 PWSTR publisher;
62 PWSTR resourceId;
63 PWSTR publisherId;
64} PACKAGE_ID;
65
66WINBASEAPI
67_Check_return_
68_Success_(return == ERROR_SUCCESS)
69LONG
70WINAPI
71AppPolicyGetProcessTerminationMethod(
72 _In_ HANDLE processToken,
73 _Out_ AppPolicyProcessTerminationMethod* policy);
74
75WINBASEAPI
76_Check_return_
77_Success_(return == ERROR_SUCCESS)
78LONG
79WINAPI
80AppPolicyGetThreadInitializationType(
81 _In_ HANDLE processToken,
82 _Out_ AppPolicyThreadInitializationType* policy);
83
84WINBASEAPI
85_Check_return_
86_Success_(return == ERROR_SUCCESS)
87LONG
88WINAPI
89AppPolicyGetShowDeveloperDiagnostic(
90 _In_ HANDLE processToken,
91 _Out_ AppPolicyShowDeveloperDiagnostic* policy);
92
93WINBASEAPI
94_Check_return_
95_Success_(return == ERROR_SUCCESS)
96LONG
97WINAPI
98AppPolicyGetWindowingModel(
99 _In_ HANDLE processToken,
100 _Out_ AppPolicyWindowingModel* policy);
101
102#ifdef __cplusplus
103} // extern "C"
104#endif