99 lines
3.1 KiB
C
99 lines
3.1 KiB
C
/*
|
|
* Copyright (C) 2017 Alistair Leslie-Hughes
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
#ifndef _APPMODEL_H_
|
|
#define _APPMODEL_H_
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum AppPolicyMediaFoundationCodecLoading
|
|
{
|
|
AppPolicyMediaFoundationCodecLoading_All = 0,
|
|
AppPolicyMediaFoundationCodecLoading_InboxOnly = 1,
|
|
} AppPolicyMediaFoundationCodecLoading;
|
|
|
|
typedef enum AppPolicyProcessTerminationMethod
|
|
{
|
|
AppPolicyProcessTerminationMethod_ExitProcess = 0,
|
|
AppPolicyProcessTerminationMethod_TerminateProcess = 1,
|
|
} AppPolicyProcessTerminationMethod;
|
|
|
|
typedef enum AppPolicyThreadInitializationType
|
|
{
|
|
AppPolicyThreadInitializationType_None = 0,
|
|
AppPolicyThreadInitializationType_InitializeWinRT = 1,
|
|
} AppPolicyThreadInitializationType;
|
|
|
|
typedef enum AppPolicyShowDeveloperDiagnostic
|
|
{
|
|
AppPolicyShowDeveloperDiagnostic_None = 0,
|
|
AppPolicyShowDeveloperDiagnostic_ShowUI = 1,
|
|
} AppPolicyShowDeveloperDiagnostic;
|
|
|
|
typedef enum AppPolicyWindowingModel
|
|
{
|
|
AppPolicyWindowingModel_None = 0,
|
|
AppPolicyWindowingModel_Universal = 1,
|
|
AppPolicyWindowingModel_ClassicDesktop = 2,
|
|
AppPolicyWindowingModel_ClassicPhone = 3
|
|
} AppPolicyWindowingModel;
|
|
|
|
typedef struct PACKAGE_VERSION
|
|
{
|
|
union
|
|
{
|
|
UINT64 Version;
|
|
struct
|
|
{
|
|
USHORT Revision;
|
|
USHORT Build;
|
|
USHORT Minor;
|
|
USHORT Major;
|
|
}
|
|
DUMMYSTRUCTNAME;
|
|
}
|
|
DUMMYUNIONNAME;
|
|
}
|
|
PACKAGE_VERSION;
|
|
|
|
typedef struct PACKAGE_ID
|
|
{
|
|
UINT32 reserved;
|
|
UINT32 processorArchitecture;
|
|
PACKAGE_VERSION version;
|
|
WCHAR *name;
|
|
WCHAR *publisher;
|
|
WCHAR *resourceId;
|
|
WCHAR *publisherId;
|
|
}
|
|
PACKAGE_ID;
|
|
|
|
LONG WINAPI AppPolicyGetMediaFoundationCodecLoading(HANDLE token, AppPolicyMediaFoundationCodecLoading *policy);
|
|
LONG WINAPI AppPolicyGetProcessTerminationMethod(HANDLE token, AppPolicyProcessTerminationMethod *policy);
|
|
LONG WINAPI AppPolicyGetShowDeveloperDiagnostic(HANDLE token, AppPolicyShowDeveloperDiagnostic *policy);
|
|
LONG WINAPI AppPolicyGetThreadInitializationType(HANDLE token, AppPolicyThreadInitializationType *policy);
|
|
LONG WINAPI AppPolicyGetWindowingModel(HANDLE processToken, AppPolicyWindowingModel *policy);
|
|
LONG WINAPI PackageIdFromFullName(const WCHAR *full_name, UINT32 flags, UINT32 *buffer_length, BYTE *buffer);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* _APPMODEL_H_ */
|