[3/3] oleaut32: Implement GetDocumentation_Proxy/Stub

Huw D M Davies h.davies1 at physics.ox.ac.uk
Fri Apr 28 08:50:11 CDT 2006


Huw Davies <huw at codeweavers.com>
oleaut32: Implement GetDocumentation_Proxy/Stub
-- 
Huw Davies
huw at codeweavers.com
---

 dlls/oleaut32/usrmarshal.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

6b41cc8168622eededf754575a5389c0eb35e0a7
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(
-- 
1.2.6




More information about the wine-patches mailing list