ReactOS 0.4.16-dev-1946-g52006dd
displayattributemgr.cpp
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS CTF
3 * LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4 * PURPOSE: ITfDisplayAttributeMgr implementation
5 * COPYRIGHT: Copyright 2010 CodeWeavers, Aric Stewart
6 * Copyright 2025 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
7 */
8
9#include "precomp.h"
10#include "displayattributemgr.h"
11
12#include <wine/debug.h>
14
16
18 : m_cRefs(1)
19{
20}
21
23{
24 TRACE("destroying %p\n", this);
25}
26
28{
29 FIXME("(%p)\n", wine_dbgstr_guid(&rguid));
30 return FALSE;
31}
32
34{
35 FIXME("(%p, %u)\n", pProcessor, dwCookie);
36}
37
39{
40 FIXME("(%u)\n", dwCookie);
41}
42
44{
45 FIXME("()\n");
46}
47
50{
51 if (!ppvObj)
52 return E_INVALIDARG;
53
54 *ppvObj = NULL;
55
56 if (riid == IID_IUnknown ||
57 riid == IID_ITfDisplayAttributeMgr ||
58 riid == IID_CDisplayAttributeMgr)
59 {
60 *ppvObj = this;
61 }
62 else if (riid == IID_ITfDisplayAttributeCollectionMgr)
63 {
64 *ppvObj = static_cast<ITfDisplayAttributeCollectionMgr *>(this);
65 }
66
67 if (!*ppvObj)
68 return E_NOINTERFACE;
69
70 AddRef();
71 return S_OK;
72}
73
76{
77 return ::InterlockedIncrement(&m_cRefs);
78}
79
82{
84 if (!ret)
85 delete this;
86 return ret;
87}
88
90{
91 FIXME("()\n");
92 return E_NOTIMPL;
93}
94
97{
98 FIXME("(%p)\n", ppEnum);
99 return E_NOTIMPL;
100}
101
106 _Out_ CLSID *pclsidOwner)
107{
108 FIXME("(%s, %p, %s)\n", wine_dbgstr_guid(&guid), ppInfo, wine_dbgstr_guid(pclsidOwner));
109 return E_NOTIMPL;
110}
111
114{
115 FIXME("(0x%lX)\n", unused);
116 return E_NOTIMPL;
117}
118
120
123{
124 if (pUnkOuter)
126
128 if (!This)
129 return E_OUTOFMEMORY;
130
131 HRESULT hr = This->QueryInterface(IID_ITfDisplayAttributeMgr, (void **)ppOut);
132 This->Release();
133 return hr;
134}
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define FIXME(fmt,...)
Definition: precomp.h:53
#define EXTERN_C
Definition: basetyps.h:12
#define STDMETHODIMP
Definition: basetyps.h:43
#define STDMETHODIMP_(t)
Definition: basetyps.h:44
const GUID IID_IUnknown
#define cicNoThrow
Definition: cicbase.h:46
void _UnadviseMarkupCollection(DWORD dwCookie)
STDMETHODIMP UnknownMethod(_In_ DWORD unused) override
STDMETHODIMP OnUpdateInfo() override
BOOL _IsInCollection(REFGUID rguid)
void _AdviseMarkupCollection(ITfTextInputProcessor *pProcessor, DWORD dwCookie)
STDMETHODIMP EnumDisplayAttributeInfo(_Out_ IEnumTfDisplayAttributeInfo **ppEnum) override
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj) override
STDMETHODIMP GetDisplayAttributeInfo(_In_ REFGUID guid, _Out_ ITfDisplayAttributeInfo **ppInfo, _Out_ CLSID *pclsidOwner) override
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
EXTERN_C HRESULT DisplayAttributeMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
GUID guid
Definition: version.c:147
return ret
Definition: mutex.c:146
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
ULONG Release()
#define S_OK
Definition: intsafe.h:52
WORD unused[29]
Definition: crypt.c:1155
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define REFIID
Definition: guiddef.h:118
static __inline const char * wine_dbgstr_guid(const GUID *id)
Definition: debug.h:197
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
Definition: scsiwmi.h:51
uint32_t ULONG
Definition: typedefs.h:59
#define E_NOINTERFACE
Definition: winerror.h:3479
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771