propsys: Implement IPropertyStore::GetCount.
This commit is contained in:
parent
51ab813948
commit
d2d225f6a5
|
@ -133,8 +133,24 @@ static ULONG WINAPI PropertyStore_Release(IPropertyStoreCache *iface)
|
|||
static HRESULT WINAPI PropertyStore_GetCount(IPropertyStoreCache *iface,
|
||||
DWORD *cProps)
|
||||
{
|
||||
FIXME("%p,%p: stub\n", iface, cProps);
|
||||
return E_NOTIMPL;
|
||||
PropertyStore *This = impl_from_IPropertyStoreCache(iface);
|
||||
propstore_format *format;
|
||||
|
||||
TRACE("%p,%p\n", iface, cProps);
|
||||
|
||||
if (!cProps)
|
||||
return E_POINTER;
|
||||
|
||||
*cProps = 0;
|
||||
|
||||
EnterCriticalSection(&This->lock);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(format, &This->formats, propstore_format, entry)
|
||||
*cProps += format->count;
|
||||
|
||||
LeaveCriticalSection(&This->lock);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PropertyStore_GetAt(IPropertyStoreCache *iface,
|
||||
|
@ -201,6 +217,7 @@ static HRESULT PropertyStore_LookupValue(PropertyStore *This, REFPROPERTYKEY key
|
|||
|
||||
value->pid = key->pid;
|
||||
list_add_tail(&format->values, &value->entry);
|
||||
format->count++;
|
||||
}
|
||||
|
||||
*result = value;
|
||||
|
|
|
@ -55,11 +55,11 @@ static void test_inmemorystore(void)
|
|||
}
|
||||
|
||||
hr = IPropertyStoreCache_GetCount(propcache, NULL);
|
||||
todo_wine ok(hr == E_POINTER, "GetCount failed, hr=%x\n", hr);
|
||||
ok(hr == E_POINTER, "GetCount failed, hr=%x\n", hr);
|
||||
|
||||
hr = IPropertyStoreCache_GetCount(propcache, &count);
|
||||
todo_wine ok(hr == S_OK, "GetCount failed, hr=%x\n", hr);
|
||||
todo_wine ok(count == 0, "GetCount returned %i, expected 0\n", count);
|
||||
ok(hr == S_OK, "GetCount failed, hr=%x\n", hr);
|
||||
ok(count == 0, "GetCount returned %i, expected 0\n", count);
|
||||
|
||||
hr = IPropertyStoreCache_Commit(propcache);
|
||||
ok(hr == S_OK, "Commit failed, hr=%x\n", hr);
|
||||
|
@ -91,8 +91,8 @@ static void test_inmemorystore(void)
|
|||
ok(hr == S_OK, "SetValue failed, hr=%x\n", hr);
|
||||
|
||||
hr = IPropertyStoreCache_GetCount(propcache, &count);
|
||||
todo_wine ok(hr == S_OK, "GetCount failed, hr=%x\n", hr);
|
||||
todo_wine ok(count == 1, "GetCount returned %i, expected 0\n", count);
|
||||
ok(hr == S_OK, "GetCount failed, hr=%x\n", hr);
|
||||
ok(count == 1, "GetCount returned %i, expected 0\n", count);
|
||||
|
||||
memset(&pkey, 0, sizeof(pkey));
|
||||
|
||||
|
|
Loading…
Reference in New Issue