diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index f13024ef041..b20d5875c3d 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -1128,6 +1128,16 @@ static inline ITypeInfoImpl *info_impl_from_ITypeComp( ITypeComp *iface ) return CONTAINING_RECORD(iface, ITypeInfoImpl, ITypeComp_iface); } +static inline ITypeInfoImpl *impl_from_ITypeInfo2( ITypeInfo2 *iface ) +{ + return CONTAINING_RECORD(iface, ITypeInfoImpl, ITypeInfo2_iface); +} + +static inline ITypeInfoImpl *impl_from_ITypeInfo( ITypeInfo *iface ) +{ + return impl_from_ITypeInfo2((ITypeInfo2*)iface); +} + static const ITypeInfo2Vtbl tinfvt; static const ITypeCompVtbl tcompvt; @@ -5065,7 +5075,7 @@ static HRESULT WINAPI ITypeInfo_fnQueryInterface( REFIID riid, VOID **ppvObject) { - ITypeLibImpl *This = (ITypeLibImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("(%p)->(IID: %s)\n",This,debugstr_guid(riid)); @@ -5088,7 +5098,7 @@ static HRESULT WINAPI ITypeInfo_fnQueryInterface( */ static ULONG WINAPI ITypeInfo_fnAddRef( ITypeInfo2 *iface) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->ref is %u\n",This, ref); @@ -5170,7 +5180,7 @@ static void ITypeInfoImpl_Destroy(ITypeInfoImpl *This) */ static ULONG WINAPI ITypeInfo_fnRelease(ITypeInfo2 *iface) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->(%u)\n",This, ref); @@ -5196,7 +5206,7 @@ static ULONG WINAPI ITypeInfo_fnRelease(ITypeInfo2 *iface) static HRESULT WINAPI ITypeInfo_fnGetTypeAttr( ITypeInfo2 *iface, LPTYPEATTR *ppTypeAttr) { - const ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); SIZE_T size; TRACE("(%p)\n",This); @@ -5234,7 +5244,7 @@ static HRESULT WINAPI ITypeInfo_fnGetTypeAttr( ITypeInfo2 *iface, static HRESULT WINAPI ITypeInfo_fnGetTypeComp( ITypeInfo2 *iface, ITypeComp * *ppTComp) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("(%p)->(%p)\n", This, ppTComp); @@ -5367,7 +5377,7 @@ static HRESULT TLB_AllocAndInitFuncDesc( const FUNCDESC *src, FUNCDESC **dest_pt HRESULT ITypeInfoImpl_GetInternalFuncDesc( ITypeInfo *iface, UINT index, const FUNCDESC **ppFuncDesc ) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo(iface); if (index >= This->TypeAttr.cFuncs) return TYPE_E_ELEMENTNOTFOUND; @@ -5381,7 +5391,7 @@ HRESULT ITypeInfoImpl_GetInternalFuncDesc( ITypeInfo *iface, UINT index, const F static HRESULT ITypeInfoImpl_GetInternalDispatchFuncDesc( ITypeInfo *iface, UINT index, const FUNCDESC **ppFuncDesc, UINT *funcs, UINT *hrefoffset) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo(iface); HRESULT hr; UINT implemented_funcs = 0; @@ -5461,7 +5471,7 @@ static inline void ITypeInfoImpl_FuncDescAddHrefOffset( LPFUNCDESC pFuncDesc, UI static HRESULT WINAPI ITypeInfo_fnGetFuncDesc( ITypeInfo2 *iface, UINT index, LPFUNCDESC *ppFuncDesc) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const FUNCDESC *internal_funcdesc; HRESULT hr; UINT hrefoffset = 0; @@ -5554,7 +5564,7 @@ static HRESULT TLB_AllocAndInitVarDesc( const VARDESC *src, VARDESC **dest_ptr ) static HRESULT WINAPI ITypeInfo_fnGetVarDesc( ITypeInfo2 *iface, UINT index, LPVARDESC *ppVarDesc) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBVarDesc *pVDesc = &This->vardescs[index]; TRACE("(%p) index %d\n", This, index); @@ -5574,7 +5584,7 @@ static HRESULT WINAPI ITypeInfo_fnGetVarDesc( ITypeInfo2 *iface, UINT index, static HRESULT WINAPI ITypeInfo_fnGetNames( ITypeInfo2 *iface, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBFuncDesc *pFDesc; const TLBVarDesc *pVDesc; int i; @@ -5641,7 +5651,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeOfImplType( UINT index, HREFTYPE *pRefType) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); HRESULT hr = S_OK; TRACE("(%p) index %d\n", This, index); @@ -5695,7 +5705,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeOfImplType( static HRESULT WINAPI ITypeInfo_fnGetImplTypeFlags( ITypeInfo2 *iface, UINT index, INT *pImplTypeFlags) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("(%p) index %d\n", This, index); @@ -5719,7 +5729,7 @@ static HRESULT WINAPI ITypeInfo_fnGetImplTypeFlags( ITypeInfo2 *iface, static HRESULT WINAPI ITypeInfo_fnGetIDsOfNames( ITypeInfo2 *iface, LPOLESTR *rgszNames, UINT cNames, MEMBERID *pMemId) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBVarDesc *pVDesc; HRESULT ret=S_OK; UINT i, fdc; @@ -6317,7 +6327,7 @@ static HRESULT WINAPI ITypeInfo_fnInvoke( EXCEPINFO *pExcepInfo, UINT *pArgErr) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); int i; unsigned int var_index; TYPEKIND type_kind; @@ -6848,7 +6858,7 @@ static HRESULT WINAPI ITypeInfo_fnGetDocumentation( ITypeInfo2 *iface, MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBFuncDesc *pFDesc; const TLBVarDesc *pVDesc; TRACE("(%p) memid %d Name(%p) DocString(%p)" @@ -6915,7 +6925,7 @@ static HRESULT WINAPI ITypeInfo_fnGetDllEntry( ITypeInfo2 *iface, MEMBERID memid INVOKEKIND invKind, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBFuncDesc *pFDesc; TRACE("(%p)->(memid %x, %d, %p, %p, %p)\n", This, memid, invKind, pBstrDllName, pBstrName, pwOrdinal); @@ -6957,7 +6967,7 @@ static HRESULT WINAPI ITypeInfo_fnGetDllEntry( ITypeInfo2 *iface, MEMBERID memid static HRESULT ITypeInfoImpl_GetDispatchRefTypeInfo( ITypeInfo *iface, HREFTYPE *hRefType, ITypeInfo **ppTInfo) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo(iface); HRESULT hr; TRACE("%p, 0x%x\n", iface, *hRefType); @@ -6994,7 +7004,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo( HREFTYPE hRefType, ITypeInfo **ppTInfo) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); HRESULT result = E_FAIL; if ((This->hreftype != -1) && (This->hreftype == hRefType)) @@ -7107,7 +7117,7 @@ end: static HRESULT WINAPI ITypeInfo_fnAddressOfMember( ITypeInfo2 *iface, MEMBERID memid, INVOKEKIND invKind, PVOID *ppv) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); HRESULT hr; BSTR dll, entry; WORD ordinal; @@ -7166,7 +7176,7 @@ static HRESULT WINAPI ITypeInfo_fnAddressOfMember( ITypeInfo2 *iface, static HRESULT WINAPI ITypeInfo_fnCreateInstance( ITypeInfo2 *iface, IUnknown *pOuterUnk, REFIID riid, VOID **ppvObj) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); HRESULT hr; TYPEATTR *pTA; @@ -7220,7 +7230,7 @@ end: static HRESULT WINAPI ITypeInfo_fnGetMops( ITypeInfo2 *iface, MEMBERID memid, BSTR *pBstrMops) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); FIXME("(%p %d) stub!\n", This, memid); *pBstrMops = NULL; return S_OK; @@ -7234,7 +7244,7 @@ static HRESULT WINAPI ITypeInfo_fnGetMops( ITypeInfo2 *iface, MEMBERID memid, static HRESULT WINAPI ITypeInfo_fnGetContainingTypeLib( ITypeInfo2 *iface, ITypeLib * *ppTLib, UINT *pIndex) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); /* If a pointer is null, we simply ignore it, the ATL in particular passes pIndex as 0 */ if (pIndex) { @@ -7259,7 +7269,7 @@ static HRESULT WINAPI ITypeInfo_fnGetContainingTypeLib( ITypeInfo2 *iface, static void WINAPI ITypeInfo_fnReleaseTypeAttr( ITypeInfo2 *iface, TYPEATTR* pTypeAttr) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("(%p)->(%p)\n", This, pTypeAttr); heap_free(pTypeAttr); } @@ -7272,7 +7282,7 @@ static void WINAPI ITypeInfo_fnReleaseFuncDesc( ITypeInfo2 *iface, FUNCDESC *pFuncDesc) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); SHORT i; TRACE("(%p)->(%p)\n", This, pFuncDesc); @@ -7291,7 +7301,7 @@ static void WINAPI ITypeInfo_fnReleaseFuncDesc( static void WINAPI ITypeInfo_fnReleaseVarDesc( ITypeInfo2 *iface, VARDESC *pVarDesc) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("(%p)->(%p)\n", This, pVarDesc); TLB_FreeElemDesc(&pVarDesc->elemdescVar); @@ -7308,7 +7318,7 @@ static void WINAPI ITypeInfo_fnReleaseVarDesc( ITypeInfo2 *iface, static HRESULT WINAPI ITypeInfo2_fnGetTypeKind( ITypeInfo2 * iface, TYPEKIND *pTypeKind) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); *pTypeKind=This->TypeAttr.typekind; TRACE("(%p) type 0x%0x\n", This,*pTypeKind); return S_OK; @@ -7323,7 +7333,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetTypeKind( ITypeInfo2 * iface, */ static HRESULT WINAPI ITypeInfo2_fnGetTypeFlags( ITypeInfo2 *iface, ULONG *pTypeFlags) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); *pTypeFlags=This->TypeAttr.wTypeFlags; TRACE("(%p) flags 0x%x\n", This,*pTypeFlags); return S_OK; @@ -7337,7 +7347,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetTypeFlags( ITypeInfo2 *iface, ULONG *pType static HRESULT WINAPI ITypeInfo2_fnGetFuncIndexOfMemId( ITypeInfo2 * iface, MEMBERID memid, INVOKEKIND invKind, UINT *pFuncIndex) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); UINT fdc; HRESULT result; @@ -7366,7 +7376,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetFuncIndexOfMemId( ITypeInfo2 * iface, static HRESULT WINAPI ITypeInfo2_fnGetVarIndexOfMemId( ITypeInfo2 * iface, MEMBERID memid, UINT *pVarIndex) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBVarDesc *pVarInfo; TRACE("%p %d %p\n", iface, memid, pVarIndex); @@ -7389,7 +7399,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetCustData( REFGUID guid, VARIANT *pVarVal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBCustData *pCData; TRACE("%p %s %p\n", This, debugstr_guid(guid), pVarVal); @@ -7414,7 +7424,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetFuncCustData( REFGUID guid, VARIANT *pVarVal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBCustData *pCData; TLBFuncDesc *pFDesc = &This->funcdescs[index]; @@ -7444,7 +7454,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetParamCustData( REFGUID guid, VARIANT *pVarVal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBCustData *pCData; TLBFuncDesc *pFDesc = &This->funcdescs[indexFunc]; @@ -7477,7 +7487,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetVarCustData( REFGUID guid, VARIANT *pVarVal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBCustData *pCData; TLBVarDesc *pVDesc = &This->vardescs[index]; @@ -7506,7 +7516,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetImplTypeCustData( REFGUID guid, VARIANT *pVarVal) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBCustData *pCData; TLBImplType *pRDesc = &This->impltypes[index]; @@ -7540,7 +7550,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetDocumentation2( DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); const TLBFuncDesc *pFDesc; const TLBVarDesc *pVDesc; TRACE("(%p) memid %d lcid(0x%x) HelpString(%p) " @@ -7596,7 +7606,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetAllCustData( ITypeInfo2 * iface, CUSTDATA *pCustData) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TRACE("%p %p\n", This, pCustData); @@ -7613,7 +7623,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetAllFuncCustData( UINT index, CUSTDATA *pCustData) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBFuncDesc *pFDesc = &This->funcdescs[index]; TRACE("%p %u %p\n", This, index, pCustData); @@ -7632,7 +7642,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetAllFuncCustData( static HRESULT WINAPI ITypeInfo2_fnGetAllParamCustData( ITypeInfo2 * iface, UINT indexFunc, UINT indexParam, CUSTDATA *pCustData) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBFuncDesc *pFDesc = &This->funcdescs[indexFunc]; TRACE("%p %u %u %p\n", This, indexFunc, indexParam, pCustData); @@ -7654,7 +7664,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetAllParamCustData( ITypeInfo2 * iface, static HRESULT WINAPI ITypeInfo2_fnGetAllVarCustData( ITypeInfo2 * iface, UINT index, CUSTDATA *pCustData) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBVarDesc * pVDesc = &This->vardescs[index]; TRACE("%p %u %p\n", This, index, pCustData); @@ -7675,7 +7685,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetAllImplTypeCustData( UINT index, CUSTDATA *pCustData) { - ITypeInfoImpl *This = (ITypeInfoImpl *)iface; + ITypeInfoImpl *This = impl_from_ITypeInfo2(iface); TLBImplType *pRDesc = &This->impltypes[index]; TRACE("%p %u %p\n", This, index, pCustData);