mingw-w64/mingw-w64-headers/include/appmgmt.h
Kai Tietz 5a16b93cca Add reference list of documents used to generate the header set (start).
Changed some typedef enum's to have there elements in seperate lines.
Corrected endianess of an include statement.


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@7 4407c894-4637-0410-b4f5-ada5f102cad1
2007-08-13 14:02:56 +00:00

110 lines
2.9 KiB
C
Executable File

/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _APPMGMT_H_
#define _APPMGMT_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef enum _INSTALLSPECTYPE {
APPNAME = 1,
FILEEXT,PROGID,
COMCLASS
} INSTALLSPECTYPE;
typedef union _INSTALLSPEC {
struct {
WCHAR *Name;
GUID GPOId;
} AppName;
WCHAR *FileExt;
WCHAR *ProgId;
struct {
GUID Clsid;
DWORD ClsCtx;
} COMClass;
} INSTALLSPEC;
typedef struct _INSTALLDATA {
INSTALLSPECTYPE Type;
INSTALLSPEC Spec;
} INSTALLDATA,*PINSTALLDATA;
typedef enum {
ABSENT,ASSIGNED,PUBLISHED
} APPSTATE;
#define LOCALSTATE_ASSIGNED 0x1
#define LOCALSTATE_PUBLISHED 0x2
#define LOCALSTATE_UNINSTALL_UNMANAGED 0x4
#define LOCALSTATE_POLICYREMOVE_ORPHAN 0x8
#define LOCALSTATE_POLICYREMOVE_UNINSTALL 0x10
#define LOCALSTATE_ORPHANED 0x20
#define LOCALSTATE_UNINSTALLED 0x40
typedef struct _LOCALMANAGEDAPPLICATION {
LPWSTR pszDeploymentName;
LPWSTR pszPolicyName;
LPWSTR pszProductId;
DWORD dwState;
} LOCALMANAGEDAPPLICATION,*PLOCALMANAGEDAPPLICATION;
#define MANAGED_APPS_USERAPPLICATIONS 0x1
#define MANAGED_APPS_FROMCATEGORY 0x2
#define MANAGED_APPS_INFOLEVEL_DEFAULT 0x10000
#define MANAGED_APPTYPE_WINDOWSINSTALLER 0x1
#define MANAGED_APPTYPE_SETUPEXE 0x2
#define MANAGED_APPTYPE_UNSUPPORTED 0x3
typedef struct _MANAGEDAPPLICATION {
LPWSTR pszPackageName;
LPWSTR pszPublisher;
DWORD dwVersionHi;
DWORD dwVersionLo;
DWORD dwRevision;
GUID GpoId;
LPWSTR pszPolicyName;
GUID ProductId;
LANGID Language;
LPWSTR pszOwner;
LPWSTR pszCompany;
LPWSTR pszComments;
LPWSTR pszContact;
LPWSTR pszSupportUrl;
DWORD dwPathType;
WINBOOL bInstalled;
} MANAGEDAPPLICATION,*PMANAGEDAPPLICATION;
typedef struct _APPCATEGORYINFO {
LCID Locale;
LPWSTR pszDescription;
GUID AppCategoryId;
} APPCATEGORYINFO;
typedef struct _APPCATEGORYINFOLIST {
DWORD cCategory;
APPCATEGORYINFO *pCategoryInfo;
} APPCATEGORYINFOLIST;
#ifndef WINAPI
#define WINAPI
#endif
DWORD WINAPI InstallApplication(PINSTALLDATA pInstallInfo);
DWORD WINAPI UninstallApplication(WCHAR *ProductCode,DWORD dwStatus);
DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR *Descriptor,WCHAR *CommandLine,DWORD *CommandLineLength);
DWORD WINAPI GetManagedApplications(GUID *pCategory,DWORD dwQueryFlags,DWORD dwInfoLevel,LPDWORD pdwApps,PMANAGEDAPPLICATION *prgManagedApps);
DWORD WINAPI GetLocalManagedApplications(WINBOOL bUserApps,LPDWORD pdwApps,PLOCALMANAGEDAPPLICATION *prgLocalApps);
void WINAPI GetLocalManagedApplicationData(WCHAR *ProductCode,LPWSTR *DisplayName,LPWSTR *SupportUrl);
DWORD WINAPI GetManagedApplicationCategories(DWORD dwReserved,APPCATEGORYINFOLIST *pAppCategory);
#ifdef __cplusplus
}
#endif
#endif