source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/appmgmt.h@ 1186

Last change on this file since 1186 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 2.9 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _APPMGMT_H_
7#define _APPMGMT_H_
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13 typedef enum _INSTALLSPECTYPE {
14 APPNAME = 1,
15 FILEEXT,PROGID,
16 COMCLASS
17 } INSTALLSPECTYPE;
18
19 typedef union _INSTALLSPEC {
20 struct {
21 WCHAR *Name;
22 GUID GPOId;
23 } AppName;
24 WCHAR *FileExt;
25 WCHAR *ProgId;
26 struct {
27 GUID Clsid;
28 DWORD ClsCtx;
29 } COMClass;
30 } INSTALLSPEC;
31
32 typedef struct _INSTALLDATA {
33 INSTALLSPECTYPE Type;
34 INSTALLSPEC Spec;
35 } INSTALLDATA,*PINSTALLDATA;
36
37 typedef enum {
38 ABSENT,ASSIGNED,PUBLISHED
39 } APPSTATE;
40
41#define LOCALSTATE_ASSIGNED 0x1
42#define LOCALSTATE_PUBLISHED 0x2
43#define LOCALSTATE_UNINSTALL_UNMANAGED 0x4
44#define LOCALSTATE_POLICYREMOVE_ORPHAN 0x8
45#define LOCALSTATE_POLICYREMOVE_UNINSTALL 0x10
46#define LOCALSTATE_ORPHANED 0x20
47#define LOCALSTATE_UNINSTALLED 0x40
48
49 typedef struct _LOCALMANAGEDAPPLICATION {
50 LPWSTR pszDeploymentName;
51 LPWSTR pszPolicyName;
52 LPWSTR pszProductId;
53 DWORD dwState;
54 } LOCALMANAGEDAPPLICATION,*PLOCALMANAGEDAPPLICATION;
55
56#define MANAGED_APPS_USERAPPLICATIONS 0x1
57#define MANAGED_APPS_FROMCATEGORY 0x2
58#define MANAGED_APPS_INFOLEVEL_DEFAULT 0x10000
59
60#define MANAGED_APPTYPE_WINDOWSINSTALLER 0x1
61#define MANAGED_APPTYPE_SETUPEXE 0x2
62#define MANAGED_APPTYPE_UNSUPPORTED 0x3
63
64 typedef struct _MANAGEDAPPLICATION {
65 LPWSTR pszPackageName;
66 LPWSTR pszPublisher;
67 DWORD dwVersionHi;
68 DWORD dwVersionLo;
69 DWORD dwRevision;
70 GUID GpoId;
71 LPWSTR pszPolicyName;
72 GUID ProductId;
73 LANGID Language;
74 LPWSTR pszOwner;
75 LPWSTR pszCompany;
76 LPWSTR pszComments;
77 LPWSTR pszContact;
78 LPWSTR pszSupportUrl;
79 DWORD dwPathType;
80 WINBOOL bInstalled;
81 } MANAGEDAPPLICATION,*PMANAGEDAPPLICATION;
82
83 typedef struct _APPCATEGORYINFO {
84 LCID Locale;
85 LPWSTR pszDescription;
86 GUID AppCategoryId;
87 } APPCATEGORYINFO;
88
89 typedef struct _APPCATEGORYINFOLIST {
90 DWORD cCategory;
91 APPCATEGORYINFO *pCategoryInfo;
92 } APPCATEGORYINFOLIST;
93
94#ifndef WINAPI
95#define WINAPI __stdcall
96#endif
97
98 DWORD WINAPI InstallApplication(PINSTALLDATA pInstallInfo);
99 DWORD WINAPI UninstallApplication(WCHAR *ProductCode,DWORD dwStatus);
100 DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR *Descriptor,WCHAR *CommandLine,DWORD *CommandLineLength);
101 DWORD WINAPI GetManagedApplications(GUID *pCategory,DWORD dwQueryFlags,DWORD dwInfoLevel,LPDWORD pdwApps,PMANAGEDAPPLICATION *prgManagedApps);
102 DWORD WINAPI GetLocalManagedApplications(WINBOOL bUserApps,LPDWORD pdwApps,PLOCALMANAGEDAPPLICATION *prgLocalApps);
103 void WINAPI GetLocalManagedApplicationData(WCHAR *ProductCode,LPWSTR *DisplayName,LPWSTR *SupportUrl);
104 DWORD WINAPI GetManagedApplicationCategories(DWORD dwReserved,APPCATEGORYINFOLIST *pAppCategory);
105
106#ifdef __cplusplus
107}
108#endif
109#endif
Note: See TracBrowser for help on using the repository browser.