108 ITfCompartment_Release(
value->compartment);
123 return IUnknown_QueryInterface(
This->pUnkOuter, iid, ppvOut);
130 *ppvOut = &
This->ITfCompartmentMgr_iface;
135 ITfCompartmentMgr_AddRef(iface);
148 return IUnknown_AddRef(
This->pUnkOuter);
157 return IUnknown_Release(
This->pUnkOuter);
184 ITfCompartment_AddRef(
value->compartment);
185 *ppcomp =
value->compartment;
191 value->guid = *rguid;
197 ITfCompartment_AddRef(
value->compartment);
198 *ppcomp =
value->compartment;
224 ITfCompartment_Release(
value->compartment);
269 This->pUnkOuter = pUnkOuter;
275 TRACE(
"returning %p\n", *ppOut);
281 hr = ITfCompartmentMgr_QueryInterface(&
This->ITfCompartmentMgr_iface,
riid, (
void**)ppOut);
304 *ppvOut = &
This->IEnumGUID_iface;
309 IEnumGUID_AddRef(iface);
347 while (fetched < celt && This->
cursor)
354 *rgelt =
value->guid;
360 if (pceltFetched) *pceltFetched = fetched;
425 *ppOut = &
This->IEnumGUID_iface;
426 TRACE(
"returning %p\n", *ppOut);
449 *ppvOut = &
This->ITfCompartment_iface;
453 *ppvOut = &
This->ITfSource_iface;
458 ITfCompartment_AddRef(iface);
499 if (!
This->valueData->owner)
505 This->variant = *pvarValue;
515 ITfCompartmentEventSink_OnChange(
sink, &
This->valueData->guid);
551 return ITfCompartment_QueryInterface(&
This->ITfCompartment_iface, iid, ppvOut);
557 return ITfCompartment_AddRef(&
This->ITfCompartment_iface);
563 return ITfCompartment_Release(&
This->ITfCompartment_iface);
573 if (!
riid || !punk || !pdwCookie)
577 return advise_sink(&
This->CompartmentEventSink, &IID_ITfCompartmentEventSink,
617 This->valueData = valueData;
622 *ppOut = &
This->ITfCompartment_iface;
623 TRACE(
"returning %p\n", *ppOut);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
static void CompartmentEnumGuid_Destructor(CompartmentEnumGuid *This)
struct tagCompartmentMgr CompartmentMgr
static HRESULT WINAPI CompartmentEnumGuid_Reset(IEnumGUID *iface)
static HRESULT WINAPI CompartmentMgr_QueryInterface(ITfCompartmentMgr *iface, REFIID iid, LPVOID *ppvOut)
static ULONG WINAPI CompartmentSource_AddRef(ITfSource *iface)
static CompartmentMgr * impl_from_ITfCompartmentMgr(ITfCompartmentMgr *iface)
static void Compartment_Destructor(Compartment *This)
static HRESULT WINAPI CompartmentEnumGuid_QueryInterface(IEnumGUID *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI CompartmentSource_AdviseSink(ITfSource *iface, REFIID riid, IUnknown *punk, DWORD *pdwCookie)
static HRESULT WINAPI Compartment_QueryInterface(ITfCompartment *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI CompartmentMgr_GetCompartment(ITfCompartmentMgr *iface, REFGUID rguid, ITfCompartment **ppcomp)
static HRESULT WINAPI Compartment_SetValue(ITfCompartment *iface, TfClientId tid, const VARIANT *pvarValue)
HRESULT CompartmentMgr_Destructor(ITfCompartmentMgr *iface)
static Compartment * impl_from_ITfSource(ITfSource *iface)
static HRESULT WINAPI Compartment_GetValue(ITfCompartment *iface, VARIANT *pvarValue)
static ULONG WINAPI CompartmentEnumGuid_AddRef(IEnumGUID *iface)
static HRESULT WINAPI CompartmentSource_UnadviseSink(ITfSource *iface, DWORD pdwCookie)
static Compartment * impl_from_ITfCompartment(ITfCompartment *iface)
static const ITfCompartmentVtbl CompartmentVtbl
static ULONG WINAPI CompartmentMgr_AddRef(ITfCompartmentMgr *iface)
static CompartmentEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
static HRESULT CompartmentEnumGuid_Constructor(struct list *values, IEnumGUID **ppOut)
static HRESULT Compartment_Constructor(CompartmentValue *value, ITfCompartment **ppOut)
struct tagCompartmentEnumGuid CompartmentEnumGuid
static HRESULT WINAPI CompartmentSource_QueryInterface(ITfSource *iface, REFIID iid, LPVOID *ppvOut)
static ULONG WINAPI CompartmentMgr_Release(ITfCompartmentMgr *iface)
HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
static HRESULT WINAPI CompartmentEnumGuid_Skip(IEnumGUID *iface, ULONG celt)
static const IEnumGUIDVtbl EnumGUIDVtbl
static ULONG WINAPI CompartmentEnumGuid_Release(IEnumGUID *iface)
static ULONG WINAPI CompartmentSource_Release(ITfSource *iface)
static const ITfSourceVtbl CompartmentSourceVtbl
static HRESULT WINAPI CompartmentMgr_EnumCompartments(ITfCompartmentMgr *iface, IEnumGUID **ppEnum)
static ULONG WINAPI Compartment_AddRef(ITfCompartment *iface)
static HRESULT WINAPI CompartmentEnumGuid_Clone(IEnumGUID *iface, IEnumGUID **ppenum)
static ULONG WINAPI Compartment_Release(ITfCompartment *iface)
static HRESULT WINAPI CompartmentMgr_ClearCompartment(ITfCompartmentMgr *iface, TfClientId tid, REFGUID rguid)
struct tagCompartment Compartment
static HRESULT WINAPI CompartmentEnumGuid_Next(IEnumGUID *iface, ULONG celt, GUID *rgelt, ULONG *pceltFetched)
static const ITfCompartmentMgrVtbl CompartmentMgrVtbl
struct tagCompartmentValue CompartmentValue
#define HeapFree(x, y, z)
GLboolean GLenum GLenum GLvoid * values
GLsizei GLenum GLboolean sink
DWORD get_Cookie_magic(DWORD id)
HRESULT unadvise_sink(DWORD cookie)
void free_sinks(struct list *sink_list)
HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
#define SINK_FOR_EACH(cursor, list, type, elem)
#define COOKIE_MAGIC_COMPARTMENTSINK
UINT WINAPI SysStringByteLen(BSTR str)
BSTR WINAPI DECLSPEC_HOTPATCH SysAllocStringByteLen(LPCSTR str, UINT len)
#define CONNECT_E_NOCONNECTION
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
#define LIST_FOR_EACH(cursor, list)
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
IEnumGUID IEnumGUID_iface
ITfCompartmentMgr ITfCompartmentMgr_iface
ITfCompartment * compartment
ITfCompartment ITfCompartment_iface
ITfSource ITfSource_iface
CompartmentValue * valueData
struct list CompartmentEventSink
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
HRESULT WINAPI VariantCopy(VARIANTARG *pvargDest, VARIANTARG *pvargSrc)
#define CLASS_E_NOAGGREGATION