You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
5.3 KiB
203 lines
5.3 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation 1998.
|
|
//
|
|
// app.idl
|
|
//
|
|
// Methods to the application management service.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
[
|
|
uuid(8c7daf44-b6dc-11d1-9a4c-0020af6e7c57),
|
|
version(1.0)
|
|
]
|
|
interface appmgmt
|
|
{
|
|
cpp_quote("#ifndef GUID_DEFINED")
|
|
cpp_quote("#define GUID_DEFINED")
|
|
typedef struct _GUID
|
|
{
|
|
unsigned long Data1;
|
|
unsigned short Data2;
|
|
unsigned short Data3;
|
|
unsigned char Data4[8];
|
|
} GUID;
|
|
cpp_quote("#endif // !GUID_DEFINED")
|
|
|
|
const unsigned long APPNAME = 1;
|
|
const unsigned long FILEEXT = 2;
|
|
const unsigned long PROGID = 3;
|
|
const unsigned long COMCLASS = 4;
|
|
|
|
typedef [string] wchar_t * PWSTR;
|
|
typedef unsigned long DWORD;
|
|
typedef unsigned short LANGID;
|
|
|
|
typedef struct _APPKEY
|
|
{
|
|
unsigned long Type;
|
|
unsigned long ProcessorArchitecture;
|
|
|
|
[switch_is(Type), switch_type(unsigned long)] union
|
|
{
|
|
[case(APPNAME)]
|
|
struct
|
|
{
|
|
PWSTR Name;
|
|
GUID PolicyId;
|
|
} AppName;
|
|
[case(FILEEXT)]
|
|
PWSTR FileExt;
|
|
[case(PROGID)]
|
|
PWSTR ProgId;
|
|
[case(COMCLASS)]
|
|
struct
|
|
{
|
|
GUID Clsid;
|
|
unsigned long ClsCtx;
|
|
} COMClass;
|
|
} uType;
|
|
} APPKEY;
|
|
|
|
const unsigned long APPINFOFLAG_BASICUI = 0x0001;
|
|
const unsigned long APPINFOFLAG_FULLUI = 0x0002;
|
|
const unsigned long APPINFOFLAG_ALREADYMANAGED = 0x0004;
|
|
const unsigned long APPINFOFLAG_ORPHAN = 0x0008;
|
|
const unsigned long APPINFOFLAG_UNINSTALL = 0x0010;
|
|
|
|
typedef [context_handle] void * PINSTALLCONTEXT;
|
|
|
|
void PINSTALLCONTEXT_rundown( PINSTALLCONTEXT pInstallContext );
|
|
|
|
typedef struct
|
|
{
|
|
PWSTR pwszDeploymentId;
|
|
PWSTR pwszDeploymentName;
|
|
PWSTR pwszGPOName;
|
|
PWSTR pwszProductCode;
|
|
PWSTR pwszDescriptor;
|
|
PWSTR pwszSetupCommand;
|
|
DWORD Flags;
|
|
} APPLICATION_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD Products;
|
|
[size_is(Products)] APPLICATION_INFO * ApplicationInfo;
|
|
} UNINSTALL_APPS;
|
|
|
|
error_status_t
|
|
InstallBegin(
|
|
[in] handle_t hRpc,
|
|
[in] APPKEY * pAppType,
|
|
[out] PINSTALLCONTEXT * ppInstallContext,
|
|
[out] APPLICATION_INFO * pInstallInfo,
|
|
[out] UNINSTALL_APPS * pUninstallApps
|
|
);
|
|
|
|
error_status_t
|
|
InstallManageApp(
|
|
[in] PINSTALLCONTEXT pInstallContext,
|
|
[in] PWSTR pwszDeploymentId,
|
|
[in] DWORD RollbackStatus,
|
|
[out] boolean * pbInstall
|
|
);
|
|
|
|
error_status_t
|
|
InstallUnmanageApp(
|
|
[in] PINSTALLCONTEXT pInstallContext,
|
|
[in] PWSTR pwszDeploymentId,
|
|
[in] boolean bUnadvertiseOnly
|
|
);
|
|
|
|
error_status_t
|
|
InstallEnd(
|
|
[in] boolean bStatus,
|
|
[in,out] PINSTALLCONTEXT * ppInstallContext
|
|
);
|
|
|
|
error_status_t
|
|
ARPRemoveApp(
|
|
[in] handle_t hRpc,
|
|
[in] PWSTR pwszProductCode,
|
|
[in] DWORD ARPStatus
|
|
);
|
|
|
|
typedef struct
|
|
{
|
|
PWSTR pszPackageName;
|
|
PWSTR pszPublisher;
|
|
DWORD dwVersionHi;
|
|
DWORD dwVersionLo;
|
|
DWORD dwRevision;
|
|
GUID GpoId;
|
|
PWSTR pszPolicyName;
|
|
GUID ProductId;
|
|
LANGID Language;
|
|
PWSTR pszOwner;
|
|
PWSTR pszCompany;
|
|
PWSTR pszComments;
|
|
PWSTR pszContact;
|
|
PWSTR pszSupportUrl;
|
|
unsigned long dwPathType;
|
|
int bInstalled;
|
|
} MANAGED_APP;
|
|
|
|
typedef struct
|
|
{
|
|
DWORD Applications;
|
|
[size_is(Applications)] MANAGED_APP* rgApps;
|
|
} MANAGED_APPLIST;
|
|
|
|
error_status_t
|
|
GetManagedApps(
|
|
[in] handle_t hRpc,
|
|
[in, unique] GUID* pCategory,
|
|
[in] DWORD dwQueryFlags,
|
|
[in] DWORD dwInfoLevel,
|
|
[out] MANAGED_APPLIST* pAppList
|
|
);
|
|
|
|
error_status_t
|
|
RsopReportInstallFailure(
|
|
[in] PINSTALLCONTEXT pInstallContext,
|
|
[in] PWSTR pwszDeploymentId,
|
|
[in] DWORD dwEventId
|
|
);
|
|
|
|
typedef unsigned long LCID;
|
|
|
|
typedef PWSTR PWSTR_NOFREE;
|
|
|
|
typedef struct _APPCATEGORY
|
|
{
|
|
LCID Locale;
|
|
PWSTR_NOFREE pszDescription;
|
|
GUID AppCategoryId;
|
|
} APPCATEGORY;
|
|
|
|
typedef struct _APPCATEGORYLIST
|
|
{
|
|
DWORD cCategory;
|
|
[size_is(cCategory)] APPCATEGORY * pCategoryInfo;
|
|
} APPCATEGORYLIST;
|
|
|
|
error_status_t
|
|
GetManagedAppCategories(
|
|
[in] handle_t hRpc,
|
|
[in,out] APPCATEGORYLIST* pCategoryList
|
|
);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|