1
#include "librpc/gen_ndr/orpc.h"
2
#include "librpc/gen_ndr/ndr_dcom.h"
7
struct IClassActivator;
8
struct ISCMLocalActivator;
9
struct ISystemActivator;
13
struct ICoffeeMachine;
21
#define COM_IUNKNOWN_UUID "00000000-0000-0000-C000-000000000046"
23
struct IUnknown_vtable;
27
struct com_context *ctx;
28
struct IUnknown_vtable *vtable;
32
#define IUNKNOWN_METHODS \
33
WERROR (*QueryInterface) (struct IUnknown *d, TALLOC_CTX *mem_ctx, struct GUID *iid, struct IUnknown **data);\
34
uint32_t (*AddRef) (struct IUnknown *d, TALLOC_CTX *mem_ctx);\
35
uint32_t (*Release) (struct IUnknown *d, TALLOC_CTX *mem_ctx);\
37
struct IUnknown_vtable {
42
#define IUnknown_QueryInterface(interface, mem_ctx, iid, data) ((interface)->vtable->QueryInterface(interface, mem_ctx, iid, data))
43
#define IUnknown_AddRef(interface, mem_ctx) ((interface)->vtable->AddRef(interface, mem_ctx))
44
#define IUnknown_Release(interface, mem_ctx) ((interface)->vtable->Release(interface, mem_ctx))
47
#ifndef _IClassFactory_
48
#define _IClassFactory_
52
#define COM_ICLASSFACTORY_UUID "00000001-0000-0000-C000-000000000046"
54
struct IClassFactory_vtable;
56
struct IClassFactory {
58
struct com_context *ctx;
59
struct IClassFactory_vtable *vtable;
63
#define ICLASSFACTORY_METHODS \
65
WERROR (*CreateInstance) (struct IClassFactory *d, TALLOC_CTX *mem_ctx, struct MInterfacePointer *pUnknown, struct GUID *iid, struct MInterfacePointer *ppv);\
66
WERROR (*RemoteCreateInstance) (struct IClassFactory *d, TALLOC_CTX *mem_ctx);\
67
WERROR (*LockServer) (struct IClassFactory *d, TALLOC_CTX *mem_ctx, uint8_t lock);\
68
WERROR (*RemoteLockServer) (struct IClassFactory *d, TALLOC_CTX *mem_ctx);\
70
struct IClassFactory_vtable {
75
#define IClassFactory_CreateInstance(interface, mem_ctx, pUnknown, iid, ppv) ((interface)->vtable->CreateInstance(interface, mem_ctx, pUnknown, iid, ppv))
76
#define IClassFactory_RemoteCreateInstance(interface, mem_ctx) ((interface)->vtable->RemoteCreateInstance(interface, mem_ctx))
77
#define IClassFactory_LockServer(interface, mem_ctx, lock) ((interface)->vtable->LockServer(interface, mem_ctx, lock))
78
#define IClassFactory_RemoteLockServer(interface, mem_ctx) ((interface)->vtable->RemoteLockServer(interface, mem_ctx))
86
#define COM_IREMUNKNOWN_UUID "00000131-0000-0000-C000-000000000046"
88
struct IRemUnknown_vtable;
92
struct com_context *ctx;
93
struct IRemUnknown_vtable *vtable;
97
#define IREMUNKNOWN_METHODS \
99
WERROR (*RemQueryInterface) (struct IRemUnknown *d, TALLOC_CTX *mem_ctx, struct GUID *ripid, uint32_t cRefs, uint16_t cIids, struct GUID *iids, struct MInterfacePointer *ip);\
100
WERROR (*RemAddRef) (struct IRemUnknown *d, TALLOC_CTX *mem_ctx, uint16_t cInterfaceRefs, struct REMINTERFACEREF *InterfaceRefs, WERROR *pResults);\
101
WERROR (*RemRelease) (struct IRemUnknown *d, TALLOC_CTX *mem_ctx, uint16_t cInterfaceRefs, struct REMINTERFACEREF *InterfaceRefs);\
103
struct IRemUnknown_vtable {
108
#define IRemUnknown_RemQueryInterface(interface, mem_ctx, ripid, cRefs, cIids, iids, ip) ((interface)->vtable->RemQueryInterface(interface, mem_ctx, ripid, cRefs, cIids, iids, ip))
109
#define IRemUnknown_RemAddRef(interface, mem_ctx, cInterfaceRefs, InterfaceRefs, pResults) ((interface)->vtable->RemAddRef(interface, mem_ctx, cInterfaceRefs, InterfaceRefs, pResults))
110
#define IRemUnknown_RemRelease(interface, mem_ctx, cInterfaceRefs, InterfaceRefs) ((interface)->vtable->RemRelease(interface, mem_ctx, cInterfaceRefs, InterfaceRefs))
113
#ifndef _IClassActivator_
114
#define _IClassActivator_
117
/* IClassActivator */
118
#define COM_ICLASSACTIVATOR_UUID "00000140-0000-0000-c000-000000000046"
120
struct IClassActivator_vtable;
122
struct IClassActivator {
124
struct com_context *ctx;
125
struct IClassActivator_vtable *vtable;
129
#define ICLASSACTIVATOR_METHODS \
131
void (*GetClassObject) (struct IClassActivator *d, TALLOC_CTX *mem_ctx, struct GUID clsid, uint32_t context, uint32_t locale, struct GUID iid, struct MInterfacePointer *data);\
133
struct IClassActivator_vtable {
135
ICLASSACTIVATOR_METHODS
138
#define IClassActivator_GetClassObject(interface, mem_ctx, clsid, context, locale, iid, data) ((interface)->vtable->GetClassObject(interface, mem_ctx, clsid, context, locale, iid, data))
141
#ifndef _ISCMLocalActivator_
142
#define _ISCMLocalActivator_
145
/* ISCMLocalActivator */
146
#define COM_ISCMLOCALACTIVATOR_UUID "00000136-0000-0000-c000-000000000046"
148
struct ISCMLocalActivator_vtable;
150
struct ISCMLocalActivator {
152
struct com_context *ctx;
153
struct ISCMLocalActivator_vtable *vtable;
157
#define ISCMLOCALACTIVATOR_METHODS \
158
ICLASSACTIVATOR_METHODS\
159
WERROR (*ISCMLocalActivator_CreateInstance) (struct ISCMLocalActivator *d, TALLOC_CTX *mem_ctx);\
161
struct ISCMLocalActivator_vtable {
163
ISCMLOCALACTIVATOR_METHODS
166
#define ISCMLocalActivator_ISCMLocalActivator_CreateInstance(interface, mem_ctx) ((interface)->vtable->ISCMLocalActivator_CreateInstance(interface, mem_ctx))
169
#ifndef _ISystemActivator_
170
#define _ISystemActivator_
173
/* ISystemActivator */
174
#define COM_ISYSTEMACTIVATOR_UUID "000001a0-0000-0000-c000-000000000046"
176
struct ISystemActivator_vtable;
178
struct ISystemActivator {
180
struct com_context *ctx;
181
struct ISystemActivator_vtable *vtable;
185
#define ISYSTEMACTIVATOR_METHODS \
186
ICLASSACTIVATOR_METHODS\
187
WERROR (*ISystemActivatorRemoteCreateInstance) (struct ISystemActivator *d, TALLOC_CTX *mem_ctx, uint64_t unknown1, struct MInterfacePointer iface1, uint64_t unknown2, uint32_t *unknown3, struct MInterfacePointer *iface2);\
189
struct ISystemActivator_vtable {
191
ISYSTEMACTIVATOR_METHODS
194
#define ISystemActivator_ISystemActivatorRemoteCreateInstance(interface, mem_ctx, unknown1, iface1, unknown2, unknown3, iface2) ((interface)->vtable->ISystemActivatorRemoteCreateInstance(interface, mem_ctx, unknown1, iface1, unknown2, unknown3, iface2))
197
#ifndef _IRemUnknown2_
198
#define _IRemUnknown2_
202
#define COM_IREMUNKNOWN2_UUID "00000143-0000-0000-C000-000000000046"
204
struct IRemUnknown2_vtable;
206
struct IRemUnknown2 {
208
struct com_context *ctx;
209
struct IRemUnknown2_vtable *vtable;
213
#define IREMUNKNOWN2_METHODS \
215
WERROR (*RemQueryInterface2) (struct IRemUnknown2 *d, TALLOC_CTX *mem_ctx, struct GUID *ripid, uint16_t cIids, struct GUID *iids, WERROR *phr, struct MInterfacePointer *ppMIF);\
217
struct IRemUnknown2_vtable {
222
#define IRemUnknown2_RemQueryInterface2(interface, mem_ctx, ripid, cIids, iids, phr, ppMIF) ((interface)->vtable->RemQueryInterface2(interface, mem_ctx, ripid, cIids, iids, phr, ppMIF))
230
#define COM_IDISPATCH_UUID "00020400-0000-0000-C000-000000000046"
232
struct IDispatch_vtable;
236
struct com_context *ctx;
237
struct IDispatch_vtable *vtable;
241
#define IDISPATCH_METHODS \
243
WERROR (*GetTypeInfoCount) (struct IDispatch *d, TALLOC_CTX *mem_ctx, uint16_t *pctinfo);\
244
WERROR (*GetTypeInfo) (struct IDispatch *d, TALLOC_CTX *mem_ctx, uint16_t iTInfo, uint32_t lcid, struct REF_ITypeInfo *ppTInfo);\
245
WERROR (*GetIDsOfNames) (struct IDispatch *d, TALLOC_CTX *mem_ctx, struct GUID *riid, uint16_t cNames, uint32_t lcid, uint32_t *rgDispId);\
246
WERROR (*Invoke) (struct IDispatch *d, TALLOC_CTX *mem_ctx, uint32_t dispIdMember, struct GUID *riid, uint32_t lcid, uint16_t wFlags, struct DISPPARAMS *pDispParams, struct VARIANT *pVarResult, struct EXCEPINFO *pExcepInfo, uint16_t *puArgErr);\
248
struct IDispatch_vtable {
253
#define IDispatch_GetTypeInfoCount(interface, mem_ctx, pctinfo) ((interface)->vtable->GetTypeInfoCount(interface, mem_ctx, pctinfo))
254
#define IDispatch_GetTypeInfo(interface, mem_ctx, iTInfo, lcid, ppTInfo) ((interface)->vtable->GetTypeInfo(interface, mem_ctx, iTInfo, lcid, ppTInfo))
255
#define IDispatch_GetIDsOfNames(interface, mem_ctx, riid, cNames, lcid, rgDispId) ((interface)->vtable->GetIDsOfNames(interface, mem_ctx, riid, cNames, lcid, rgDispId))
256
#define IDispatch_Invoke(interface, mem_ctx, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr) ((interface)->vtable->Invoke(interface, mem_ctx, dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr))
264
#define COM_IMARSHAL_UUID "00000003-0000-0000-C000-000000000046"
266
struct IMarshal_vtable;
270
struct com_context *ctx;
271
struct IMarshal_vtable *vtable;
275
#define IMARSHAL_METHODS \
277
WERROR (*MarshalInterface) (struct IMarshal *d, TALLOC_CTX *mem_ctx);\
278
WERROR (*UnMarshalInterface) (struct IMarshal *d, TALLOC_CTX *mem_ctx);\
280
struct IMarshal_vtable {
285
#define IMarshal_MarshalInterface(interface, mem_ctx) ((interface)->vtable->MarshalInterface(interface, mem_ctx))
286
#define IMarshal_UnMarshalInterface(interface, mem_ctx) ((interface)->vtable->UnMarshalInterface(interface, mem_ctx))
289
#ifndef _ICoffeeMachine_
290
#define _ICoffeeMachine_
294
#define COM_ICOFFEEMACHINE_UUID DA23F6DB-6F45-466C-9EED-0B65286F2D78
296
struct ICoffeeMachine_vtable;
298
struct ICoffeeMachine {
300
struct com_context *ctx;
301
struct ICoffeeMachine_vtable *vtable;
305
#define ICOFFEEMACHINE_METHODS \
307
WERROR (*MakeCoffee) (struct ICoffeeMachine *d, TALLOC_CTX *mem_ctx, uint16_t *flavor);\
309
struct ICoffeeMachine_vtable {
311
ICOFFEEMACHINE_METHODS
314
#define ICoffeeMachine_MakeCoffee(interface, mem_ctx, flavor) ((interface)->vtable->MakeCoffee(interface, mem_ctx, flavor))
316
#define CLSID_COFFEEMACHINE "db7c21f8-fe33-4c11-aea5-ceb56f076fbb"
324
#define COM_ISTREAM_UUID "0000000C-0000-0000-C000-000000000046"
326
struct IStream_vtable;
330
struct com_context *ctx;
331
struct IStream_vtable *vtable;
335
#define ISTREAM_METHODS \
337
WERROR (*Read) (struct IStream *d, TALLOC_CTX *mem_ctx, uint8_t *pv, uint32_t num_requested, uint32_t *num_readx, uint32_t *num_read);\
338
WERROR (*Write) (struct IStream *d, TALLOC_CTX *mem_ctx, uint8_t *data, uint32_t num_requested, uint32_t *num_written);\
340
struct IStream_vtable {
345
#define IStream_Read(interface, mem_ctx, pv, num_requested, num_readx, num_read) ((interface)->vtable->Read(interface, mem_ctx, pv, num_requested, num_readx, num_read))
346
#define IStream_Write(interface, mem_ctx, data, num_requested, num_written) ((interface)->vtable->Write(interface, mem_ctx, data, num_requested, num_written))
348
#define CLSID_SIMPLE "5e9ddec7-5767-11cf-beab-00aa006c3606"
349
#define PROGID_SIMPLE "Samba.Simple"