"Apartment" }, { NULL } /* list terminator */ }; /*********************************************************************** * interface list */ #define INTERFACE_ENTRY(interface, base, clsid32, clsid16) { &IID_##interface, #interface, base, sizeof(interface##Vtbl)/sizeof(void*), clsid16, clsid32 } #define BAS_INTERFACE_ENTRY(interface, base) INTERFACE_ENTRY(interface, &IID_##base, &CLSID_PSFactoryBuffer, NULL) #define STD_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, &CLSID_PSFactoryBuffer, NULL) #define LCL_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, NULL, NULL) static const struct regsvr_interface interface_list[] = { LCL_INTERFACE_ENTRY(IUnknown), STD_INTERFACE_ENTRY(IClassFactory), LCL_INTERFACE_ENTRY(IMalloc), LCL_INTERFACE_ENTRY(IMarshal), STD_INTERFACE_ENTRY(ILockBytes), STD_INTERFACE_ENTRY(IStorage), STD_INTERFACE_ENTRY(IStream), STD_INTERFACE_ENTRY(IEnumSTATSTG), STD_INTERFACE_ENTRY(IBindCtx), BAS_INTERFACE_ENTRY(IMoniker, IPersistStream), STD_INTERFACE_ENTRY(IRunningObjectTable), STD_INTERFACE_ENTRY(IRootStorage), LCL_INTERFACE_ENTRY(IMessageFilter), LCL_INTERFACE_ENTRY(IStdMarshalInfo), LCL_INTERFACE_ENTRY(IExternalConnection), LCL_INTERFACE_ENTRY(IMallocSpy),
"oleaut32.dll", "Both" }, { NULL } /* list terminator */ }; /*********************************************************************** * interface list */ #define INTERFACE_ENTRY(interface, clsid16, clsid32) { &IID_##interface, #interface, NULL, sizeof(interface##Vtbl)/sizeof(void*), clsid16, clsid32 } #define LCL_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, NULL) #define PSFAC_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, &CLSID_PSFactoryBuffer) #define CLSID_INTERFACE_ENTRY(interface,clsid) INTERFACE_ENTRY(interface, clsid, clsid) static struct regsvr_interface const interface_list[] = { LCL_INTERFACE_ENTRY(ICreateTypeInfo), LCL_INTERFACE_ENTRY(ICreateTypeLib), CLSID_INTERFACE_ENTRY(IDispatch,&CLSID_PSDispatch), CLSID_INTERFACE_ENTRY(IEnumVARIANT,&CLSID_PSEnumVariant), CLSID_INTERFACE_ENTRY(ITypeComp,&CLSID_PSTypeComp), CLSID_INTERFACE_ENTRY(ITypeInfo,&CLSID_PSTypeInfo), CLSID_INTERFACE_ENTRY(ITypeLib,&CLSID_PSTypeLib), PSFAC_INTERFACE_ENTRY(IAdviseSinkEx), PSFAC_INTERFACE_ENTRY(IClassFactory2), PSFAC_INTERFACE_ENTRY(IConnectionPoint), PSFAC_INTERFACE_ENTRY(IConnectionPointContainer), PSFAC_INTERFACE_ENTRY(ICreateErrorInfo), PSFAC_INTERFACE_ENTRY(IEnumConnectionPoints), PSFAC_INTERFACE_ENTRY(IEnumConnections), PSFAC_INTERFACE_ENTRY(IEnumOleUndoUnits), PSFAC_INTERFACE_ENTRY(IErrorInfo),