From f29a1315ecb334670e5e0027033dd2c891b787d1 Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Tue, 19 Jul 2005 19:43:54 +0000 Subject: [PATCH] Activate ITypeLib, ITypeInfo and IEnumVARIANT Marshalers. --- dlls/oleaut32/oleaut.c | 12 +++++++++--- dlls/oleaut32/regsvr.c | 12 ++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c index 06533a6f3f6..b9125b48019 100644 --- a/dlls/oleaut32/oleaut.c +++ b/dlls/oleaut32/oleaut.c @@ -42,8 +42,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole); /* The OLE Automation ProxyStub Interface Class (aka Typelib Marshaler) */ extern const GUID CLSID_PSOAInterface; -/* IDispatch marshaler */ extern const GUID CLSID_PSDispatch; +extern const GUID CLSID_PSEnumVariant; +extern const GUID CLSID_PSTypeInfo; +extern const GUID CLSID_PSTypeLib; +extern const GUID CLSID_PSTypeComp; static BOOL BSTR_bCache = TRUE; /* Cache allocations to minimise alloc calls? */ @@ -717,8 +720,11 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv) return S_OK; } } - if (IsEqualGUID(rclsid,&CLSID_PSDispatch)) { - return OLEAUTPS_DllGetClassObject(rclsid,iid,ppv); + if (IsEqualCLSID(rclsid, &CLSID_PSDispatch) || + IsEqualCLSID(rclsid, &CLSID_PSTypeInfo) || + IsEqualCLSID(rclsid, &CLSID_PSTypeLib) || + IsEqualCLSID(rclsid, &CLSID_PSEnumVariant)) { + return OLEAUTPS_DllGetClassObject(&CLSID_PSDispatch, iid, ppv); } if (IsEqualGUID(rclsid,&CLSID_PSOAInterface)) { if (S_OK==TypeLibFac_DllGetClassObject(rclsid,iid,ppv)) diff --git a/dlls/oleaut32/regsvr.c b/dlls/oleaut32/regsvr.c index 6dbcd644199..daa9d55ff85 100644 --- a/dlls/oleaut32/regsvr.c +++ b/dlls/oleaut32/regsvr.c @@ -445,20 +445,20 @@ static GUID const CLSID_RecordInfo = { extern GUID const CLSID_PSDispatch; -static GUID const CLSID_PSEnumVariant = { +GUID const CLSID_PSEnumVariant = { 0x00020421, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} }; -static GUID const CLSID_PSTypeInfo = { +GUID const CLSID_PSTypeInfo = { 0x00020422, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} }; -static GUID const CLSID_PSTypeLib = { +GUID const CLSID_PSTypeLib = { 0x00020423, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} }; -extern GUID const CLSID_PSOAInterface; - -static GUID const CLSID_PSTypeComp = { +GUID const CLSID_PSTypeComp = { 0x00020425, 0x0000, 0x0000, {0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} }; +extern GUID const CLSID_PSOAInterface; + static GUID const CLSID_OldFont = { 0x46763EE0, 0xCAB2, 0x11CE, {0x8C,0x20,0x00,0xAA,0x00,0x51,0xE5,0xD4} };