Huw Davies : oleaut32: Implement proxy / stub for ITypeLib2_GetDocumentation2.
Alexandre Julliard
julliard at winehq.org
Fri Feb 11 11:16:35 CST 2011
Module: wine
Branch: master
Commit: 9e0e3a73d256778cd1524abe9edeb56d30ff7218
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e0e3a73d256778cd1524abe9edeb56d30ff7218
Author: Huw Davies <huw at codeweavers.com>
Date: Fri Feb 11 10:29:41 2011 +0000
oleaut32: Implement proxy / stub for ITypeLib2_GetDocumentation2.
---
dlls/oleaut32/usrmarshal.c | 54 ++++++++++++++++++++++++++++---------------
1 files changed, 35 insertions(+), 19 deletions(-)
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index 8f9e00c..cc4d2e7 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -2101,29 +2101,45 @@ HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
return E_FAIL;
}
-HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
- ITypeLib2* This,
- INT index,
- LCID lcid,
- BSTR* pbstrHelpString,
- DWORD* pdwHelpStringContext,
- BSTR* pbstrHelpStringDll)
+HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(ITypeLib2 *This, INT index,
+ LCID lcid, BSTR *help_string,
+ DWORD *help_context, BSTR *help_dll)
{
- FIXME("not implemented\n");
- return E_FAIL;
+ DWORD dummy_help_context, flags = 0;
+ BSTR dummy_help_string, dummy_help_dll;
+ HRESULT hr;
+ TRACE("(%p, %d, %08x, %p, %p, %p)\n", This, index, lcid, help_string, help_context, help_dll);
+
+ if(!help_string) help_string = &dummy_help_string;
+ else flags = 1;
+
+ if(!help_context) help_context = &dummy_help_context;
+ else flags |= 2;
+
+ if(!help_dll) help_dll = &dummy_help_dll;
+ else flags |= 4;
+
+ hr = ITypeLib2_RemoteGetDocumentation2_Proxy(This, index, lcid, flags, help_string, help_context, help_dll);
+
+ /* We don't need to free the dummy BSTRs since the stub ensures that these will be NULLs. */
+
+ return hr;
}
-HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
- ITypeLib2* This,
- INT index,
- LCID lcid,
- DWORD refPtrFlags,
- BSTR* pbstrHelpString,
- DWORD* pdwHelpStringContext,
- BSTR* pbstrHelpStringDll)
+HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(ITypeLib2 *This, INT index, LCID lcid,
+ DWORD flags, BSTR *help_string,
+ DWORD *help_context, BSTR *help_dll)
{
- FIXME("not implemented\n");
- return E_FAIL;
+ TRACE("(%p, %d, %08x, %08x, %p, %p, %p)\n", This, index, lcid, flags, help_string, help_context, help_dll);
+
+ *help_string = *help_dll = NULL;
+ *help_context = 0;
+
+ if(!(flags & 1)) help_string = NULL;
+ if(!(flags & 2)) help_context = NULL;
+ if(!(flags & 4)) help_dll = NULL;
+
+ return ITypeLib2_GetDocumentation2(This, index, lcid, help_string, help_context, help_dll);
}
HRESULT CALLBACK IPropertyBag_Read_Proxy(
More information about the wine-cvs
mailing list