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
{
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
);
267 /*** IUnknown methods ***/
268 #define IRemUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
269 #define IRemUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
270 #define IRemUnknown_Release(p) (p)->lpVtbl->Release(p)
271 /*** IRemUnknown methods ***/
272 #define IRemUnknown_RemQueryInterface(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface(p,a,b,c,d,e)
273 #define IRemUnknown_RemAddRef(p,a,b,c) (p)->lpVtbl->RemAddRef(p,a,b,c)
274 #define IRemUnknown_RemRelease(p,a,b) (p)->lpVtbl->RemRelease(p,a,b)
279 #define IRemUnknown_METHODS \
280 /*** IUnknown methods ***/ \
281 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
282 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
283 STDMETHOD_(ULONG,Release)(THIS) PURE; \
284 /*** IRemUnknown methods ***/ \
285 STDMETHOD_(HRESULT,RemQueryInterface)(THIS_ REFIPID ripid, unsigned long cRefs, unsigned short cIids, IID* iids, REMQIRESULT** ppQIResults) PURE; \
286 STDMETHOD_(HRESULT,RemAddRef)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs, HRESULT* pResults) PURE; \
287 STDMETHOD_(HRESULT,RemRelease)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs) PURE;
289 HRESULT CALLBACK
IRemUnknown_RemQueryInterface_Proxy(
293 unsigned short cIids
,
295 REMQIRESULT
** ppQIResults
);
296 void __RPC_STUB
IRemUnknown_RemQueryInterface_Stub(
297 struct IRpcStubBuffer
* This
,
298 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
299 PRPC_MESSAGE pRpcMessage
,
300 DWORD
* pdwStubPhase
);
301 HRESULT CALLBACK
IRemUnknown_RemAddRef_Proxy(
303 unsigned short cInterfaceRefs
,
304 REMINTERFACEREF
* InterfaceRefs
,
306 void __RPC_STUB
IRemUnknown_RemAddRef_Stub(
307 struct IRpcStubBuffer
* This
,
308 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
309 PRPC_MESSAGE pRpcMessage
,
310 DWORD
* pdwStubPhase
);
311 HRESULT CALLBACK
IRemUnknown_RemRelease_Proxy(
313 unsigned short cInterfaceRefs
,
314 REMINTERFACEREF
* InterfaceRefs
);
315 void __RPC_STUB
IRemUnknown_RemRelease_Stub(
316 struct IRpcStubBuffer
* This
,
317 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
318 PRPC_MESSAGE pRpcMessage
,
319 DWORD
* pdwStubPhase
);
321 #endif /* __IRemUnknown_INTERFACE_DEFINED__ */
323 #ifndef __IRemUnknown2_FWD_DEFINED__
324 #define __IRemUnknown2_FWD_DEFINED__
325 typedef struct IRemUnknown2 IRemUnknown2
;
328 typedef IRemUnknown2
*LPREMUNKNOWN2
;
330 /*****************************************************************************
331 * IRemUnknown2 interface
333 #ifndef __IRemUnknown2_INTERFACE_DEFINED__
334 #define __IRemUnknown2_INTERFACE_DEFINED__
336 DEFINE_GUID(IID_IRemUnknown2
, 0x00000142, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
337 #if defined(__cplusplus) && !defined(CINTERFACE)
338 struct IRemUnknown2
: public IRemUnknown
340 virtual HRESULT STDMETHODCALLTYPE
RemQueryInterface2(
342 unsigned short cIids
,
345 MInterfacePointer
** ppMIF
) = 0;
349 typedef struct IRemUnknown2Vtbl IRemUnknown2Vtbl
;
350 struct IRemUnknown2
{
351 const IRemUnknown2Vtbl
* lpVtbl
;
353 struct IRemUnknown2Vtbl
{
356 /*** IUnknown methods ***/
357 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
362 ULONG (STDMETHODCALLTYPE
*AddRef
)(
365 ULONG (STDMETHODCALLTYPE
*Release
)(
368 /*** IRemUnknown methods ***/
369 HRESULT (STDMETHODCALLTYPE
*RemQueryInterface
)(
373 unsigned short cIids
,
375 REMQIRESULT
** ppQIResults
);
377 HRESULT (STDMETHODCALLTYPE
*RemAddRef
)(
379 unsigned short cInterfaceRefs
,
380 REMINTERFACEREF
* InterfaceRefs
,
383 HRESULT (STDMETHODCALLTYPE
*RemRelease
)(
385 unsigned short cInterfaceRefs
,
386 REMINTERFACEREF
* InterfaceRefs
);
388 /*** IRemUnknown2 methods ***/
389 HRESULT (STDMETHODCALLTYPE
*RemQueryInterface2
)(
392 unsigned short cIids
,
395 MInterfacePointer
** ppMIF
);
401 /*** IUnknown methods ***/
402 #define IRemUnknown2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
403 #define IRemUnknown2_AddRef(p) (p)->lpVtbl->AddRef(p)
404 #define IRemUnknown2_Release(p) (p)->lpVtbl->Release(p)
405 /*** IRemUnknown methods ***/
406 #define IRemUnknown2_RemQueryInterface(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface(p,a,b,c,d,e)
407 #define IRemUnknown2_RemAddRef(p,a,b,c) (p)->lpVtbl->RemAddRef(p,a,b,c)
408 #define IRemUnknown2_RemRelease(p,a,b) (p)->lpVtbl->RemRelease(p,a,b)
409 /*** IRemUnknown2 methods ***/
410 #define IRemUnknown2_RemQueryInterface2(p,a,b,c,d,e) (p)->lpVtbl->RemQueryInterface2(p,a,b,c,d,e)
415 #define IRemUnknown2_METHODS \
416 /*** IUnknown methods ***/ \
417 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
418 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
419 STDMETHOD_(ULONG,Release)(THIS) PURE; \
420 /*** IRemUnknown methods ***/ \
421 STDMETHOD_(HRESULT,RemQueryInterface)(THIS_ REFIPID ripid, unsigned long cRefs, unsigned short cIids, IID* iids, REMQIRESULT** ppQIResults) PURE; \
422 STDMETHOD_(HRESULT,RemAddRef)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs, HRESULT* pResults) PURE; \
423 STDMETHOD_(HRESULT,RemRelease)(THIS_ unsigned short cInterfaceRefs, REMINTERFACEREF* InterfaceRefs) PURE; \
424 /*** IRemUnknown2 methods ***/ \
425 STDMETHOD_(HRESULT,RemQueryInterface2)(THIS_ REFIPID ripid, unsigned short cIids, IID* iids, HRESULT* phr, MInterfacePointer** ppMIF) PURE;
427 HRESULT CALLBACK
IRemUnknown2_RemQueryInterface2_Proxy(
430 unsigned short cIids
,
433 MInterfacePointer
** ppMIF
);
434 void __RPC_STUB
IRemUnknown2_RemQueryInterface2_Stub(
435 struct IRpcStubBuffer
* This
,
436 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
437 PRPC_MESSAGE pRpcMessage
,
438 DWORD
* pdwStubPhase
);
440 #endif /* __IRemUnknown2_INTERFACE_DEFINED__ */
443 /*****************************************************************************
444 * IOXIDResolver interface (v0.0)
446 DEFINE_GUID(IID_IOXIDResolver
, 0x99fcfec4, 0x5260, 0x101b, 0xbb,0xcb, 0x00,0xaa,0x00,0x21,0x34,0x7a);
447 extern RPC_IF_HANDLE IOXIDResolver_v0_0_c_ifspec
;
448 extern RPC_IF_HANDLE IOXIDResolver_v0_0_s_ifspec
;
449 error_status_t
ResolveOxid(
452 unsigned short cRequestedProtseqs
,
453 unsigned short arRequestedProtseqs
[],
454 DUALSTRINGARRAY
** ppdsaOxidBindings
,
455 IPID
* pipidRemUnknown
,
457 error_status_t
SimplePing(
460 error_status_t
ComplexPing(
463 unsigned short SequenceNum
,
464 unsigned short cAddToSet
,
465 unsigned short cDelFromSet
,
468 unsigned short* pPingBackoffFactor
);
469 error_status_t
ServerAlive(
471 error_status_t
ResolveOxid2(
474 unsigned short cRequestedProtseqs
,
475 unsigned short arRequestedProtseqs
[],
476 DUALSTRINGARRAY
** ppdsaOxidBindings
,
477 IPID
* pipidRemUnknown
,
479 COMVERSION
* pComVersion
);
481 #define MODE_GET_CLASS_OBJECT (0xffffffff)
483 /*****************************************************************************
484 * IRemoteActivation interface (v0.0)
486 DEFINE_GUID(IID_IRemoteActivation
, 0x4d9f4ab8, 0x7d1c, 0x11cf, 0x86,0x1e, 0x00,0x20,0xaf,0x6e,0x7c,0x57);
487 extern RPC_IF_HANDLE IRemoteActivation_v0_0_c_ifspec
;
488 extern RPC_IF_HANDLE IRemoteActivation_v0_0_s_ifspec
;
489 HRESULT
RemoteActivation(
494 WCHAR
* pwszObjectName
,
495 MInterfacePointer
* pObjectStorage
,
496 DWORD ClientImpLevel
,
500 unsigned short cRequestedProtseqs
,
501 unsigned short RequestedProtseqs
[],
503 DUALSTRINGARRAY
** ppdsaOxidBindings
,
504 IPID
* pipidRemUnknown
,
506 COMVERSION
* pServerVersion
,
508 MInterfacePointer
** ppInterfaceData
,
515 #endif /* __WIDL_DCOM_H */