Hello everyone,
I'm having some trouble with this simple patch. Specifically, it breaks compiling of dlls/actxprxy, producing the message:
*****
../../tools/winegcc/winegcc -m32 -B../../tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared ./actxprxy.spec usrmarshal.o actxprxy_activscp_p.o actxprxy_comcat_p.o actxprxy_docobj_p.o actxprxy_hlink_p.o actxprxy_htiframe_p.o actxprxy_objsafe_p.o actxprxy_ocmm_p.o actxprxy_servprov_p.o actxprxy_shobjidl_p.o actxprxy_urlhist_p.o dlldata.o -o actxprxy.dll.so -luuid -loleaut32 -lole32 -lrpcrt4 -lkernel32 -lntdll ../../libs/port/libwine_port.a -L/usr/local/valgrind-svn/lib
actxprxy_shobjidl_p.o: In function `IEnumShellItems_RemoteNext_Stub':
/home/david/Projects/wine/git/dlls/actxprxy/actxprxy_shobjidl_p.c:6507: undefined reference to `IEnumShellItems_Next_Stub'
actxprxy_shobjidl_p.o:(.data.rel.ro+0xf0): undefined reference to `IEnumShellItems_Next_Proxy'
*****
It compiles if I remove the [call_as] attribute, but I guess that would kind of break the interface. Any obvious mistakes in the patch, or grammar not supported by widl?
Thanks,
David
---
include/shobjidl.idl | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index 6bd0244..97cd82f 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -385,6 +385,36 @@ typedef enum tagNWMF {
} NWMF;
/*****************************************************************************
+ * IEnumShellItems interface
+ */
+[
+ object,
+ uuid(70629033-E363-4A28-A567-0DB78006E6D7),
+ pointer_default(unique)
+]
+interface IEnumShellItems : IUnknown
+{
+ [local] HRESULT Next(
+ [in, annotation("__in")] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched), annotation("__out_ecount_part(celt, *pceltFetched)")]
+ IShellItem **rgelt,
+ [out, annotation("__out_opt __deref_out_range(0, celt)")] ULONG *pceltFetched);
+
+ [call_as(Next)] HRESULT RemoteNext(
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)] IShellItem **rgelt,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Skip(
+ [in] ULONG celt);
+
+ HRESULT Reset();
+
+ HRESULT Clone(
+ [out] IEnumShellItems **ppenum);
+}
+
+/*****************************************************************************
* FOLDERSETTINGS
*/
typedef char *LPVIEWSETTINGS;
--
1.7.1