mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-30 04:13:33 +00:00
[WBEMDISP] Sync with Wine Staging 1.9.4. CORE-10912
svn path=/trunk/; revision=70943
This commit is contained in:
@@ -343,6 +343,7 @@ struct objectset
|
||||
ISWbemObjectSet ISWbemObjectSet_iface;
|
||||
LONG refs;
|
||||
IEnumWbemClassObject *objectenum;
|
||||
LONG count;
|
||||
};
|
||||
|
||||
static inline struct objectset *impl_from_ISWbemObjectSet(
|
||||
@@ -504,20 +505,10 @@ static HRESULT WINAPI objectset_get_Count(
|
||||
LONG *iCount )
|
||||
{
|
||||
struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
|
||||
LONG count = 0, total = 0;
|
||||
|
||||
TRACE( "%p, %p\n", objectset, iCount );
|
||||
|
||||
while (IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 ) == S_OK) count++;
|
||||
|
||||
IEnumWbemClassObject_Reset( objectset->objectenum );
|
||||
while (IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 ) == S_OK) total++;
|
||||
|
||||
count = total - count;
|
||||
IEnumWbemClassObject_Reset( objectset->objectenum );
|
||||
while (count--) IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 );
|
||||
|
||||
*iCount = total;
|
||||
*iCount = objectset->count;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -554,6 +545,14 @@ static const ISWbemObjectSetVtbl objectset_vtbl =
|
||||
objectset_ItemIndex
|
||||
};
|
||||
|
||||
static LONG get_object_count( IEnumWbemClassObject *iter )
|
||||
{
|
||||
LONG count = 0;
|
||||
while (IEnumWbemClassObject_Skip( iter, WBEM_INFINITE, 1 ) == S_OK) count++;
|
||||
IEnumWbemClassObject_Reset( iter );
|
||||
return count;
|
||||
}
|
||||
|
||||
static HRESULT SWbemObjectSet_create( IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj )
|
||||
{
|
||||
struct objectset *objectset;
|
||||
@@ -565,6 +564,7 @@ static HRESULT SWbemObjectSet_create( IEnumWbemClassObject *wbem_objectenum, ISW
|
||||
objectset->refs = 1;
|
||||
objectset->objectenum = wbem_objectenum;
|
||||
IEnumWbemClassObject_AddRef( objectset->objectenum );
|
||||
objectset->count = get_object_count( objectset->objectenum );
|
||||
|
||||
*obj = &objectset->ISWbemObjectSet_iface;
|
||||
TRACE( "returning iface %p\n", *obj );
|
||||
|
||||
@@ -198,7 +198,7 @@ reactos/dll/win32/uxtheme # Forked
|
||||
reactos/dll/win32/vbscript # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/version # Synced to WineStaging-1.9.4
|
||||
reactos/dll/win32/vssapi # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/wbemdisp # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/wbemdisp # Synced to WineStaging-1.9.4
|
||||
reactos/dll/win32/wbemprox # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/windowscodecs # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/windowscodecsext # Synced to WineStaging-1.7.55
|
||||
|
||||
Reference in New Issue
Block a user