1 /*** Autogenerated by WIDL 0.1 from dcom.idl - Do not edit ***/
11 typedef MIDL_uhyper ID;
25 typedef REFGUID REFIPID;
27 #define COM_MINOR_VERSION_1 (1)
29 #define COM_MINOR_VERSION_2 (2)
31 #define COM_MAJOR_VERSION (5)
33 #define COM_MINOR_VERSION (3)
35 typedef struct tagCOMVERSION {
36 unsigned short MajorVersion;
37 unsigned short MinorVersion;
40 #define ORPCF_NULL (0)
42 #define ORPCF_LOCAL (1)
44 #define ORPCF_RESERVED1 (2)
46 #define ORPCF_RESERVED2 (4)
48 #define ORPCF_RESERVED3 (8)
50 #define ORPCF_RESERVED4 (16)
52 typedef struct tagORPC_EXTENT {
58 typedef struct tagORPC_EXTENT_ARRAY {
60 unsigned long reserved;
64 typedef struct tagORPCTHIS {
67 unsigned long reserved1;
69 ORPC_EXTENT_ARRAY *extensions;
72 typedef struct tagORPCTHAT {
74 ORPC_EXTENT_ARRAY *extensions;
77 #define NCADG_IP_UDP (0x8)
79 #define NCACN_IP_TCP (0x7)
81 #define NCADG_IPX (0xe)
83 #define NCACN_SPX (0xc)
85 #define NCACN_NB_NB (0x12)
87 #define NCACN_NB_IPX (0xd)
89 #define NCACN_DNET_NSP (0x4)
91 #define NCACN_HTTP (0x1f)
93 typedef struct tagSTRINGBINDING {
94 unsigned short wTowerId;
95 unsigned short aNetworkAddr[1];
98 #define COM_C_AUTHZ_NONE (0xffff)
100 typedef struct tagSECURITYBINDING {
101 unsigned short wAuthnSvc;
102 unsigned short wAuthzSvc;
103 unsigned short aPrincName[1];
106 typedef struct tagDUALSTRINGARRAY {
107 unsigned short wNumEntries;
108 unsigned short wSecurityOffset;
109 unsigned short aStringArray[1];
112 #define OBJREF_SIGNATURE (0x574f454d)
114 #define OBJREF_STANDARD (0x1)
116 #define OBJREF_HANDLER (0x2)
118 #define OBJREF_CUSTOM (0x4)
120 #define SORF_OXRES1 (0x1)
122 #define SORF_OXRES2 (0x20)
124 #define SORF_OXRES3 (0x40)
126 #define SORF_OXRES4 (0x80)
128 #define SORF_OXRES5 (0x100)
130 #define SORF_OXRES6 (0x200)
132 #define SORF_OXRES7 (0x400)
134 #define SORF_OXRES8 (0x800)
136 #define SORF_NULL (0x0)
138 #define SORF_NOPING (0x1000)
140 typedef struct tagSTDOBJREF {
142 unsigned long cPublicRefs;
148 typedef struct tagOBJREF {
149 unsigned long signature;
155 DUALSTRINGARRAY saResAddr;
160 DUALSTRINGARRAY saResAddr;
164 unsigned long cbExtension;
171 typedef struct tagMInterfacePointer {
176 typedef MInterfacePointer *PMInterfacePointer;
178 #ifndef __IRemUnknown_FWD_DEFINED__
179 #define __IRemUnknown_FWD_DEFINED__
180 typedef struct IRemUnknown IRemUnknown;
183 typedef IRemUnknown *LPREMUNKNOWN;
185 typedef struct tagREMQIRESULT {
190 typedef struct tagREMINTERFACEREF {
192 unsigned long cPublicRefs;
193 unsigned long cPrivateRefs;
196 /*****************************************************************************
197 * IRemUnknown interface
199 #ifndef __IRemUnknown_INTERFACE_DEFINED__
200 #define __IRemUnknown_INTERFACE_DEFINED__
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
206 virtual HRESULT STDMETHODCALLTYPE RemQueryInterface(
209 unsigned short cIids,
211 REMQIRESULT** ppQIResults) = 0;
213 virtual HRESULT STDMETHODCALLTYPE RemAddRef(
214 unsigned short cInterfaceRefs,
215 REMINTERFACEREF* InterfaceRefs,
216 HRESULT* pResults) = 0;
218 virtual HRESULT STDMETHODCALLTYPE RemRelease(
219 unsigned short cInterfaceRefs,
220 REMINTERFACEREF* InterfaceRefs) = 0;
224 typedef struct IRemUnknownVtbl IRemUnknownVtbl;
226 const IRemUnknownVtbl* lpVtbl;
228 struct IRemUnknownVtbl {
229 ICOM_MSVTABLE_COMPAT_FIELDS
231 /*** IUnknown methods ***/
232 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
237 ULONG (STDMETHODCALLTYPE *AddRef)(
240 ULONG (STDMETHODCALLTYPE *Release)(
243 /*** IRemUnknown methods ***/
244 HRESULT (STDMETHODCALLTYPE *RemQueryInterface)(
248 unsigned short cIids,
250 REMQIRESULT** ppQIResults);
252 HRESULT (STDMETHODCALLTYPE *RemAddRef)(
254 unsigned short cInterfaceRefs,
255 REMINTERFACEREF* InterfaceRefs,
258 HRESULT (STDMETHODCALLTYPE *RemRelease)(
260 unsigned short cInterfaceRefs,
261 REMINTERFACEREF* InterfaceRefs);
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)
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;
287 HRESULT CALLBACK IRemUnknown_RemQueryInterface_Proxy(
291 unsigned short cIids,
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(
301 unsigned short cInterfaceRefs,
302 REMINTERFACEREF* InterfaceRefs,
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(
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);
319 #endif /* __IRemUnknown_INTERFACE_DEFINED__ */
321 #ifndef __IRemUnknown2_FWD_DEFINED__
322 #define __IRemUnknown2_FWD_DEFINED__
323 typedef struct IRemUnknown2 IRemUnknown2;
326 typedef IRemUnknown2 *LPREMUNKNOWN2;
328 /*****************************************************************************
329 * IRemUnknown2 interface
331 #ifndef __IRemUnknown2_INTERFACE_DEFINED__
332 #define __IRemUnknown2_INTERFACE_DEFINED__
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
338 virtual HRESULT STDMETHODCALLTYPE RemQueryInterface2(
340 unsigned short cIids,
343 MInterfacePointer** ppMIF) = 0;
347 typedef struct IRemUnknown2Vtbl IRemUnknown2Vtbl;
348 struct IRemUnknown2 {
349 const IRemUnknown2Vtbl* lpVtbl;
351 struct IRemUnknown2Vtbl {
352 ICOM_MSVTABLE_COMPAT_FIELDS
354 /*** IUnknown methods ***/
355 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
360 ULONG (STDMETHODCALLTYPE *AddRef)(
363 ULONG (STDMETHODCALLTYPE *Release)(
366 /*** IRemUnknown methods ***/
367 HRESULT (STDMETHODCALLTYPE *RemQueryInterface)(
371 unsigned short cIids,
373 REMQIRESULT** ppQIResults);
375 HRESULT (STDMETHODCALLTYPE *RemAddRef)(
377 unsigned short cInterfaceRefs,
378 REMINTERFACEREF* InterfaceRefs,
381 HRESULT (STDMETHODCALLTYPE *RemRelease)(
383 unsigned short cInterfaceRefs,
384 REMINTERFACEREF* InterfaceRefs);
386 /*** IRemUnknown2 methods ***/
387 HRESULT (STDMETHODCALLTYPE *RemQueryInterface2)(
390 unsigned short cIids,
393 MInterfacePointer** ppMIF);
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)
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;
423 HRESULT CALLBACK IRemUnknown2_RemQueryInterface2_Proxy(
426 unsigned short cIids,
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);
436 #endif /* __IRemUnknown2_INTERFACE_DEFINED__ */
439 /*****************************************************************************
440 * IOXIDResolver interface (v0.0)
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(
448 unsigned short cRequestedProtseqs,
449 unsigned short arRequestedProtseqs[],
450 DUALSTRINGARRAY** ppdsaOxidBindings,
451 IPID* pipidRemUnknown,
453 error_status_t SimplePing(
456 error_status_t ComplexPing(
459 unsigned short SequenceNum,
460 unsigned short cAddToSet,
461 unsigned short cDelFromSet,
464 unsigned short* pPingBackoffFactor);
465 error_status_t ServerAlive(
467 error_status_t ResolveOxid2(
470 unsigned short cRequestedProtseqs,
471 unsigned short arRequestedProtseqs[],
472 DUALSTRINGARRAY** ppdsaOxidBindings,
473 IPID* pipidRemUnknown,
475 COMVERSION* pComVersion);
477 #define MODE_GET_CLASS_OBJECT (0xffffffff)
479 /*****************************************************************************
480 * IRemoteActivation interface (v0.0)
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(
490 WCHAR* pwszObjectName,
491 MInterfacePointer* pObjectStorage,
492 DWORD ClientImpLevel,
496 unsigned short cRequestedProtseqs,
497 unsigned short RequestedProtseqs[],
499 DUALSTRINGARRAY** ppdsaOxidBindings,
500 IPID* pipidRemUnknown,
502 COMVERSION* pServerVersion,
504 MInterfacePointer** ppInterfaceData,
511 #endif /* __WIDL_DCOM_H */