31 #include "wine/list.h" 36 DEFINE_GUID(FMTID_NamedProperties, 0xd5cdd505, 0x2e9c, 0x101b, 0x93, 0x97, 0x08, 0x00, 0x2b, 0x2c, 0xf9, 0xae);
77 *
ppv = &
This->IPropertyStoreCache_iface;
95 TRACE(
"(%p) refcount=%u\n", iface,
ref);
116 TRACE(
"(%p) refcount=%u\n", iface,
ref);
121 This->lock.DebugInfo->Spare[0] = 0;
137 TRACE(
"%p,%p\n", iface, cProps);
155 DWORD iProp, PROPERTYKEY *pkey)
162 TRACE(
"%p,%d,%p\n", iface, iProp, pkey);
171 if (format_candidate->count > iProp)
173 format = format_candidate;
174 pkey->fmtid =
format->fmtid;
178 iProp -= format_candidate->count;
187 pkey->pid =
value->pid;
214 ERR(
"don't know how to handle FMTID_NamedProperties\n");
222 format = format_candidate;
243 if (value_candidate->pid ==
key->pid)
245 value = value_candidate;
276 TRACE(
"%p,%p,%p\n", iface,
key, pv);
306 TRACE(
"%p,%p,%p\n", iface,
key, propvar);
328 FIXME(
"%p: stub\n", iface);
339 TRACE(
"%p,%p,%p\n", iface,
key, pstate);
346 *pstate =
value->state;
351 *pstate = PSC_NORMAL;
363 TRACE(
"%p,%p,%p,%p\n", iface,
key, ppropvar, pstate);
373 *pstate =
value->state;
379 PropVariantInit(ppropvar);
380 *pstate = PSC_NORMAL;
393 TRACE(
"%p,%p,%d\n", iface,
key, pstate);
400 value->state = pstate;
468 This->lock.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": PropertyStore.lock");
471 ret = IPropertyStoreCache_QueryInterface(&
This->IPropertyStoreCache_iface, iid,
ppv);
472 IPropertyStoreCache_Release(&
This->IPropertyStoreCache_iface);
static HRESULT WINAPI PropertyStore_SetValue(IPropertyStoreCache *iface, REFPROPERTYKEY key, REFPROPVARIANT propvar)
static HRESULT WINAPI PropertyStore_SetState(IPropertyStoreCache *iface, REFPROPERTYKEY key, PSC_STATE pstate)
DEFINE_GUID(FMTID_NamedProperties, 0xd5cdd505, 0x2e9c, 0x101b, 0x93, 0x97, 0x08, 0x00, 0x2b, 0x2c, 0xf9, 0xae)
HRESULT WINAPI PropVariantClear(PROPVARIANT *pvar)
static const struct pixel_format_desc formats[]
GLboolean GLenum GLenum GLvoid * values
static ULONG WINAPI PropertyStore_Release(IPropertyStoreCache *iface)
HRESULT PropertyStore_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
WINE_DEFAULT_DEBUG_CHANNEL(propsys)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
IPropertyStoreCache IPropertyStoreCache_iface
static ULONG WINAPI PropertyStore_AddRef(IPropertyStoreCache *iface)
static HRESULT WINAPI PropertyStore_GetValueAndState(IPropertyStoreCache *iface, REFPROPERTYKEY key, PROPVARIANT *ppropvar, PSC_STATE *pstate)
static HRESULT WINAPI PropertyStore_GetCount(IPropertyStoreCache *iface, DWORD *cProps)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static HRESULT WINAPI PropertyStore_GetState(IPropertyStoreCache *iface, REFPROPERTYKEY key, PSC_STATE *pstate)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
HRESULT WINAPI PropVariantCopy(PROPVARIANT *pvarDest, const PROPVARIANT *pvarSrc)
static PropertyStore * impl_from_IPropertyStoreCache(IPropertyStoreCache *iface)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
static HRESULT PropertyStore_LookupValue(PropertyStore *This, REFPROPERTYKEY key, BOOL insert, propstore_value **result)
#define InterlockedDecrement
static const IPropertyStoreCacheVtbl PropertyStore_Vtbl
GLsizei const GLfloat * value
#define CLASS_E_NOAGGREGATION
PSSTDAPI typedef PROPERTYKEY * REFPROPERTYKEY
static HRESULT WINAPI PropertyStore_GetValue(IPropertyStoreCache *iface, REFPROPERTYKEY key, PROPVARIANT *pv)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
#define InterlockedIncrement
static IPropertySystem propsys
static HRESULT WINAPI PropertyStore_QueryInterface(IPropertyStoreCache *iface, REFIID iid, void **ppv)
static void destroy_format(propstore_format *format)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static HRESULT WINAPI PropertyStore_SetValueAndState(IPropertyStoreCache *iface, REFPROPERTYKEY key, const PROPVARIANT *ppropvar, PSC_STATE state)
#define TYPE_E_ELEMENTNOTFOUND
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static HRESULT WINAPI PropertyStore_GetAt(IPropertyStoreCache *iface, DWORD iProp, PROPERTYKEY *pkey)
#define HeapFree(x, y, z)
#define IsEqualIID(riid1, riid2)
static HRESULT WINAPI PropertyStore_Commit(IPropertyStoreCache *iface)