122 , m_pUnkOuter(pUnkOuter)
135 value->compartment->Release();
155 TRACE(
"returning %p\n", *ppOut);
161 hr =
This->QueryInterface(
riid, (
void **)ppOut);
175 if (iid ==
IID_IUnknown || iid == IID_ITfCompartmentMgr)
192 return ::InterlockedIncrement(&
m_cRefs);
218 if (rguid ==
value->guid)
220 value->compartment->AddRef();
221 *ppcomp =
value->compartment;
236 value->compartment->AddRef();
237 *ppcomp =
value->compartment;
257 if (rguid ==
value->guid)
262 value->compartment->Release();
273 TRACE(
"(%p) %p\n",
this, ppEnum);
291 TRACE(
"destroying %p\n",
this);
305 TRACE(
"returning %p\n", *ppOut);
320 TRACE(
"returning %p\n", *ppOut);
329 *ppvObj =
static_cast<IEnumGUID *
>(
this);
343 return ::InterlockedIncrement(&
m_cRefs);
361 TRACE(
"(%p)\n",
this);
373 *rgelt =
value->guid;
380 *pceltFetched = fetched;
386 TRACE(
"(%p)\n",
this);
393 TRACE(
"(%p)\n",
this);
400 TRACE(
"(%p)\n",
this);
412 , m_valueData(valueData)
420 TRACE(
"destroying %p\n",
this);
432 TRACE(
"returning %p\n", *ppOut);
442 else if (iid == IID_ITfSource)
443 *ppvObj =
static_cast<ITfSource *
>(
this);
457 return ::InterlockedIncrement(&
m_cRefs);
473 TRACE(
"(%p) %i %p\n",
this,
tid, pvarValue);
509 TRACE(
"(%p) %p\n",
this, pvarValue);
517 return ::VariantCopy(pvarValue, &
m_variant);
530 if (
riid == IID_ITfCompartmentEventSink)
542 TRACE(
"(%p) %x\n",
this, dwCookie);
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define SINK_FOR_EACH(cursor, list, type, elem)
#define COOKIE_MAGIC_COMPARTMENTSINK
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 LPVOID cicMemAlloc(SIZE_T size)
static void cicMemFree(LPVOID ptr)
static bool cicIsNullPtr(LPCVOID ptr)
STDMETHODIMP_(ULONG) AddRef() override
STDMETHODIMP_(ULONG) Release() override
STDMETHODIMP Next(_In_ ULONG celt, _Out_ GUID *rgelt, _Out_ ULONG *pceltFetched) override
virtual ~CCompartmentEnumGuid()
static HRESULT CreateInstance(struct list *values, IEnumGUID **ppOut)
STDMETHODIMP Skip(_In_ ULONG celt) override
STDMETHODIMP Reset() override
STDMETHODIMP Clone(_Out_ IEnumGUID **ppenum) override
STDMETHODIMP QueryInterface(REFIID iid, LPVOID *ppvObj) override
CCompartmentMgr(IUnknown *pUnkOuter=NULL)
STDMETHODIMP QueryInterface(REFIID iid, LPVOID *ppvObj) override
STDMETHODIMP GetCompartment(_In_ REFGUID rguid, _Out_ ITfCompartment **ppcomp) override
STDMETHODIMP_(ULONG) AddRef() override
STDMETHODIMP ClearCompartment(_In_ TfClientId tid, _In_ REFGUID rguid) override
STDMETHODIMP EnumCompartments(_Out_ IEnumGUID **ppEnum) override
STDMETHODIMP_(ULONG) Release() override
virtual ~CCompartmentMgr()
static HRESULT CreateInstance(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
STDMETHODIMP_(ULONG) Release() override
CCompartment(CompartmentValue *valueData)
STDMETHODIMP QueryInterface(REFIID iid, LPVOID *ppvObj) override
STDMETHODIMP_(ULONG) AddRef() override
STDMETHODIMP SetValue(_In_ TfClientId tid, _In_ const VARIANT *pvarValue) override
struct list m_CompartmentEventSink
STDMETHODIMP AdviseSink(_In_ REFIID riid, _In_ IUnknown *punk, _Out_ DWORD *pdwCookie) override
static HRESULT CreateInstance(CompartmentValue *valueData, ITfCompartment **ppOut)
CompartmentValue * m_valueData
STDMETHODIMP UnadviseSink(_In_ DWORD dwCookie) override
STDMETHODIMP GetValue(_Out_ VARIANT *pvarValue) override
EXTERN_C HRESULT CompartmentMgr_Constructor(IUnknown *pUnkOuter, REFIID riid, IUnknown **ppOut)
EXTERN_C HRESULT CompartmentMgr_Destructor(ITfCompartmentMgr *iface)
struct tagCompartmentValue CompartmentValue
GLboolean GLenum GLenum GLvoid * values
GLsizei GLenum GLboolean sink
static CInternetFolder * CreateInstance(void)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static IAdviseSinkEx AdviseSink
EXTERN_C HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
EXTERN_C DWORD get_Cookie_magic(DWORD id)
EXTERN_C HRESULT unadvise_sink(DWORD cookie)
EXTERN_C void free_sinks(struct list *sink_list)
UINT WINAPI SysStringByteLen(BSTR str)
BSTR WINAPI DECLSPEC_HOTPATCH SysAllocStringByteLen(LPCSTR str, UINT len)
#define CONNECT_E_NOCONNECTION
__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)
ITfCompartment * compartment
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
#define CLASS_E_NOAGGREGATION