ReactOS  0.4.13-dev-563-g0561610
fusion.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2008 James Hawkins
3  *
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.
8  *
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.
13  *
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
17  */
18 
19 import "objidl.idl";
20 
21 interface IAssemblyCache;
22 interface IAssemblyCacheItem;
23 interface IAssemblyEnum;
24 interface IAssemblyName;
25 
26 typedef enum
27 {
34 
35 typedef enum
36 {
37  peNone = 0x00000000,
38  peMSIL = 0x00000001,
39  peI386 = 0x00000002,
40  peIA64 = 0x00000003,
41  peAMD64 = 0x00000004,
42  peARM = 0x00000005,
43  peInvalid = 0xffffffff
44 } PEKIND;
45 
47 {
61 
62 [
63  local,
64  object,
65  uuid(e707dcde-d1cd-11d2-bab9-00c04f8eceae),
67 ]
69 {
71  {
78 
80 
81  typedef struct _ASSEMBLY_INFO
82  {
88  } ASSEMBLY_INFO;
89 
90  cpp_quote("#define IASSEMBLYCACHE_INSTALL_FLAG_REFRESH 0x00000001")
91  cpp_quote("#define IASSEMBLYCACHE_INSTALL_FLAG_FORCE_REFRESH 0x00000002")
92 
93  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED 1")
94  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE 2")
95  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED 3")
96  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING 4")
97  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES 5")
98  cpp_quote("#define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND 6")
99 
100  cpp_quote("#define QUERYASMINFO_FLAG_VALIDATE 0x00000001")
101  cpp_quote("#define QUERYASMINFO_FLAG_GETSIZE 0x00000002")
102 
103  cpp_quote("#define ASSEMBLYINFO_FLAG_INSTALLED 0x00000001")
104  cpp_quote("#define ASSEMBLYINFO_FLAG_PAYLOADRESIDENT 0x00000002")
105 
107  [in] DWORD dwFlags,
108  [in] LPCWSTR pszAssemblyName,
109  [in] LPCFUSION_INSTALL_REFERENCE pRefData,
110  [out, optional] ULONG *pulDisposition);
111 
113  [in] DWORD dwFlags,
114  [in] LPCWSTR pszAssemblyName,
115  [in, out] ASSEMBLY_INFO *pAsmInfo);
116 
118  [in] DWORD dwFlags,
119  [in] PVOID pvReserved,
120  [out] IAssemblyCacheItem **ppAsmItem,
121  [in, optional] LPCWSTR pszAssemblyName);
122 
123  HRESULT CreateAssemblyScavenger([out] IUnknown **ppUnkReserved);
124 
126  [in] DWORD dwFlags,
127  [in] LPCWSTR pszManifestFilePath,
128  [in] LPCFUSION_INSTALL_REFERENCE pRefData);
129 }
130 
131 [
132  local,
133  object,
134  uuid(9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae),
136 ]
138 {
139  cpp_quote("#define STREAM_FORMAT_COMPLIB_MODULE 0")
140  cpp_quote("#define STREAM_FORMAT_COMPLIB_MANIFEST 1")
141  cpp_quote("#define STREAM_FORMAT_WIN32_MODULE 2")
142  cpp_quote("#define STREAM_FORMAT_WIN32_MANIFEST 4")
143 
144  cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_FLAG_REFRESH 0x00000001")
145  cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_FLAG_FORCE_REFRESH 0x00000002")
146 
147  cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_INSTALLED 1")
148  cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_REFRESHED 2")
149  cpp_quote("#define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_ALREADY_INSTALLED 3")
150 
152  [in] DWORD dwFlags,
153  [in] LPCWSTR pszStreamName,
154  [in] DWORD dwFormat,
156  [out] IStream **ppIStream,
157  [in, optional] ULARGE_INTEGER *puliMaxSize);
158 
159  HRESULT Commit(
160  [in] DWORD dwFlags,
161  [out, optional] ULONG *pulDisposition);
162 
163  HRESULT AbortItem();
164 }
165 
166 [
167  local,
168  object,
169  uuid(CD193BC0-B4BC-11d2-9833-00C04FC31D2E),
171 ]
173 {
175 
176  typedef enum
177  {
184 
185  typedef enum
186  {
216  } ASM_NAME;
217 
218  typedef enum
219  {
230 
237 
238  typedef enum
239  {
256  ASM_CMPF_MVID = 0x1000,
265  } ASM_CMP_FLAGS;
266 
268  [in] DWORD PropertyId,
269  [in] LPVOID pvProperty,
270  [in] DWORD cbProperty);
271 
273  [in] DWORD PropertyId,
274  [out] LPVOID pvProperty,
275  [in, out] LPDWORD pcbProperty);
276 
277  HRESULT Finalize();
278 
280  [out] LPOLESTR szDisplayName,
281  [in, out] LPDWORD pccDisplayName,
282  [in] DWORD dwDisplayFlags);
283 
285  [in] REFIID refIID,
286  [in] IUnknown *pUnkReserved1,
287  [in] IUnknown *pUnkReserved2,
288  [in] LPCOLESTR szReserved,
289  [in] LONGLONG llReserved,
290  [in] LPVOID pvReserved,
291  [in] DWORD cbReserved,
292  [out] LPVOID *ppReserved);
293 
295  [in, out] LPDWORD lpcwBuffer,
296  [out] WCHAR *pwzName);
297 
299  [out] LPDWORD pdwVersionHi,
300  [out] LPDWORD pdwVersionLow);
301 
304  [in] DWORD dwCmpFlags);
305 
307 }
308 
309 [
310  local,
311  object,
312  uuid(21b8916c-f28e-11d2-a473-00c04f8ef448),
314 ]
316 {
318  [in] LPVOID pvReserved,
319  [out] IAssemblyName **ppName,
320  [in] DWORD dwFlags);
321 
322  HRESULT Reset(void);
323 
324  HRESULT Clone([out] IAssemblyEnum **ppEnum);
325 }
326 
327 [
328  local,
329  object,
330  uuid(582dac66-e678-449f-aba6-6faaec8a9394),
332 ]
334 {
335 
336 }
337 
338 [
339  local,
340  object,
341  uuid(56b1a988-7c0c-4aa2-8639-c3eb5a90226f),
343 ]
345 {
346 
347 }
348 
349 cpp_quote("HRESULT WINAPI ClearDownloadCache(void);")
struct IAssemblyCache::_FUSION_INSTALL_REFERENCE_ * LPFUSION_INSTALL_REFERENCE
HRESULT GetProperty([in] DWORD PropertyId, [out] LPVOID pvProperty, [in, out] LPDWORD pcbProperty)
DWORD dwFormatFlags
Definition: trayclock.cpp:31
#define REFIID
Definition: guiddef.h:113
HRESULT CreateAssemblyCacheItem([in] DWORD dwFlags, [in] PVOID pvReserved, [out] IAssemblyCacheItem **ppAsmItem, [in, optional] LPCWSTR pszAssemblyName)
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
_In_ PSTORAGE_PROPERTY_ID PropertyId
Definition: classpnp.h:966
HRESULT Clone([out] IAssemblyEnum **ppEnum)
HRESULT WINAPI GetAssemblyIdentityFromFile(LPCWSTR, REFIID, IUnknown **)
HRESULT WINAPI CompareAssemblyIdentity(LPCWSTR, BOOL, LPCWSTR, BOOL, BOOL *, AssemblyComparisonResult *)
HRESULT WINAPI GetCachePath(ASM_CACHE_FLAGS, LPWSTR, PDWORD)
Definition: fusion.c:109
HRESULT SetProperty([in] DWORD PropertyId, [in] LPVOID pvProperty, [in] DWORD cbProperty)
HRESULT GetName([in, out] LPDWORD lpcwBuffer, [out] WCHAR *pwzName)
static LPOLESTR
Definition: stg_prop.c:27
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
enum _tagAssemblyComparisonResult AssemblyComparisonResult
HRESULT Finalize()
ASM_CACHE_FLAGS
Definition: fusion.idl:26
HRESULT IsEqual([in] IAssemblyName *pName, [in] DWORD dwCmpFlags)
Definition: fusion.idl:42
HRESULT Commit([in] DWORD dwFlags, [out, optional] ULONG *pulDisposition)
unsigned int BOOL
Definition: ntddk_ex.h:94
IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_ALREADY_INSTALLED HRESULT CreateStream([in] DWORD dwFlags, [in] LPCWSTR pszStreamName, [in] DWORD dwFormat, [in] DWORD dwFormatFlags, [out] IStream **ppIStream, [in, optional] ULARGE_INTEGER *puliMaxSize)
HRESULT WINAPI CreateAssemblyEnum(IAssemblyEnum **, IUnknown *, IAssemblyName *, DWORD, LPVOID)
Definition: asmenum.c:464
HRESULT GetNextAssembly([in] LPVOID pvReserved, [out] IAssemblyName **ppName, [in] DWORD dwFlags)
struct IAssemblyCache::_FUSION_INSTALL_REFERENCE_ FUSION_INSTALL_REFERENCE
Definition: msg.h:41
int64_t LONGLONG
Definition: typedefs.h:66
GLfloat f
Definition: glext.h:7540
static LPSTR pName
Definition: security.c:75
HRESULT Reset(void)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **, DWORD)
Definition: asmcache.c:553
static LPCSTR DWORD void * pvReserved
Definition: str.c:196
#define WINAPI
Definition: msvc.h:8
struct IAssemblyCache::_ASSEMBLY_INFO ASSEMBLY_INFO
static FILE * out
Definition: regtests2xml.c:44
HRESULT InstallAssembly([in] DWORD dwFlags, [in] LPCWSTR pszManifestFilePath, [in] LPCFUSION_INSTALL_REFERENCE pRefData)
HRESULT Reserved([in] REFIID refIID, [in] IUnknown *pUnkReserved1, [in] IUnknown *pUnkReserved2, [in] LPCOLESTR szReserved, [in] LONGLONG llReserved, [in] LPVOID pvReserved, [in] DWORD cbReserved, [out] LPVOID *ppReserved)
unsigned long DWORD
Definition: ntddk_ex.h:95
ULARGE_INTEGER uliAssemblySizeInKB
Definition: fusion.idl:85
PEKIND
Definition: fusion.idl:35
CREATE_ASM_NAME_OBJ_FLAGS
Definition: fusion.idl:176
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
HRESULT CreateAssemblyScavenger([out] IUnknown **ppUnkReserved)
HRESULT WINAPI CreateInstallReferenceEnum(IInstallReferenceEnum **, IAssemblyName *, DWORD, LPVOID)
Definition: fusion.c:66
#define local
Definition: zutil.h:30
ASSEMBLYINFO_FLAG_PAYLOADRESIDENT HRESULT UninstallAssembly([in] DWORD dwFlags, [in] LPCWSTR pszAssemblyName, [in] LPCFUSION_INSTALL_REFERENCE pRefData, [out, optional] ULONG *pulDisposition)
GLuint in
Definition: glext.h:9616
static unsigned char pointer_default
Definition: parser.tab.c:114
DWORD * PDWORD
Definition: pedump.c:68
uint32_t * LPDWORD
Definition: typedefs.h:57
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
Definition: _algo.h:298
unsigned int ULONG
Definition: retypes.h:1
HRESULT GetDisplayName([out] LPOLESTR szDisplayName, [in, out] LPDWORD pccDisplayName, [in] DWORD dwDisplayFlags)
HRESULT GetVersion([out] LPDWORD pdwVersionHi, [out] LPDWORD pdwVersionLow)
HRESULT QueryAssemblyInfo([in] DWORD dwFlags, [in] LPCWSTR pszAssemblyName, [in, out] ASSEMBLY_INFO *pAsmInfo)
const FUSION_INSTALL_REFERENCE * LPCFUSION_INSTALL_REFERENCE
Definition: fusion.idl:79
HRESULT WINAPI CreateAssemblyNameObject(LPASSEMBLYNAME *, LPCWSTR, DWORD, LPVOID)
Definition: name.c:366
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_tagAssemblyComparisonResult
Definition: fusion.idl:46
void * object
Definition: jmemsys.h:48
HRESULT Clone([out] IAssemblyName **pName)
IAssemblyName * LPASSEMBLYNAME
Definition: fusion.idl:174