please put it in dlls/ole32. I need this file for further merging the com stuff in. ----- com definitions by ove
#ifndef __WINE_OLE_DCOM_H #define __WINE_OLE_DCOM_H #include "guiddef.h" #include "rpcndr.h" /* see http://www.microsoft.com/msj/0398/dcom.htm */ /* and the official DCOM specification * (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */ typedef __uint64 ID; typedef ID MID; typedef ID OXID; typedef ID OID; typedef ID SETID; typedef GUID IPID; typedef GUID CID; #define REFIPID const IPID* const typedef struct tagCOMVERSION { unsigned short MajorVersion; unsigned short MinorVersion; } COMVERSION; /* described in http://www.microsoft.com/msj/0198/activex0198.htm */ typedef struct tagORPC_EXTENT { GUID id; unsigned long size; /* data follows */ } ORPC_EXTENT; typedef struct tagORPC_EXTENT_ARRAY { unsigned long size; unsigned long reserved; /* ORPC_EXTENT** extent; */ } ORPC_EXTENT_ARRAY; typedef struct tagORPCTHIS { COMVERSION version; unsigned long flags; unsigned long reserved1; CID cid; /* ORPC_EXTENT_ARRAY* extensions; */ /* wire */ int has_extents; } ORPCTHIS; #define ORPCF_NULL 0 #define ORPCF_LOCAL 1 #define ORPCF_RESERVED1 2 #define ORPCF_RESERVED2 4 #define ORPCF_RESERVED3 8 #define ORPCF_RESERVED4 16 typedef struct tagORPCTHAT { unsigned long flags; /* ORPC_EXTENT_ARRAY* extensions; */ /* wire */ int has_extents; } ORPCTHAT; typedef struct tagSTDOBJREF { unsigned long flags; unsigned long cPublicRefs; OXID oxid; OID oid; IPID ipid; } STDOBJREF; #define SORF_NULL 0x0000 #define SORF_OXRES1 0x0001 #define SORF_OXRES2 0x0020 #define SORF_OXRES3 0x0040 #define SORF_OXRES4 0x0080 #define SORF_OXRES5 0x0100 #define SORF_OXRES6 0x0200 #define SORF_OXRES7 0x0400 #define SORF_OXRES8 0x0800 #define SORF_NOPING 0x1000 typedef struct tagDUALSTRINGARRAY { unsigned short wNumEntries; unsigned short wSecurityOffset; /* null-terminated string arrays follow */ } DUALSTRINGARRAY; typedef struct tagSTRINGBINDING { unsigned short wTowerId; unsigned short aNetworkAddr[1]; } STRINGBINDING; #define NCADG_IP_UDP 0x08 #define NCACN_IP_TCP 0x07 #define NCADG_IPX 0x0E #define NCACN_SPX 0x0C #define NCACN_NB_NB 0x12 #define NCACN_NB_IPX 0x0D #define NCACN_DNET_NSP 0x04 #define NCACN_HTTP 0x1F typedef struct tagSECURITYBINDING { unsigned short wAuthnSvc; unsigned short wAuthzSvc; unsigned short aPrincName[1]; } SECURITYBINDING; #define COM_C_AUTHZ_NONE 0xffff struct OR_STANDARD { STDOBJREF std; DUALSTRINGARRAY saResAddr; }; struct OR_HANDLER { STDOBJREF std; CLSID clsid; DUALSTRINGARRAY saResAddr; }; struct OR_CUSTOM { CLSID clsid; unsigned long cbExtension; unsigned long size; /* data follows */ }; union OR_UNION { struct OR_STANDARD u_standard; struct OR_HANDLER u_handler; struct OR_CUSTOM u_custom; }; typedef struct tagOBJREF { unsigned long signature; unsigned long flags; IID iid; /* union OR_UNION u_objref; */ } OBJREF; #define OBJREF_SIGNATURE 0x574f454d /* "MEOW" */ #define OBJREF_STANDARD 1 #define OBJREF_HANDLER 2 #define OBJREF_CUSTOM 4 typedef struct tagMInterfacePointer { unsigned long size; /* data (OBJREF) follows */ } MInterfacePointer; typedef struct tagREMQIRESULT { HRESULT hResult; STDOBJREF std; } REMQIRESULT; typedef struct tatREMINTERFACEREF { IPID ipid; unsigned long cPublicRefs; unsigned long cPrivateRefs; } REMINTERFACEREF; DEFINE_OLEGUID(IID_IRemUnknown, 0x000000131, 0, 0); typedef struct IRemUnknown IRemUnknown,*LPREMUNKNOWN; #define ICOM_INTERFACE IRemUnknown #define IRemUnknown_METHODS \ ICOM_METHOD5(HRESULT,RemQueryInterface, REFIPID,ripid, ULONG,cRefs, USHORT,cIids, IID*,iids, REMQIRESULT*,ppQIResults ) \ ICOM_METHOD3(HRESULT,RemAddRef, USHORT,cInterfaceRefs, REMINTERFACEREF*,InterfaceRefs, HRESULT*,pResults) \ ICOM_METHOD2(HRESULT,RemRelease, USHORT,cInterfaceRefs, REMINTERFACEREF*,InterfaceRefs) #define IRemUnknown_IMETHODS \ IUnknown_IMETHODS \ IRemUnknown_METHODS ICOM_DEFINE(IRemUnknown,IUnknown) #undef ICOM_INTERFACE /*** IUnknown methods ***/ #define IRemUnknown_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IRemUnknown_AddRef(p) ICOM_CALL (AddRef,p) #define IRemUnknown_Release(p) ICOM_CALL (Release,p) /*** IRemUnknown methods ***/ #define IRemUnknown_RemQueryInterface(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface,p,a,b,c,d,e) #define IRemUnknown_RemAddRef(p,a,b,c) ICOM_CALL3(RemAddRef,p,a,b,c) #define IRemUnknown_RemRelease(p,a,b) ICOM_CALL2(RemRelease,p,a,b) DEFINE_OLEGUID(IID_IRemUnknown2, 0x00000013C, 0, 0); typedef struct IRemUnknown2 IRemUnknown2,*LPREMUNKNOWN2; #define ICOM_INTERFACE IRemUnknown2 #define IRemUnknown2_METHODS \ ICOM_METHOD5(HRESULT,RemQueryInterface2, REFIPID,ripid, USHORT,cIids, IID*,iids, HRESULT*,pResults, MInterfacePointer**,ppMIF ) #define IRemUnknown2_IMETHODS \ IRemUnknown_IMETHODS \ IRemUnknown2_METHODS ICOM_DEFINE(IRemUnknown2,IRemUnknown) #undef ICOM_INTERFACE /*** IUnknown methods ***/ #define IRemUnknown2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IRemUnknown2_AddRef(p) ICOM_CALL (AddRef,p) #define IRemUnknown2_Release(p) ICOM_CALL (Release,p) /*** IRemUnknown methods ***/ #define IRemUnknown2_RemQueryInterface(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface,p,a,b,c,d,e) #define IRemUnknown2_RemAddRef(p,a,b,c) ICOM_CALL3(RemAddRef,p,a,b,c) #define IRemUnknown2_RemRelease(p,a,b) ICOM_CALL2(RemRelease,p,a,b) /*** IRemUnknown2 methods ***/ #define IRemUnknown2_RemQueryInterface2(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface2,p,a,b,c,d,e) /* 1B = std unmarshal clsid */ /* 132 = IObjServer */ /* 133 = ? */ /* 134 = IRundown */ /* 135 = IInterfaceFromWindowProp */ /* 136 = ISCMLocalActivator */ /* 140 = IClassActivator */ /* 141 = IDLLHost */ #endif /* __WINE_OLE_DCOM_H */