Re: [2/4] wbemdisp: Implement ISWbemObjectSet::get__NewEnum.
On 01/14/2015 05:36 PM, Hans Leidekker wrote:
--- dlls/wbemdisp/locator.c | 156 +++++++++++++++++++++++++++++++++++++++-- dlls/wbemdisp/tests/wbemdisp.c | 69 ++++++++++++++++++ 2 files changed, 221 insertions(+), 4 deletions(-)
+static HRESULT EnumVARIANT_create( ISWbemObjectSet *objectset, IEnumVARIANT **obj ) +{ + struct enumvar *enumvar; + + if (!(enumvar = heap_alloc( sizeof(*enumvar) ))) return E_OUTOFMEMORY; + enumvar->IEnumVARIANT_iface.lpVtbl = &enumvar_vtbl; + enumvar->refs = 1; + enumvar->objectset = objectset; + ISWbemObjectSet_AddRef( enumvar->objectset );
That means that all IEnumVARIANT instances share same ISWbemObjectSet, so they all depend on its current state and Next/Skip on one IEnumVARIANT affects every instance. I don't think that's how IEnumVARIANT is supposed to behave.
participants (1)
-
Nikolay Sivov