diff --git a/reactos/lib/oleaut32/tmarshal.c b/reactos/lib/oleaut32/tmarshal.c index d615156520e..a6931ca095f 100644 --- a/reactos/lib/oleaut32/tmarshal.c +++ b/reactos/lib/oleaut32/tmarshal.c @@ -344,7 +344,9 @@ typedef struct _TMAsmProxy { #include "poppack.h" #else /* __i386__ */ -# error You need to implement stubless proxies for your architecture +# warning You need to implement stubless proxies for your architecture +typedef struct _TMAsmProxy { +} TMAsmProxy; #endif typedef struct _TMProxyImpl { @@ -1939,6 +1941,7 @@ PSFacBuf_CreateProxy( for (j=0;jcParams;j++) nrofargs += _argsize(fdesc->lprgelemdescParam[j].tdesc.vt); +#ifdef __i386__ if (fdesc->callconv != CC_STDCALL) { ERR("calling convention is not stdcall????\n"); return E_FAIL; @@ -1963,6 +1966,10 @@ PSFacBuf_CreateProxy( xasm->bytestopop= (nrofargs+2)*4; /* pop args, This, iMethod */ proxy->lpvtbl[i] = xasm; break; +#else + FIXME("not implemented on non i386\n"); + return E_FAIL; +#endif } } } diff --git a/reactos/lib/oleaut32/tmarshal.h b/reactos/lib/oleaut32/tmarshal.h deleted file mode 100644 index 20dc32bd17f..00000000000 --- a/reactos/lib/oleaut32/tmarshal.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2002 Marcus Meissner - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef TMARSHAL_H -#define TMARSHAL_H -HRESULT WINAPI -TypeLibFac_DllGetClassObject(REFCLSID rclsid, REFIID iid,LPVOID *ppv); - -#endif diff --git a/reactos/lib/oleaut32/typelib.c b/reactos/lib/oleaut32/typelib.c index d470de735fd..79fe164b5d4 100644 --- a/reactos/lib/oleaut32/typelib.c +++ b/reactos/lib/oleaut32/typelib.c @@ -4338,7 +4338,8 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeOfImplType( HREFTYPE *pRefType) { ITypeInfoImpl *This = (ITypeInfoImpl *)iface; - int(i); + int i; + HRESULT hr = S_OK; TLBImplType *pImpl = This->impltypelist; TRACE("(%p) index %d\n", This, index); @@ -4358,8 +4359,7 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeOfImplType( } else { - if (!pImpl) return TYPE_E_ELEMENTNOTFOUND; - *pRefType = pImpl->hRef; + hr = TYPE_E_ELEMENTNOTFOUND; } } else @@ -4370,15 +4370,21 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeOfImplType( pImpl = pImpl->next; } - if (!pImpl) return TYPE_E_ELEMENTNOTFOUND; - - *pRefType = pImpl->hRef; - - TRACE("-- 0x%08lx\n", pImpl->hRef ); + if (pImpl) + *pRefType = pImpl->hRef; + else + hr = TYPE_E_ELEMENTNOTFOUND; } - return S_OK; + if(TRACE_ON(ole)) + { + if(SUCCEEDED(hr)) + TRACE("SUCCESS -- hRef = 0x%08lx\n", *pRefType ); + else + TRACE("FAILURE -- hresult = 0x%08lx\n", hr); + } + return hr; } /* ITypeInfo::GetImplTypeFlags diff --git a/reactos/lib/oleaut32/usrmarshal.c b/reactos/lib/oleaut32/usrmarshal.c index 0fe25d44782..5b58df78f6c 100644 --- a/reactos/lib/oleaut32/usrmarshal.c +++ b/reactos/lib/oleaut32/usrmarshal.c @@ -967,8 +967,24 @@ HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy( ITypeLib** ppTLib, UINT* pIndex) { - FIXME("not implemented\n"); - return E_FAIL; + ITypeLib *pTL; + UINT index; + HRESULT hr; + + TRACE("(%p, %p, %p)\n", This, ppTLib, pIndex ); + + hr = ITypeInfo_RemoteGetContainingTypeLib_Proxy(This, &pTL, &index); + if(SUCCEEDED(hr)) + { + if(pIndex) + *pIndex = index; + + if(ppTLib) + *ppTLib = pTL; + else + ITypeLib_Release(pTL); + } + return hr; } HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( @@ -976,8 +992,8 @@ HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( ITypeLib** ppTLib, UINT* pIndex) { - FIXME("not implemented\n"); - return E_FAIL; + TRACE("(%p, %p, %p)\n", This, ppTLib, pIndex ); + return ITypeInfo_GetContainingTypeLib(This, ppTLib, pIndex); } void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy( @@ -1055,24 +1071,30 @@ HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub( UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy( ITypeLib* This) { - FIXME("not implemented\n"); - return E_FAIL; + UINT count = 0; + TRACE("(%p)\n", This); + + ITypeLib_RemoteGetTypeInfoCount_Proxy(This, &count); + + return count; } HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub( ITypeLib* This, UINT* pcTInfo) { - FIXME("not implemented\n"); - return E_FAIL; + TRACE("(%p, %p)\n", This, pcTInfo); + *pcTInfo = ITypeLib_GetTypeInfoCount(This); + return S_OK; } HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy( ITypeLib* This, TLIBATTR** ppTLibAttr) { - FIXME("not implemented\n"); - return E_FAIL; + CLEANLOCALSTORAGE stg; + TRACE("(%p, %p)\n", This, ppTLibAttr); + return ITypeLib_RemoteGetLibAttr_Proxy(This, ppTLibAttr, &stg); } HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( @@ -1080,8 +1102,8 @@ HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( LPTLIBATTR* ppTLibAttr, CLEANLOCALSTORAGE* pDummy) { - FIXME("not implemented\n"); - return E_FAIL; + TRACE("(%p, %p)\n", This, ppTLibAttr); + return ITypeLib_GetLibAttr(This, ppTLibAttr); } HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy( @@ -1159,14 +1181,15 @@ void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy( ITypeLib* This, TLIBATTR* pTLibAttr) { - FIXME("not implemented\n"); + TRACE("(%p, %p)\n", This, pTLibAttr); + CoTaskMemFree(pTLibAttr); } HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub( ITypeLib* This) { - FIXME("not implemented\n"); - return E_FAIL; + TRACE("nothing to do\n"); + return S_OK; } diff --git a/reactos/w32api/include/oaidl.h b/reactos/w32api/include/oaidl.h index 7700e271928..f97bd8a8b7d 100644 --- a/reactos/w32api/include/oaidl.h +++ b/reactos/w32api/include/oaidl.h @@ -91,6 +91,11 @@ extern const IID IID_ISupportErrorInfo; extern const IID IID_IRecordInfo; extern const IID IID_ITypeMarshal; +#ifndef __ITypeLib_FWD_DEFINED__ +#define __ITypeLib_FWD_DEFINED__ +typedef struct ITypeLib ITypeLib; +#endif + typedef enum tagSYSKIND { SYS_WIN16,SYS_WIN32,SYS_MAC } SYSKIND; @@ -586,6 +591,301 @@ DECLARE_INTERFACE_(ITypeInfo,IUnknown) #define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a) #endif +HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy( + ITypeInfo* This, + LPTYPEATTR* ppTypeAttr, + CLEANLOCALSTORAGE* pDummy); +void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetTypeAttr_Proxy( + ITypeInfo* This, + TYPEATTR** ppTypeAttr); +HRESULT __RPC_STUB ITypeInfo_GetTypeAttr_Stub( + ITypeInfo* This, + LPTYPEATTR* ppTypeAttr, + CLEANLOCALSTORAGE* pDummy); +HRESULT CALLBACK ITypeInfo_GetTypeComp_Proxy( + ITypeInfo* This, + ITypeComp** ppTComp); +void __RPC_STUB ITypeInfo_GetTypeComp_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_RemoteGetFuncDesc_Proxy( + ITypeInfo* This, + UINT index, + LPFUNCDESC* ppFuncDesc, + CLEANLOCALSTORAGE* pDummy); +void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetFuncDesc_Proxy( + ITypeInfo* This, + UINT index, + FUNCDESC** ppFuncDesc); +HRESULT __RPC_STUB ITypeInfo_GetFuncDesc_Stub( + ITypeInfo* This, + UINT index, + LPFUNCDESC* ppFuncDesc, + CLEANLOCALSTORAGE* pDummy); +HRESULT CALLBACK ITypeInfo_RemoteGetVarDesc_Proxy( + ITypeInfo* This, + UINT index, + LPVARDESC* ppVarDesc, + CLEANLOCALSTORAGE* pDummy); +void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy( + ITypeInfo* This, + UINT index, + VARDESC** ppVarDesc); +HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub( + ITypeInfo* This, + UINT index, + LPVARDESC* ppVarDesc, + CLEANLOCALSTORAGE* pDummy); +HRESULT CALLBACK ITypeInfo_RemoteGetNames_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR* rgBstrNames, + UINT cMaxNames, + UINT* pcNames); +void __RPC_STUB ITypeInfo_RemoteGetNames_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetNames_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR* rgBstrNames, + UINT cMaxNames, + UINT* pcNames); +HRESULT __RPC_STUB ITypeInfo_GetNames_Stub( + ITypeInfo* This, + MEMBERID memid, + BSTR* rgBstrNames, + UINT cMaxNames, + UINT* pcNames); +HRESULT CALLBACK ITypeInfo_GetRefTypeOfImplType_Proxy( + ITypeInfo* This, + UINT index, + HREFTYPE* pRefType); +void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetImplTypeFlags_Proxy( + ITypeInfo* This, + UINT index, + INT* pImplTypeFlags); +void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_LocalGetIDsOfNames_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy( + ITypeInfo* This, + LPOLESTR* rgszNames, + UINT cNames, + MEMBERID* pMemId); +HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_LocalInvoke_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalInvoke_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_Invoke_Proxy( + ITypeInfo* This, + PVOID pvInstance, + MEMBERID memid, + WORD wFlags, + DISPPARAMS* pDispParams, + VARIANT* pVarResult, + EXCEPINFO* pExcepInfo, + UINT* puArgErr); +HRESULT __RPC_STUB ITypeInfo_Invoke_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_RemoteGetDocumentation_Proxy( + ITypeInfo* This, + MEMBERID memid, + DWORD refPtrFlags, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub( + ITypeInfo* This, + MEMBERID memid, + DWORD refPtrFlags, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +HRESULT CALLBACK ITypeInfo_RemoteGetDllEntry_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + DWORD refPtrFlags, + BSTR* pBstrDllName, + BSTR* pBstrName, + WORD* pwOrdinal); +void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + BSTR* pBstrDllName, + BSTR* pBstrName, + WORD* pwOrdinal); +HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + DWORD refPtrFlags, + BSTR* pBstrDllName, + BSTR* pBstrName, + WORD* pwOrdinal); +HRESULT CALLBACK ITypeInfo_GetRefTypeInfo_Proxy( + ITypeInfo* This, + HREFTYPE hRefType, + ITypeInfo** ppTInfo); +void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_LocalAddressOfMember_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy( + ITypeInfo* This, + MEMBERID memid, + INVOKEKIND invKind, + PVOID* ppv); +HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_RemoteCreateInstance_Proxy( + ITypeInfo* This, + REFIID riid, + IUnknown** ppvObj); +void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy( + ITypeInfo* This, + IUnknown* pUnkOuter, + REFIID riid, + PVOID* ppvObj); +HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub( + ITypeInfo* This, + REFIID riid, + IUnknown** ppvObj); +HRESULT CALLBACK ITypeInfo_GetMops_Proxy( + ITypeInfo* This, + MEMBERID memid, + BSTR* pBstrMops); +void __RPC_STUB ITypeInfo_GetMops_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_RemoteGetContainingTypeLib_Proxy( + ITypeInfo* This, + ITypeLib** ppTLib, + UINT* pIndex); +void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy( + ITypeInfo* This, + ITypeLib** ppTLib, + UINT* pIndex); +HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub( + ITypeInfo* This, + ITypeLib** ppTLib, + UINT* pIndex); +HRESULT CALLBACK ITypeInfo_LocalReleaseTypeAttr_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy( + ITypeInfo* This, + TYPEATTR* pTypeAttr); +HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_LocalReleaseFuncDesc_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy( + ITypeInfo* This, + FUNCDESC* pFuncDesc); +HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub( + ITypeInfo* This); +HRESULT CALLBACK ITypeInfo_LocalReleaseVarDesc_Proxy( + ITypeInfo* This); +void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy( + ITypeInfo* This, + VARDESC* pVarDesc); +HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub( + ITypeInfo* This); + #define INTERFACE ITypeInfo2 DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo) { @@ -704,6 +1004,161 @@ DECLARE_INTERFACE_(ITypeLib,IUnknown) #define ITypeLib_ReleaseTLibAttr(p,a) (p)->lpVtbl->ReleaseTLibAttr(p,a) #endif +HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy( + ITypeLib* This, + UINT* pcTInfo); +void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy( + ITypeLib* This); +HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub( + ITypeLib* This, + UINT* pcTInfo); +HRESULT CALLBACK ITypeLib_GetTypeInfo_Proxy( + ITypeLib* This, + UINT index, + ITypeInfo** ppTInfo); +void __RPC_STUB ITypeLib_GetTypeInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_GetTypeInfoType_Proxy( + ITypeLib* This, + UINT index, + TYPEKIND* pTKind); +void __RPC_STUB ITypeLib_GetTypeInfoType_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_GetTypeInfoOfGuid_Proxy( + ITypeLib* This, + REFGUID guid, + ITypeInfo** ppTinfo); +void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_RemoteGetLibAttr_Proxy( + ITypeLib* This, + LPTLIBATTR* ppTLibAttr, + CLEANLOCALSTORAGE* pDummy); +void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy( + ITypeLib* This, + TLIBATTR** ppTLibAttr); +HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub( + ITypeLib* This, + LPTLIBATTR* ppTLibAttr, + CLEANLOCALSTORAGE* pDummy); +HRESULT CALLBACK ITypeLib_GetTypeComp_Proxy( + ITypeLib* This, + ITypeComp** ppTComp); +void __RPC_STUB ITypeLib_GetTypeComp_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_RemoteGetDocumentation_Proxy( + ITypeLib* This, + INT index, + DWORD refPtrFlags, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy( + ITypeLib* This, + INT index, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub( + ITypeLib* This, + INT index, + DWORD refPtrFlags, + BSTR* pBstrName, + BSTR* pBstrDocString, + DWORD* pdwHelpContext, + BSTR* pBstrHelpFile); +HRESULT CALLBACK ITypeLib_RemoteIsName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL* pfName, + BSTR* pBstrLibName); +void __RPC_STUB ITypeLib_RemoteIsName_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_IsName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL* pfName); +HRESULT __RPC_STUB ITypeLib_IsName_Stub( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + BOOL* pfName, + BSTR* pBstrLibName); +HRESULT CALLBACK ITypeLib_RemoteFindName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo** ppTInfo, + MEMBERID* rgMemId, + USHORT* pcFound, + BSTR* pBstrLibName); +void __RPC_STUB ITypeLib_RemoteFindName_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ITypeLib_FindName_Proxy( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo** ppTInfo, + MEMBERID* rgMemId, + USHORT* pcFound); +HRESULT __RPC_STUB ITypeLib_FindName_Stub( + ITypeLib* This, + LPOLESTR szNameBuf, + ULONG lHashVal, + ITypeInfo** ppTInfo, + MEMBERID* rgMemId, + USHORT* pcFound, + BSTR* pBstrLibName); +HRESULT CALLBACK ITypeLib_LocalReleaseTLibAttr_Proxy( + ITypeLib* This); +void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy( + ITypeLib* This, + TLIBATTR* pTLibAttr); +HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub( + ITypeLib* This); + #define INTERFACE ITypeLib2 DECLARE_INTERFACE_(ITypeLib2,ITypeLib) {