Module: wine Branch: refs/heads/master Commit: e783531ec26d795df3c84651f4af405b2a315e46 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e783531ec26d795df3c84651...
Author: Huw Davies huw@codeweavers.com Date: Fri Apr 28 14:50:11 2006 +0100
oleaut32: Implement GetDocumentation_Proxy/Stub.
---
dlls/oleaut32/usrmarshal.c | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index f71aeac..9140c9e 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c @@ -1418,8 +1418,27 @@ HRESULT CALLBACK ITypeInfo_GetDocumentat DWORD* pdwHelpContext, BSTR* pBstrHelpFile) { - FIXME("not implemented\n"); - return E_FAIL; + DWORD help_context; + BSTR name, doc_string, help_file; + HRESULT hr; + TRACE("(%p, %08lx, %p, %p, %p, %p)\n", This, memid, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile); + + /* FIXME: presumably refPtrFlags is supposed to be a bitmask of which ptrs we actually want? */ + hr = ITypeInfo_RemoteGetDocumentation_Proxy(This, memid, 0, &name, &doc_string, &help_context, &help_file); + if(SUCCEEDED(hr)) + { + if(pBstrName) *pBstrName = name; + else SysFreeString(name); + + if(pBstrDocString) *pBstrDocString = doc_string; + else SysFreeString(doc_string); + + if(pBstrHelpFile) *pBstrHelpFile = help_file; + else SysFreeString(help_file); + + if(pdwHelpContext) *pdwHelpContext = help_context; + } + return hr; }
HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub( @@ -1431,8 +1450,9 @@ HRESULT __RPC_STUB ITypeInfo_GetDocument DWORD* pdwHelpContext, BSTR* pBstrHelpFile) { - FIXME("not implemented\n"); - return E_FAIL; + TRACE("(%p, %08lx, %08lx, %p, %p, %p, %p)\n", This, memid, refPtrFlags, pBstrName, pBstrDocString, + pdwHelpContext, pBstrHelpFile); + return ITypeInfo_GetDocumentation(This, memid, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile); }
HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(