d2d1: Make some strings const.
[wine.git] / include / windows.management.deployment.idl
blobbdb115b924eeb9d1d3ff329401822e360ee82e9e
1 /*
2 * Copyright 2023 RĂ©mi Bernon for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "windows.foundation.idl";
24 import "windows.applicationmodel.idl";
26 namespace Windows.Management.Deployment {
28 typedef enum DeploymentOptions DeploymentOptions;
29 typedef enum DeploymentProgressState DeploymentProgressState;
30 typedef enum PackageInstallState PackageInstallState;
31 typedef enum PackageState PackageState;
32 typedef enum PackageTypes PackageTypes;
33 typedef enum RemovalOptions RemovalOptions;
35 typedef struct DeploymentProgress DeploymentProgress;
37 interface IDeploymentResult;
38 interface IPackageManager;
39 interface IPackageManager2;
40 interface IPackageUserInformation;
42 runtimeclass DeploymentResult;
43 runtimeclass PackageManager;
44 runtimeclass PackageUserInformation;
46 declare {
47 interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *>;
48 interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Uri *>;
49 interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *>;
50 interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package *>;
51 interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation *>;
52 interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.PackageUserInformation *>;
53 interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>;
54 interface Windows.Foundation.AsyncOperationProgressHandler<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>;
55 interface Windows.Foundation.AsyncOperationWithProgressCompletedHandler<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress>;
58 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
59 [flags]
60 enum DeploymentOptions
62 None = 0x0,
63 ForceApplicationShutdown = 0x1,
64 DevelopmentMode = 0x2,
65 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
66 InstallAllResources = 0x20,
67 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
68 ForceTargetApplicationShutdown = 0x40,
69 [contract(Windows.Foundation.UniversalApiContract, 4.0)]
70 RequiredContentGroupOnly = 0x100,
71 [contract(Windows.Foundation.UniversalApiContract, 7.0)]
72 ForceUpdateFromAnyVersion = 0x40000,
73 [contract(Windows.Foundation.UniversalApiContract, 10.0)]
74 RetainFilesOnFailure = 0x200000,
75 [contract(Windows.Foundation.UniversalApiContract, 10.0)]
76 StageInPlace = 0x400000,
79 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
80 enum DeploymentProgressState
82 Queued = 0,
83 Processing = 1,
86 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
87 enum PackageInstallState
89 NotInstalled = 0,
90 Staged = 1,
91 Installed = 2,
92 [contract(Windows.Foundation.UniversalApiContract, 2.0)]
93 Paused = 6,
96 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
97 enum PackageState
99 Normal = 0,
100 LicenseInvalid = 1,
101 Modified = 2,
102 Tampered = 3,
105 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
106 [flags]
107 enum PackageTypes
109 None = 0x0,
110 Main = 0x1,
111 Framework = 0x2,
112 Resource = 0x4,
113 Bundle = 0x8,
114 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
115 Xap = 0x10,
116 [contract(Windows.Foundation.UniversalApiContract, 3.0)]
117 Optional = 0x20,
118 [contract(Windows.Foundation.UniversalApiContract, 10.0)]
119 All = 0xffffffff,
122 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
123 [flags]
124 enum RemovalOptions
126 None = 0x0,
127 PreserveApplicationData = 0x1000,
128 [contract(Windows.Foundation.UniversalApiContract, 10.0)]
129 PreserveRoamableApplicationData = 0x80,
130 [contract(Windows.Foundation.UniversalApiContract, 7.0)]
131 RemoveForAllUsers = 0x80000,
134 [contract(Windows.Foundation.UniversalApiContract, 1.0)]
135 struct DeploymentProgress
137 Windows.Management.Deployment.DeploymentProgressState state;
138 UINT32 percentage;
142 contract(Windows.Foundation.UniversalApiContract, 1.0),
143 exclusiveto(Windows.Management.Deployment.DeploymentResult),
144 uuid(2563b9ae-b77d-4c1f-8a7b-20e6ad515ef3)
146 interface IDeploymentResult : IInspectable
148 [propget] HRESULT ErrorText([out, retval] HSTRING *value);
149 [propget] HRESULT ActivityId([out, retval] GUID *value);
150 [propget] HRESULT ExtendedErrorCode([out, retval] HRESULT *value);
154 contract(Windows.Foundation.UniversalApiContract, 1.0),
155 exclusiveto(Windows.Management.Deployment.PackageManager),
156 uuid(9a7d4b65-5e8f-4fc7-a2e5-7f6925cb8b53)
158 interface IPackageManager : IInspectable
160 [overload("AddPackageAsync")]
161 HRESULT AddPackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options,
162 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
163 HRESULT UpdatePackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options,
164 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
165 HRESULT RemovePackageAsync([in] HSTRING name, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
166 HRESULT StagePackageAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies,
167 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
168 [overload("RegisterPackageAsync")]
169 HRESULT RegisterPackageAsync([in] Windows.Foundation.Uri* uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies, [in] Windows.Management.Deployment.DeploymentOptions options,
170 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
171 [overload("FindPackages")]
172 HRESULT FindPackages([out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
173 [overload("FindPackagesForUser")]
174 HRESULT FindPackagesByUserSecurityId([in] HSTRING sid, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
175 [overload("FindPackages")]
176 HRESULT FindPackagesByNamePublisher([in] HSTRING name, [in] HSTRING publisher, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
177 [overload("FindPackagesForUser")]
178 HRESULT FindPackagesByUserSecurityIdNamePublisher([in] HSTRING sid, [in] HSTRING name, [in] HSTRING publisher, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
179 HRESULT FindUsers([in] HSTRING name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation *> **users);
180 HRESULT SetPackageState([in] HSTRING name, [in] Windows.Management.Deployment.PackageState state);
181 [overload("FindPackage")]
182 HRESULT FindPackageByPackageFullName([in] HSTRING name, [out, retval] Windows.ApplicationModel.Package **package);
183 HRESULT CleanupPackageForUserAsync([in] HSTRING name, [in] HSTRING sid, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
184 [overload("FindPackages")]
185 HRESULT FindPackagesByPackageFamilyName([in] HSTRING family_name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
186 [overload("FindPackagesForUser")]
187 HRESULT FindPackagesByUserSecurityIdPackageFamilyName([in] HSTRING sid, [in] HSTRING family_name, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
188 [overload("FindPackageForUser")]
189 HRESULT FindPackageByUserSecurityIdPackageFullName([in] HSTRING sid, [in] HSTRING name, [out, retval] Windows.ApplicationModel.Package **package);
193 contract(Windows.Foundation.UniversalApiContract, 1.0),
194 exclusiveto(Windows.Management.Deployment.PackageManager),
195 uuid(f7aad08d-0840-46f2-b5d8-cad47693a095)
197 interface IPackageManager2 : IInspectable
199 [overload("RemovePackageAsync")]
200 HRESULT RemovePackageWithOptionsAsync([in] HSTRING name, [in] Windows.Management.Deployment.RemovalOptions options,
201 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
202 [overload("StagePackageAsync")]
203 HRESULT StagePackageWithOptionsAsync([in] Windows.Foundation.Uri *uri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri *> *dependencies,
204 [in] Windows.Management.Deployment.DeploymentOptions options,
205 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
206 HRESULT RegisterPackageByFullNameAsync([in] HSTRING name, [in] Windows.Foundation.Collections.IIterable<HSTRING> *dependencies,
207 [in] Windows.Management.Deployment.DeploymentOptions options,
208 [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
209 [overload("FindPackagesWithPackageTypes")]
210 HRESULT FindPackagesWithPackageTypes([in] Windows.Management.Deployment.PackageTypes types, [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
211 [overload("FindPackagesForUserWithPackageTypes")]
212 HRESULT FindPackagesByUserSecurityIdWithPackageTypes([in] HSTRING sid, [in] Windows.Management.Deployment.PackageTypes types,
213 [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
214 [overload("FindPackagesWithPackageTypes")]
215 HRESULT FindPackagesByNamePublisherWithPackageTypes([in] HSTRING name, [in] HSTRING publisher, [in] Windows.Management.Deployment.PackageTypes types,
216 [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
217 [overload("FindPackagesForUserWithPackageTypes")]
218 HRESULT FindPackagesByUserSecurityIdNamePublisherWithPackageTypes([in] HSTRING sid, [in] HSTRING name, [in] HSTRING publisher, [in] Windows.Management.Deployment.PackageTypes types,
219 [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
220 [overload("FindPackagesWithPackageTypes")]
221 HRESULT FindPackagesByPackageFamilyNameWithPackageTypes([in] HSTRING family_name, [in] Windows.Management.Deployment.PackageTypes types,
222 [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
223 [overload("FindPackagesForUserWithPackageTypes")]
224 HRESULT FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes([in] HSTRING sid, [in] HSTRING family_name, [in] Windows.Management.Deployment.PackageTypes types,
225 [out, retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *> **packages);
226 [overload("StageUserDataAsync")]
227 HRESULT StageUserDataAsync([in] HSTRING name, [out, retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult *, Windows.Management.Deployment.DeploymentProgress> **operation);
231 contract(Windows.Foundation.UniversalApiContract, 1.0),
232 exclusiveto(Windows.Management.Deployment.PackageUserInformation),
233 uuid(f6383423-fa09-4cbc-9055-15ca275e2e7e)
235 interface IPackageUserInformation : IInspectable
237 [propget] HRESULT UserSecurityId([out, retval] HSTRING *value);
238 [propget] HRESULT InstallState([out, retval] Windows.Management.Deployment.PackageInstallState *value);
242 contract(Windows.Foundation.UniversalApiContract, 1.0),
243 marshaling_behavior(agile)
245 runtimeclass DeploymentResult
247 [default] interface Windows.Management.Deployment.IDeploymentResult;
248 [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IDeploymentResult2;
252 activatable(Windows.Foundation.UniversalApiContract, 1.0),
253 contract(Windows.Foundation.UniversalApiContract, 1.0),
254 marshaling_behavior(agile),
255 threading(both)
257 runtimeclass PackageManager
259 [default] interface Windows.Management.Deployment.IPackageManager;
260 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager2;
261 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager3;
262 [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Management.Deployment.IPackageManager4;
263 [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IPackageManager5;
264 [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Management.Deployment.IPackageManager6;
265 [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Management.Deployment.IPackageManager7;
266 [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Management.Deployment.IPackageManager8;
267 [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Management.Deployment.IPackageManager9;
271 contract(Windows.Foundation.UniversalApiContract, 1.0),
272 marshaling_behavior(agile)
274 runtimeclass PackageUserInformation
276 [default] interface Windows.Management.Deployment.IPackageUserInformation;