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
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
);
35 }else if(IsEqualGUID(&IID_IAccPropServices
, riid
)) {
36 TRACE("(IID_IAccPropServices %p)\n", ppv
);
39 FIXME("Unknown iface %s\n", debugstr_guid(riid
));
44 IUnknown_AddRef((IUnknown
*)*ppv
);
48 static ULONG WINAPI
AccPropServices_AddRef(IAccPropServices
*iface
)
53 static ULONG WINAPI
AccPropServices_Release(IAccPropServices
*iface
)
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
));
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
);
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
);
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
));
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
));
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
);
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
);
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
);
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
);
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
));
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
));
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
);
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
);
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
);
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
);
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
)
190 if(IsEqualGUID(&IID_IUnknown
, riid
)) {
191 TRACE("(%p)->(IID_IUnknown %p)\n", iface
, ppv
);
193 }else if(IsEqualGUID(&IID_IClassFactory
, riid
)) {
194 TRACE("(%p)->(IID_IClassFactory %p)\n", iface
, ppv
);
199 IUnknown_AddRef((IUnknown
*)*ppv
);
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
);
213 static ULONG WINAPI
ClassFactory_Release(IClassFactory
*iface
)
215 TRACE("(%p)\n", iface
);
219 static HRESULT WINAPI
ClassFactory_LockServer(IClassFactory
*iface
, BOOL fLock
)
221 TRACE("(%p)->(%x)\n", iface
, fLock
);
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
);
232 return CLASS_E_NOAGGREGATION
;
235 return IAccPropServices_QueryInterface(&AccPropServices
, riid
, ppv
);
238 static const IClassFactoryVtbl CAccPropServicesFactoryVtbl
= {
239 ClassFactory_QueryInterface
,
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
);