ReactOS 0.4.17-dev-116-ga4b6fe9
appmgmt.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Headers
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Group Policy and shell
5 * COPYRIGHT: Copyright 2005 Mike McCormack
6 * Copyright 2026 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
7 */
8
9#ifndef _APPMGMT_H
10#define _APPMGMT_H
11
12#pragma once
13
14#ifdef __cplusplus
15extern "C" {
16#endif /* defined(__cplusplus) */
17
18typedef enum _INSTALLSPECTYPE
19{
25
26typedef union _INSTALLSPEC
27{
28 struct {
34 struct {
39
40typedef struct _INSTALLDATA
41{
45
46typedef struct _APPCATEGORYINFO
47{
52
54{
58
60{
66
67/* LOCALMANAGEDAPPLICATION.dwState flags */
68#define LOCALSTATE_ASSIGNED 0x1
69#define LOCALSTATE_PUBLISHED 0x2
70#define LOCALSTATE_UNINSTALL_UNMANAGED 0x4
71#define LOCALSTATE_POLICYREMOVE_ORPHAN 0x8
72#define LOCALSTATE_POLICYREMOVE_UNINSTALL 0x10
73#define LOCALSTATE_ORPHANED 0x20
74#define LOCALSTATE_UNINSTALLED 0x40
75
76typedef struct _MANAGEDAPPLICATION
77{
95
96/* MANAGEDAPPLICATION.dwPathType values */
97#define MANAGED_APPTYPE_WINDOWSINSTALLER 0x1
98#define MANAGED_APPTYPE_SETUPEXE 0x2
99#define MANAGED_APPTYPE_UNSUPPORTED 0x3
100
103 _In_ BOOL bUserApps,
104 _Out_ LPDWORD pdwApps,
105 _Out_ PLOCALMANAGEDAPPLICATION *prgLocalApps);
106
110 _Out_ APPCATEGORYINFOLIST *pAppCategory);
111
114 _In_ GUID *pCategory,
115 _In_ DWORD dwQueryFlags,
117 _Out_ LPDWORD pdwApps,
118 _Out_ PMANAGEDAPPLICATION *prgManagedApps);
119
120/* GetManagedApplications dwQueryFlags flags */
121#define MANAGED_APPS_USERAPPLICATIONS 0x1
122#define MANAGED_APPS_FROMCATEGORY 0x2
123#define MANAGED_APPS_INFOLEVEL_DEFAULT 0x10000
124
125/* FIXME: SAL2 annotation */
128 WCHAR *szDescriptor,
129 WCHAR *szCommandLine,
130 DWORD *pcchCommandLine);
131
134 _In_ PINSTALLDATA pInstallInfo);
135
138 _In_ LPWSTR ProductCode,
140
141#ifdef __cplusplus
142} /* extern "C" */
143#endif /* defined(__cplusplus) */
144
145#endif /* _APPMGMT_H */
DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR *szDescriptor, WCHAR *szCommandLine, DWORD *pcchCommandLine)
Definition: msi.c:22
struct _MANAGEDAPPLICATION * PMANAGEDAPPLICATION
struct _INSTALLDATA INSTALLDATA
_INSTALLSPECTYPE
Definition: appmgmt.h:19
@ PROGID
Definition: appmgmt.h:22
@ FILEEXT
Definition: appmgmt.h:21
@ COMCLASS
Definition: appmgmt.h:23
@ APPNAME
Definition: appmgmt.h:20
struct _MANAGEDAPPLICATION MANAGEDAPPLICATION
struct _LOCALMANAGEDAPPLICATION * PLOCALMANAGEDAPPLICATION
struct _LOCALMANAGEDAPPLICATION LOCALMANAGEDAPPLICATION
DWORD WINAPI GetManagedApplications(_In_ GUID *pCategory, _In_ DWORD dwQueryFlags, _In_ DWORD dwInfoLevel, _Out_ LPDWORD pdwApps, _Out_ PMANAGEDAPPLICATION *prgManagedApps)
struct _INSTALLDATA * PINSTALLDATA
DWORD WINAPI GetLocalManagedApplications(_In_ BOOL bUserApps, _Out_ LPDWORD pdwApps, _Out_ PLOCALMANAGEDAPPLICATION *prgLocalApps)
struct _APPCATEGORYINFOLIST APPCATEGORYINFOLIST
DWORD WINAPI InstallApplication(_In_ PINSTALLDATA pInstallInfo)
DWORD WINAPI GetManagedApplicationCategories(_Out_ DWORD dwReserved, _Out_ APPCATEGORYINFOLIST *pAppCategory)
union _INSTALLSPEC INSTALLSPEC
DWORD WINAPI UninstallApplication(_In_ LPWSTR ProductCode, _In_ DWORD dwStatus)
enum _INSTALLSPECTYPE INSTALLSPECTYPE
struct _APPCATEGORYINFO APPCATEGORYINFO
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
USHORT LANGID
Definition: mui.h:9
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
short WCHAR
Definition: pedump.c:58
DWORD dwStatus
Definition: mediaobj.idl:95
_In_ DWORD dwInfoLevel
Definition: winsvc.h:428
DWORD LCID
Definition: nls.h:13
APPCATEGORYINFO * pCategoryInfo
Definition: appmgmt.h:56
LPWSTR pszDescription
Definition: appmgmt.h:49
GUID AppCategoryId
Definition: appmgmt.h:50
INSTALLSPEC Spec
Definition: appmgmt.h:43
INSTALLSPECTYPE Type
Definition: appmgmt.h:42
LPWSTR pszSupportUrl
Definition: appmgmt.h:91
LPWSTR pszCompany
Definition: appmgmt.h:88
LPWSTR pszComments
Definition: appmgmt.h:89
LPWSTR pszContact
Definition: appmgmt.h:90
LPWSTR pszPolicyName
Definition: appmgmt.h:84
LPWSTR pszPackageName
Definition: appmgmt.h:78
LPWSTR pszPublisher
Definition: appmgmt.h:79
uint16_t * LPWSTR
Definition: typedefs.h:56
uint32_t * LPDWORD
Definition: typedefs.h:59
DWORD ClsCtx
Definition: appmgmt.h:36
WCHAR * ProgId
Definition: appmgmt.h:33
struct _INSTALLSPEC::@2957 COMClass
GUID GPOId
Definition: appmgmt.h:30
WCHAR * Name
Definition: appmgmt.h:29
struct _INSTALLSPEC::@2956 AppName
WCHAR * FileExt
Definition: appmgmt.h:32
GUID Clsid
Definition: appmgmt.h:35
#define WINAPI
Definition: msvc.h:6