3/3 still needs to be fixed up to 1/3 where the class is introduced, including the actxprxy parts.
There's also a whitespace error introduced in 2/3.
Also, I'm just now noticing...
+HRESULT __RPC_STUB IEnumObjects_Next_Stub(IEnumObjects *This, ULONG celt, REFIID riid, void **rgelt, ULONG *pceltFetched) +{ + HRESULT hr; + TRACE("(%p)->(%ld, %p, %p, %p)\n", This, celt, debugstr_guid(riid), rgelt, pceltFetched); + *pceltFetched = 0; + hr = IEnumObjects_Next(This, celt, riid, rgelt, pceltFetched); + if (hr == S_OK) *pceltFetched = celt; + return hr; +}
The "*pceltFetched = celt" line looks very wrong, and I don't think that line should be necessary at all. It was copied from IEnumShellItems, but that also looks wrong.