dwrite: Implement CreateFontFaceFromHdc().
[wine.git] / dlls / oleacc / propservice.c
blobf27a8dade1199e9f61e97d0f3979dd5667e79e6b
1 /*
2 * Copyright 2014 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #define COBJMACROS
21 #include <stdarg.h>
23 #include "oleacc.h"
24 #include "oleacc_private.h"
26 #include "wine/debug.h"
28 WINE_DEFAULT_DEBUG_CHANNEL(oleacc);
30 static HRESULT WINAPI AccPropServices_QueryInterface(IAccPropServices *iface, REFIID riid, void **ppv)
32 if(IsEqualGUID(&IID_IUnknown, riid)) {
33 TRACE("(IID_IUnknown %p)\n", ppv);
34 *ppv = iface;
35 }else if(IsEqualGUID(&IID_IAccPropServices, riid)) {
36 TRACE("(IID_IAccPropServices %p)\n", ppv);
37 *ppv = iface;
38 }else {
39 FIXME("Unknown iface %s\n", debugstr_guid(riid));
40 *ppv = NULL;
41 return E_NOINTERFACE;
44 IUnknown_AddRef((IUnknown*)*ppv);
45 return S_OK;
48 static ULONG WINAPI AccPropServices_AddRef(IAccPropServices *iface)
50 return 2;
53 static ULONG WINAPI AccPropServices_Release(IAccPropServices *iface)
55 return 1;
58 static HRESULT WINAPI AccPropServices_SetPropValue(IAccPropServices *iface, const BYTE *pIDString,
59 DWORD dwIDStringLen, MSAAPROPID idProp, VARIANT var)
61 FIXME("(%p %u %s %s)\n", pIDString, dwIDStringLen, debugstr_guid(&idProp), debugstr_variant(&var));
62 return E_NOTIMPL;
65 static HRESULT WINAPI AccPropServices_SetPropServer(IAccPropServices *iface, const BYTE *pIDString,
66 DWORD dwIDStringLen, const MSAAPROPID *paProps, int cProps, IAccPropServer *pServer, AnnoScope AnnoScope)
68 FIXME("(%p %u %p %d %p %u)\n", pIDString, dwIDStringLen, paProps, cProps, pServer, AnnoScope);
69 return E_NOTIMPL;
72 static HRESULT WINAPI AccPropServices_ClearProps(IAccPropServices *iface, const BYTE *pIDString,
73 DWORD dwIDStringLen, const MSAAPROPID *paProps, int cProps)
75 FIXME("(%p %u %p %d)\n", pIDString, dwIDStringLen, paProps, cProps);
76 return E_NOTIMPL;
79 static HRESULT WINAPI AccPropServices_SetHwndProp(IAccPropServices *iface, HWND hwnd, DWORD idObject,
80 DWORD idChild, MSAAPROPID idProp, VARIANT var)
82 FIXME("(%p %u %u %s %s)\n", hwnd, idObject, idChild, debugstr_guid(&idProp), debugstr_variant(&var));
83 return E_NOTIMPL;
86 static HRESULT WINAPI AccPropServices_SetHwndPropStr(IAccPropServices *iface, HWND hwnd, DWORD idObject,
87 DWORD idChild, MSAAPROPID idProp, LPWSTR str)
89 FIXME("(%p %u %u %s %s)\n", hwnd, idObject, idChild, debugstr_guid(&idProp), debugstr_w(str));
90 return E_NOTIMPL;
93 static HRESULT WINAPI AccPropServices_SetHwndPropServer(IAccPropServices *iface, HWND hwnd, DWORD idObject,
94 DWORD idChild, const MSAAPROPID *paProps, int cProps, IAccPropServer *pServer, AnnoScope AnnoScope)
96 FIXME("(%p %u %u %p %d %p %u)\n", hwnd, idObject, idChild, paProps, cProps, pServer, AnnoScope);
97 return E_NOTIMPL;
100 static HRESULT WINAPI AccPropServices_ClearHwndProps(IAccPropServices *iface, HWND hwnd, DWORD idObject,
101 DWORD idChild, const MSAAPROPID *paProps, int cProps)
103 FIXME("(%p %u %u %p %d)\n", hwnd, idObject, idChild, paProps, cProps);
104 return E_NOTIMPL;
107 static HRESULT WINAPI AccPropServices_ComposeHwndIdentityString(IAccPropServices *iface, HWND hwnd,
108 DWORD idObject, DWORD idChild, BYTE **ppIDString, DWORD *pdwIDStringLen)
110 FIXME("(%p %u %u %p %p)\n", hwnd, idObject, idChild, ppIDString, pdwIDStringLen);
111 return E_NOTIMPL;
114 static HRESULT WINAPI AccPropServices_DecomposeHwndIdentityString(IAccPropServices *iface, const BYTE *pIDString,
115 DWORD dwIDStringLen, HWND *phwnd, DWORD *pidObject, DWORD *pidChild)
117 FIXME("(%p %u %p %p %p)\n", pIDString, dwIDStringLen, phwnd, pidObject, pidChild);
118 return E_NOTIMPL;
121 static HRESULT WINAPI AccPropServices_SetHmenuProp(IAccPropServices *iface, HMENU hmenu, DWORD idChild,
122 MSAAPROPID idProp, VARIANT var)
124 FIXME("(%p %u %s %s)\n", hmenu, idChild, debugstr_guid(&idProp), debugstr_variant(&var));
125 return E_NOTIMPL;
128 static HRESULT WINAPI AccPropServices_SetHmenuPropStr(IAccPropServices *iface, HMENU hmenu, DWORD idChild,
129 MSAAPROPID idProp, LPWSTR str)
131 FIXME("(%p %u %s %s)\n", hmenu, idChild, debugstr_guid(&idProp), debugstr_w(str));
132 return E_NOTIMPL;
135 static HRESULT WINAPI AccPropServices_SetHmenuPropServer(IAccPropServices *iface, HMENU hmenu, DWORD idChild,
136 const MSAAPROPID *paProps, int cProps, IAccPropServer *pServer, AnnoScope AnnoScope)
138 FIXME("(%p %u %p %d %p %u)\n", hmenu, idChild, paProps, cProps, pServer, AnnoScope);
139 return E_NOTIMPL;
142 static HRESULT WINAPI AccPropServices_ClearHmenuProps(IAccPropServices *iface, HMENU hmenu, DWORD idChild,
143 const MSAAPROPID *paProps, int cProps)
145 FIXME("(%p %u %p %d)\n", hmenu, idChild, paProps, cProps);
146 return E_NOTIMPL;
149 static HRESULT WINAPI AccPropServices_ComposeHmenuIdentityString(IAccPropServices *iface, HMENU hmenu, DWORD idChild,
150 BYTE **ppIDString, DWORD *pdwIDStringLen)
152 FIXME("(%p %u %p %p)\n", hmenu, idChild, ppIDString, pdwIDStringLen);
153 return E_NOTIMPL;
156 static HRESULT WINAPI AccPropServices_DecomposeHmenuIdentityString(IAccPropServices *iface, const BYTE *pIDString,
157 DWORD dwIDStringLen, HMENU *phmenu, DWORD *pidChild)
159 FIXME("(%p %u %p %p\n", pIDString, dwIDStringLen, phmenu, pidChild);
160 return E_NOTIMPL;
163 static const IAccPropServicesVtbl AccPropServicesVtbl = {
164 AccPropServices_QueryInterface,
165 AccPropServices_AddRef,
166 AccPropServices_Release,
167 AccPropServices_SetPropValue,
168 AccPropServices_SetPropServer,
169 AccPropServices_ClearProps,
170 AccPropServices_SetHwndProp,
171 AccPropServices_SetHwndPropStr,
172 AccPropServices_SetHwndPropServer,
173 AccPropServices_ClearHwndProps,
174 AccPropServices_ComposeHwndIdentityString,
175 AccPropServices_DecomposeHwndIdentityString,
176 AccPropServices_SetHmenuProp,
177 AccPropServices_SetHmenuPropStr,
178 AccPropServices_SetHmenuPropServer,
179 AccPropServices_ClearHmenuProps,
180 AccPropServices_ComposeHmenuIdentityString,
181 AccPropServices_DecomposeHmenuIdentityString
184 static IAccPropServices AccPropServices = { &AccPropServicesVtbl };
186 static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
188 *ppv = NULL;
190 if(IsEqualGUID(&IID_IUnknown, riid)) {
191 TRACE("(%p)->(IID_IUnknown %p)\n", iface, ppv);
192 *ppv = iface;
193 }else if(IsEqualGUID(&IID_IClassFactory, riid)) {
194 TRACE("(%p)->(IID_IClassFactory %p)\n", iface, ppv);
195 *ppv = iface;
198 if(*ppv) {
199 IUnknown_AddRef((IUnknown*)*ppv);
200 return S_OK;
203 FIXME("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppv);
204 return E_NOINTERFACE;
207 static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
209 TRACE("(%p)\n", iface);
210 return 2;
213 static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
215 TRACE("(%p)\n", iface);
216 return 1;
219 static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL fLock)
221 TRACE("(%p)->(%x)\n", iface, fLock);
222 return S_OK;
225 static HRESULT WINAPI CAccPropServices_CreateInstance(IClassFactory *iface, IUnknown *outer,
226 REFIID riid, void **ppv)
228 TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
230 if(outer) {
231 *ppv = NULL;
232 return CLASS_E_NOAGGREGATION;
235 return IAccPropServices_QueryInterface(&AccPropServices, riid, ppv);
238 static const IClassFactoryVtbl CAccPropServicesFactoryVtbl = {
239 ClassFactory_QueryInterface,
240 ClassFactory_AddRef,
241 ClassFactory_Release,
242 CAccPropServices_CreateInstance,
243 ClassFactory_LockServer
246 static IClassFactory CAccPropServicesFactory = { &CAccPropServicesFactoryVtbl };
248 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, void **ppv)
250 if(IsEqualGUID(&CLSID_CAccPropServices, rclsid)) {
251 TRACE("(CLSID_CAccPropServices %s %p)\n", debugstr_guid(iid), ppv);
252 return IClassFactory_QueryInterface(&CAccPropServicesFactory, iid, ppv);
255 FIXME("%s %s %p: stub\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
256 return E_NOTIMPL;