winegstreamer: Keep a IMFMediaSource pointer in the media stream.
[wine.git] / include / appmodel.h
blob8c219e8080a758b994c79ade50db78662ce85070
1 /*
2 * Copyright (C) 2017 Alistair Leslie-Hughes
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.
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.
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
18 #ifndef _APPMODEL_H_
19 #define _APPMODEL_H_
21 #if defined(__cplusplus)
22 extern "C" {
23 #endif
25 typedef enum AppPolicyMediaFoundationCodecLoading
27 AppPolicyMediaFoundationCodecLoading_All = 0,
28 AppPolicyMediaFoundationCodecLoading_InboxOnly = 1,
29 } AppPolicyMediaFoundationCodecLoading;
31 typedef enum AppPolicyProcessTerminationMethod
33 AppPolicyProcessTerminationMethod_ExitProcess = 0,
34 AppPolicyProcessTerminationMethod_TerminateProcess = 1,
35 } AppPolicyProcessTerminationMethod;
37 typedef enum AppPolicyThreadInitializationType
39 AppPolicyThreadInitializationType_None = 0,
40 AppPolicyThreadInitializationType_InitializeWinRT = 1,
41 } AppPolicyThreadInitializationType;
43 typedef enum AppPolicyShowDeveloperDiagnostic
45 AppPolicyShowDeveloperDiagnostic_None = 0,
46 AppPolicyShowDeveloperDiagnostic_ShowUI = 1,
47 } AppPolicyShowDeveloperDiagnostic;
49 typedef enum AppPolicyWindowingModel
51 AppPolicyWindowingModel_None = 0,
52 AppPolicyWindowingModel_Universal = 1,
53 AppPolicyWindowingModel_ClassicDesktop = 2,
54 AppPolicyWindowingModel_ClassicPhone = 3
55 } AppPolicyWindowingModel;
57 typedef struct PACKAGE_VERSION
59 union
61 UINT64 Version;
62 struct
64 USHORT Revision;
65 USHORT Build;
66 USHORT Minor;
67 USHORT Major;
69 DUMMYSTRUCTNAME;
71 DUMMYUNIONNAME;
73 PACKAGE_VERSION;
75 typedef struct PACKAGE_ID
77 UINT32 reserved;
78 UINT32 processorArchitecture;
79 PACKAGE_VERSION version;
80 WCHAR *name;
81 WCHAR *publisher;
82 WCHAR *resourceId;
83 WCHAR *publisherId;
85 PACKAGE_ID;
87 LONG WINAPI AppPolicyGetMediaFoundationCodecLoading(HANDLE token, AppPolicyMediaFoundationCodecLoading *policy);
88 LONG WINAPI AppPolicyGetProcessTerminationMethod(HANDLE token, AppPolicyProcessTerminationMethod *policy);
89 LONG WINAPI AppPolicyGetShowDeveloperDiagnostic(HANDLE token, AppPolicyShowDeveloperDiagnostic *policy);
90 LONG WINAPI AppPolicyGetThreadInitializationType(HANDLE token, AppPolicyThreadInitializationType *policy);
91 LONG WINAPI AppPolicyGetWindowingModel(HANDLE processToken, AppPolicyWindowingModel *policy);
92 LONG WINAPI PackageIdFromFullName(const WCHAR *full_name, UINT32 flags, UINT32 *buffer_length, BYTE *buffer);
94 #if defined(__cplusplus)
96 #endif
98 #endif /* _APPMODEL_H_ */