Fix the case of product and company names.
[wine] / dlls / ole32 / dcom.h
1 /*** Autogenerated by WIDL 0.1 from dcom.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_DCOM_H
6 #define __WIDL_DCOM_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <unknwn.h>
11 typedef MIDL_uhyper ID;
12
13 typedef ID MID;
14
15 typedef ID OXID;
16
17 typedef ID OID;
18
19 typedef ID SETID;
20
21 typedef GUID IPID;
22
23 typedef GUID CID;
24
25 typedef REFGUID REFIPID;
26
27 #define COM_MINOR_VERSION_1 (1)
28
29 #define COM_MINOR_VERSION_2 (2)
30
31 #define COM_MAJOR_VERSION (5)
32
33 #define COM_MINOR_VERSION (3)
34
35 typedef struct tagCOMVERSION {
36     unsigned short MajorVersion;
37     unsigned short MinorVersion;
38 } COMVERSION;
39
40 #define ORPCF_NULL (0)
41
42 #define ORPCF_LOCAL (1)
43
44 #define ORPCF_RESERVED1 (2)
45
46 #define ORPCF_RESERVED2 (4)
47
48 #define ORPCF_RESERVED3 (8)
49
50 #define ORPCF_RESERVED4 (16)
51
52 typedef struct tagORPC_EXTENT {
53     GUID id;
54     unsigned long size;
55     byte data[1];
56 } ORPC_EXTENT;
57
58 typedef struct tagORPC_EXTENT_ARRAY {
59     unsigned long size;
60     unsigned long reserved;
61     ORPC_EXTENT **extent;
62 } ORPC_EXTENT_ARRAY;
63
64 typedef struct tagORPCTHIS {
65     COMVERSION version;
66     unsigned long flags;
67     unsigned long reserved1;
68     CID cid;
69     ORPC_EXTENT_ARRAY *extensions;
70 } ORPCTHIS;
71
72 typedef struct tagORPCTHAT {
73     unsigned long flags;
74     ORPC_EXTENT_ARRAY *extensions;
75 } ORPCTHAT;
76
77 #define NCADG_IP_UDP (0x8)
78
79 #define NCACN_IP_TCP (0x7)
80
81 #define NCADG_IPX (0xe)
82
83 #define NCACN_SPX (0xc)
84
85 #define NCACN_NB_NB (0x12)
86
87 #define NCACN_NB_IPX (0xd)
88
89 #define NCACN_DNET_NSP (0x4)
90
91 #define NCACN_HTTP (0x1f)
92
93 typedef struct tagSTRINGBINDING {
94     unsigned short wTowerId;
95     unsigned short aNetworkAddr[1];
96 } STRINGBINDING;
97
98 #define COM_C_AUTHZ_NONE (0xffff)
99
100 typedef struct tagSECURITYBINDING {
101     unsigned short wAuthnSvc;
102     unsigned short wAuthzSvc;
103     unsigned short aPrincName[1];
104 } SECURITYBINDING;
105
106 typedef struct tagDUALSTRINGARRAY {
107     unsigned short wNumEntries;
108     unsigned short wSecurityOffset;
109     unsigned short aStringArray[1];
110 } DUALSTRINGARRAY;
111
112 #define OBJREF_SIGNATURE (0x574f454d)
113
114 #define OBJREF_STANDARD (0x1)
115
116 #define OBJREF_HANDLER (0x2)
117
118 #define OBJREF_CUSTOM (0x4)
119
120 #define SORF_OXRES1 (0x1)
121
122 #define SORF_OXRES2 (0x20)
123
124 #define SORF_OXRES3 (0x40)
125
126 #define SORF_OXRES4 (0x80)
127
128 #define SORF_OXRES5 (0x100)
129
130 #define SORF_OXRES6 (0x200)
131
132 #define SORF_OXRES7 (0x400)
133
134 #define SORF_OXRES8 (0x800)
135
136 #define SORF_NULL (0x0)
137
138 #define SORF_NOPING (0x1000)
139
140 typedef struct tagSTDOBJREF {
141     unsigned long flags;
142     unsigned long cPublicRefs;
143     OXID oxid;
144     OID oid;
145     IPID ipid;
146 } STDOBJREF;
147
148 typedef struct tagOBJREF {
149     unsigned long signature;
150     unsigned long flags;
151     GUID iid;
152     union {
153         struct OR_STANDARD {
154             STDOBJREF std;
155             DUALSTRINGARRAY saResAddr;
156         } u_standard;
157         struct OR_HANDLER {
158             STDOBJREF std;
159             CLSID clsid;
160             DUALSTRINGARRAY saResAddr;
161         } u_handler;
162         struct OR_CUSTOM {
163             CLSID clsid;
164             unsigned long cbExtension;
165             unsigned long size;
166             byte *pData;
167         } u_custom;
168     } u_objref;
169 } OBJREF;
170
171 typedef struct tagMInterfacePointer {
172     ULONG ulCntData;
173     BYTE abData[1];
174 } MInterfacePointer;
175
176 typedef MInterfacePointer *PMInterfacePointer;
177
178 #ifndef __IRemUnknown_FWD_DEFINED__
179 #define __IRemUnknown_FWD_DEFINED__
180 typedef struct IRemUnknown IRemUnknown;
181 #endif
182
183 typedef IRemUnknown *LPREMUNKNOWN;
184
185 typedef struct tagREMQIRESULT {
186     HRESULT hResult;
187     STDOBJREF std;
188 } REMQIRESULT;
189
190 typedef struct tagREMINTERFACEREF {
191     IPID ipid;
192     unsigned long cPublicRefs;
193     unsigned long cPrivateRefs;
194 } REMINTERFACEREF;
195
196 /*****************************************************************************
197  * IRemUnknown interface
198  */
199 #ifndef __IRemUnknown_INTERFACE_DEFINED__
200 #define __IRemUnknown_INTERFACE_DEFINED__
201
202 DEFINE_GUID(IID_IRemUnknown, 0x00000131, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
203 #if defined(__cplusplus) && !defined(CINTERFACE)
204 struct IRemUnknown : public IUnknown
205 {
206     virtual HRESULT STDMETHODCALLTYPE RemQueryInterface(
207         REFIPID ripid,
208         unsigned long cRefs,
209         unsigned short cIids,
210         IID* iids,
211         REMQIRESULT** ppQIResults) = 0;
212
213     virtual HRESULT STDMETHODCALLTYPE RemAddRef(
214         unsigned short cInterfaceRefs,
215         REMINTERFACEREF* InterfaceRefs,
216         HRESULT* pResults) = 0;
217
218     virtual HRESULT STDMETHODCALLTYPE RemRelease(
219         unsigned short cInterfaceRefs,
220         REMINTERFACEREF* InterfaceRefs) = 0;
221
222 };
223 #else
224 typedef struct IRemUnknownVtbl IRemUnknownVtbl;
225 struct IRemUnknown {
226     const IRemUnknownVtbl* lpVtbl;
227 };
228 struct IRemUnknownVtbl {
229     ICOM_MSVTABLE_COMPAT_FIELDS
230
231     /*** IUnknown methods ***/
232     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
233         IRemUnknown* This,
234         REFIID riid,
235         void** ppvObject);
236
237     ULONG (STDMETHODCALLTYPE *AddRef)(
238         IRemUnknown* This);
239
240     ULONG (STDMETHODCALLTYPE *Release)(
241         IRemUnknown* This);
242
243     /*** IRemUnknown methods ***/
244     HRESULT (STDMETHODCALLTYPE *RemQueryInterface)(
245         IRemUnknown* This,
246         REFIPID ripid,
247         unsigned long cRefs,
248         unsigned short cIids,
249         IID* iids,
250         REMQIRESULT** ppQIResults);
251
252     HRESULT (STDMETHODCALLTYPE *RemAddRef)(
253         IRemUnknown* This,
254         unsigned short cInterfaceRefs,
255         REMINTERFACEREF* InterfaceRefs,
256         HRESULT* pResults);
257
258     HRESULT (STDMETHODCALLTYPE *RemRelease)(
259         IRemUnknown* This,
260         unsigned short cInterfaceRefs,
261         REMINTERFACEREF* InterfaceRefs);
262
263 };
264
265 /*** IUnknown methods ***/
266 #define IRemUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
267 #define IRemUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
268 #define IRemUnknown_Release(p) (p)->lpVtbl->Release(p)
269 /*** IRemUnknown methods ***/
270 #define IRemUnknown_RemQueryInterface(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface(p,a,b,c,d,e)
271 #define IRemUnknown_RemAddRef(p,a,b,c) (p)->lpVtbl->RemAddRef(p,a,b,c)
272 #define IRemUnknown_RemRelease(p,a,b) (p)->lpVtbl->RemRelease(p,a,b)
273
274 #endif
275
276 #define IRemUnknown_METHODS \
277     ICOM_MSVTABLE_COMPAT_FIELDS \
278     /*** IUnknown methods ***/ \
279     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
280     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
281     STDMETHOD_(ULONG,Release)(THIS) PURE; \
282     /*** IRemUnknown methods ***/ \
283     STDMETHOD_(HRESULT,RemQueryInterface)(THIS_ REFIPID ripid, unsigned long cRefs, unsigned short cIids, IID* iids, REMQIRESULT** ppQIResults) PURE; \
284     STDMETHOD_(HRESULT,RemAddRef)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs, HRESULT* pResults) PURE; \
285     STDMETHOD_(HRESULT,RemRelease)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs) PURE;
286
287 HRESULT CALLBACK IRemUnknown_RemQueryInterface_Proxy(
288     IRemUnknown* This,
289     REFIPID ripid,
290     unsigned long cRefs,
291     unsigned short cIids,
292     IID* iids,
293     REMQIRESULT** ppQIResults);
294 void __RPC_STUB IRemUnknown_RemQueryInterface_Stub(
295     struct IRpcStubBuffer* This,
296     struct IRpcChannelBuffer* pRpcChannelBuffer,
297     PRPC_MESSAGE pRpcMessage,
298     DWORD* pdwStubPhase);
299 HRESULT CALLBACK IRemUnknown_RemAddRef_Proxy(
300     IRemUnknown* This,
301     unsigned short cInterfaceRefs,
302     REMINTERFACEREF* InterfaceRefs,
303     HRESULT* pResults);
304 void __RPC_STUB IRemUnknown_RemAddRef_Stub(
305     struct IRpcStubBuffer* This,
306     struct IRpcChannelBuffer* pRpcChannelBuffer,
307     PRPC_MESSAGE pRpcMessage,
308     DWORD* pdwStubPhase);
309 HRESULT CALLBACK IRemUnknown_RemRelease_Proxy(
310     IRemUnknown* This,
311     unsigned short cInterfaceRefs,
312     REMINTERFACEREF* InterfaceRefs);
313 void __RPC_STUB IRemUnknown_RemRelease_Stub(
314     struct IRpcStubBuffer* This,
315     struct IRpcChannelBuffer* pRpcChannelBuffer,
316     PRPC_MESSAGE pRpcMessage,
317     DWORD* pdwStubPhase);
318
319 #endif  /* __IRemUnknown_INTERFACE_DEFINED__ */
320
321 #ifndef __IRemUnknown2_FWD_DEFINED__
322 #define __IRemUnknown2_FWD_DEFINED__
323 typedef struct IRemUnknown2 IRemUnknown2;
324 #endif
325
326 typedef IRemUnknown2 *LPREMUNKNOWN2;
327
328 /*****************************************************************************
329  * IRemUnknown2 interface
330  */
331 #ifndef __IRemUnknown2_INTERFACE_DEFINED__
332 #define __IRemUnknown2_INTERFACE_DEFINED__
333
334 DEFINE_GUID(IID_IRemUnknown2, 0x00000142, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
335 #if defined(__cplusplus) && !defined(CINTERFACE)
336 struct IRemUnknown2 : public IRemUnknown
337 {
338     virtual HRESULT STDMETHODCALLTYPE RemQueryInterface2(
339         REFIPID ripid,
340         unsigned short cIids,
341         IID* iids,
342         HRESULT* phr,
343         MInterfacePointer** ppMIF) = 0;
344
345 };
346 #else
347 typedef struct IRemUnknown2Vtbl IRemUnknown2Vtbl;
348 struct IRemUnknown2 {
349     const IRemUnknown2Vtbl* lpVtbl;
350 };
351 struct IRemUnknown2Vtbl {
352     ICOM_MSVTABLE_COMPAT_FIELDS
353
354     /*** IUnknown methods ***/
355     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
356         IRemUnknown2* This,
357         REFIID riid,
358         void** ppvObject);
359
360     ULONG (STDMETHODCALLTYPE *AddRef)(
361         IRemUnknown2* This);
362
363     ULONG (STDMETHODCALLTYPE *Release)(
364         IRemUnknown2* This);
365
366     /*** IRemUnknown methods ***/
367     HRESULT (STDMETHODCALLTYPE *RemQueryInterface)(
368         IRemUnknown2* This,
369         REFIPID ripid,
370         unsigned long cRefs,
371         unsigned short cIids,
372         IID* iids,
373         REMQIRESULT** ppQIResults);
374
375     HRESULT (STDMETHODCALLTYPE *RemAddRef)(
376         IRemUnknown2* This,
377         unsigned short cInterfaceRefs,
378         REMINTERFACEREF* InterfaceRefs,
379         HRESULT* pResults);
380
381     HRESULT (STDMETHODCALLTYPE *RemRelease)(
382         IRemUnknown2* This,
383         unsigned short cInterfaceRefs,
384         REMINTERFACEREF* InterfaceRefs);
385
386     /*** IRemUnknown2 methods ***/
387     HRESULT (STDMETHODCALLTYPE *RemQueryInterface2)(
388         IRemUnknown2* This,
389         REFIPID ripid,
390         unsigned short cIids,
391         IID* iids,
392         HRESULT* phr,
393         MInterfacePointer** ppMIF);
394
395 };
396
397 /*** IUnknown methods ***/
398 #define IRemUnknown2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
399 #define IRemUnknown2_AddRef(p) (p)->lpVtbl->AddRef(p)
400 #define IRemUnknown2_Release(p) (p)->lpVtbl->Release(p)
401 /*** IRemUnknown methods ***/
402 #define IRemUnknown2_RemQueryInterface(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface(p,a,b,c,d,e)
403 #define IRemUnknown2_RemAddRef(p,a,b,c) (p)->lpVtbl->RemAddRef(p,a,b,c)
404 #define IRemUnknown2_RemRelease(p,a,b) (p)->lpVtbl->RemRelease(p,a,b)
405 /*** IRemUnknown2 methods ***/
406 #define IRemUnknown2_RemQueryInterface2(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface2(p,a,b,c,d,e)
407
408 #endif
409
410 #define IRemUnknown2_METHODS \
411     ICOM_MSVTABLE_COMPAT_FIELDS \
412     /*** IUnknown methods ***/ \
413     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
414     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
415     STDMETHOD_(ULONG,Release)(THIS) PURE; \
416     /*** IRemUnknown methods ***/ \
417     STDMETHOD_(HRESULT,RemQueryInterface)(THIS_ REFIPID ripid, unsigned long cRefs, unsigned short cIids, IID* iids, REMQIRESULT** ppQIResults) PURE; \
418     STDMETHOD_(HRESULT,RemAddRef)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs, HRESULT* pResults) PURE; \
419     STDMETHOD_(HRESULT,RemRelease)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs) PURE; \
420     /*** IRemUnknown2 methods ***/ \
421     STDMETHOD_(HRESULT,RemQueryInterface2)(THIS_ REFIPID ripid, unsigned short cIids, IID* iids, HRESULT* phr, MInterfacePointer** ppMIF) PURE;
422
423 HRESULT CALLBACK IRemUnknown2_RemQueryInterface2_Proxy(
424     IRemUnknown2* This,
425     REFIPID ripid,
426     unsigned short cIids,
427     IID* iids,
428     HRESULT* phr,
429     MInterfacePointer** ppMIF);
430 void __RPC_STUB IRemUnknown2_RemQueryInterface2_Stub(
431     struct IRpcStubBuffer* This,
432     struct IRpcChannelBuffer* pRpcChannelBuffer,
433     PRPC_MESSAGE pRpcMessage,
434     DWORD* pdwStubPhase);
435
436 #endif  /* __IRemUnknown2_INTERFACE_DEFINED__ */
437
438 #if 0
439 /*****************************************************************************
440  * IOXIDResolver interface (v0.0)
441  */
442 DEFINE_GUID(IID_IOXIDResolver, 0x99fcfec4, 0x5260, 0x101b, 0xbb,0xcb, 0x00,0xaa,0x00,0x21,0x34,0x7a);
443 extern RPC_IF_HANDLE IOXIDResolver_v0_0_c_ifspec;
444 extern RPC_IF_HANDLE IOXIDResolver_v0_0_s_ifspec;
445 error_status_t ResolveOxid(
446     handle_t hRpc,
447     OXID* pOxid,
448     unsigned short cRequestedProtseqs,
449     unsigned short arRequestedProtseqs[],
450     DUALSTRINGARRAY** ppdsaOxidBindings,
451     IPID* pipidRemUnknown,
452     DWORD* pAuthnHint);
453 error_status_t SimplePing(
454     handle_t hRpc,
455     SETID* pSetId);
456 error_status_t ComplexPing(
457     handle_t hRpc,
458     SETID* pSetId,
459     unsigned short SequenceNum,
460     unsigned short cAddToSet,
461     unsigned short cDelFromSet,
462     OID AddToSet[],
463     OID DelFromSet[],
464     unsigned short* pPingBackoffFactor);
465 error_status_t ServerAlive(
466     handle_t hRpc);
467 error_status_t ResolveOxid2(
468     handle_t hRpc,
469     OXID* pOxid,
470     unsigned short cRequestedProtseqs,
471     unsigned short arRequestedProtseqs[],
472     DUALSTRINGARRAY** ppdsaOxidBindings,
473     IPID* pipidRemUnknown,
474     DWORD* pAuthnHint,
475     COMVERSION* pComVersion);
476
477 #define MODE_GET_CLASS_OBJECT (0xffffffff)
478
479 /*****************************************************************************
480  * IRemoteActivation interface (v0.0)
481  */
482 DEFINE_GUID(IID_IRemoteActivation, 0x4d9f4ab8, 0x7d1c, 0x11cf, 0x86,0x1e, 0x00,0x20,0xaf,0x6e,0x7c,0x57);
483 extern RPC_IF_HANDLE IRemoteActivation_v0_0_c_ifspec;
484 extern RPC_IF_HANDLE IRemoteActivation_v0_0_s_ifspec;
485 HRESULT RemoteActivation(
486     handle_t hRpc,
487     ORPCTHIS* ORPCthis,
488     ORPCTHAT* ORPCthat,
489     GUID* Clsid,
490     WCHAR* pwszObjectName,
491     MInterfacePointer* pObjectStorage,
492     DWORD ClientImpLevel,
493     DWORD Mode,
494     DWORD Interfaces,
495     IID* pIIDs,
496     unsigned short cRequestedProtseqs,
497     unsigned short RequestedProtseqs[],
498     OXID* pOxid,
499     DUALSTRINGARRAY** ppdsaOxidBindings,
500     IPID* pipidRemUnknown,
501     DWORD* pAuthnHint,
502     COMVERSION* pServerVersion,
503     HRESULT* phr,
504     MInterfacePointer** ppInterfaceData,
505     HRESULT* pResults);
506
507 #endif
508 #ifdef __cplusplus
509 }
510 #endif
511 #endif /* __WIDL_DCOM_H */