ReactOS 0.4.17-dev-494-g8d70dca
client.c File Reference
#include <assert.h>
#include "oleacc_private.h"
#include "commctrl.h"
#include "wine/debug.h"
#include "wine/heap.h"
Include dependency graph for client.c:

Go to the source code of this file.

Classes

struct  Client
 
struct  win_class_vtbl
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct win_class_vtbl win_class_vtbl
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (oleacc)
 
static HRESULT win_get_name (HWND hwnd, BSTR *name)
 
static HRESULT win_get_kbd_shortcut (HWND hwnd, BSTR *shortcut)
 
static Clientimpl_from_Client (IAccessible *iface)
 
static HRESULT WINAPI Client_QueryInterface (IAccessible *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI Client_AddRef (IAccessible *iface)
 
static ULONG WINAPI Client_Release (IAccessible *iface)
 
static HRESULT WINAPI Client_GetTypeInfoCount (IAccessible *iface, UINT *pctinfo)
 
static HRESULT WINAPI Client_GetTypeInfo (IAccessible *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI Client_GetIDsOfNames (IAccessible *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI Client_Invoke (IAccessible *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI Client_get_accParent (IAccessible *iface, IDispatch **ppdispParent)
 
static HRESULT WINAPI Client_get_accChildCount (IAccessible *iface, LONG *pcountChildren)
 
static HRESULT WINAPI Client_get_accChild (IAccessible *iface, VARIANT varChildID, IDispatch **ppdispChild)
 
static HRESULT WINAPI Client_get_accName (IAccessible *iface, VARIANT id, BSTR *name)
 
static HRESULT WINAPI Client_get_accValue (IAccessible *iface, VARIANT id, BSTR *value)
 
static HRESULT WINAPI Client_get_accDescription (IAccessible *iface, VARIANT varID, BSTR *pszDescription)
 
static HRESULT WINAPI Client_get_accRole (IAccessible *iface, VARIANT varID, VARIANT *pvarRole)
 
static HRESULT client_get_state (Client *client, VARIANT id, VARIANT *state)
 
static HRESULT WINAPI Client_get_accState (IAccessible *iface, VARIANT id, VARIANT *state)
 
static HRESULT WINAPI Client_get_accHelp (IAccessible *iface, VARIANT varID, BSTR *pszHelp)
 
static HRESULT WINAPI Client_get_accHelpTopic (IAccessible *iface, BSTR *pszHelpFile, VARIANT varID, LONG *pidTopic)
 
static HRESULT WINAPI Client_get_accKeyboardShortcut (IAccessible *iface, VARIANT id, BSTR *shortcut)
 
static HRESULT WINAPI Client_get_accFocus (IAccessible *iface, VARIANT *focus)
 
static HRESULT WINAPI Client_get_accSelection (IAccessible *iface, VARIANT *pvarID)
 
static HRESULT WINAPI Client_get_accDefaultAction (IAccessible *iface, VARIANT varID, BSTR *pszDefaultAction)
 
static HRESULT WINAPI Client_accSelect (IAccessible *iface, LONG flagsSelect, VARIANT varID)
 
static HRESULT WINAPI Client_accLocation (IAccessible *iface, LONG *pxLeft, LONG *pyTop, LONG *pcxWidth, LONG *pcyHeight, VARIANT varID)
 
static HRESULT WINAPI Client_accNavigate (IAccessible *iface, LONG navDir, VARIANT varStart, VARIANT *pvarEnd)
 
static HRESULT WINAPI Client_accHitTest (IAccessible *iface, LONG xLeft, LONG yTop, VARIANT *pvarID)
 
static HRESULT WINAPI Client_accDoDefaultAction (IAccessible *iface, VARIANT varID)
 
static HRESULT WINAPI Client_put_accName (IAccessible *iface, VARIANT varID, BSTR pszName)
 
static HRESULT WINAPI Client_put_accValue (IAccessible *iface, VARIANT id, BSTR value)
 
static Clientimpl_from_Client_OleWindow (IOleWindow *iface)
 
static HRESULT WINAPI Client_OleWindow_QueryInterface (IOleWindow *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI Client_OleWindow_AddRef (IOleWindow *iface)
 
static ULONG WINAPI Client_OleWindow_Release (IOleWindow *iface)
 
static HRESULT WINAPI Client_OleWindow_GetWindow (IOleWindow *iface, HWND *phwnd)
 
static HRESULT WINAPI Client_OleWindow_ContextSensitiveHelp (IOleWindow *iface, BOOL fEnterMode)
 
static Clientimpl_from_Client_EnumVARIANT (IEnumVARIANT *iface)
 
static HRESULT WINAPI Client_EnumVARIANT_QueryInterface (IEnumVARIANT *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI Client_EnumVARIANT_AddRef (IEnumVARIANT *iface)
 
static ULONG WINAPI Client_EnumVARIANT_Release (IEnumVARIANT *iface)
 
static HRESULT WINAPI Client_EnumVARIANT_Next (IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
 
static HRESULT WINAPI Client_EnumVARIANT_Skip (IEnumVARIANT *iface, ULONG celt)
 
static HRESULT WINAPI Client_EnumVARIANT_Reset (IEnumVARIANT *iface)
 
static HRESULT WINAPI Client_EnumVARIANT_Clone (IEnumVARIANT *iface, IEnumVARIANT **ppEnum)
 
static Clientimpl_from_Client_ServiceProvider (IServiceProvider *iface)
 
static HRESULT WINAPI Client_ServiceProvider_QueryInterface (IServiceProvider *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI Client_ServiceProvider_AddRef (IServiceProvider *iface)
 
static ULONG WINAPI Client_ServiceProvider_Release (IServiceProvider *iface)
 
static HRESULT WINAPI Client_ServiceProvider_QueryService (IServiceProvider *iface, REFGUID guid_service, REFIID riid, void **ppv)
 
static void edit_init (Client *client)
 
static HRESULT edit_get_state (Client *client, VARIANT id, VARIANT *state)
 
static HWND edit_find_label (HWND hwnd, BOOL visible)
 
static HRESULT edit_get_name (Client *client, VARIANT id, BSTR *name)
 
static HRESULT edit_get_kbd_shortcut (Client *client, VARIANT id, BSTR *shortcut)
 
static HRESULT edit_get_value (Client *client, VARIANT id, BSTR *value_out)
 
static HRESULT edit_put_value (Client *client, VARIANT id, BSTR value)
 
HRESULT create_client_object (HWND hwnd, const IID *iid, void **obj)
 

Variables

static const IAccessibleVtbl ClientVtbl
 
static const IOleWindowVtbl ClientOleWindowVtbl
 
static const IEnumVARIANTVtbl ClientEnumVARIANTVtbl
 
static const IServiceProviderVtbl ClientServiceProviderVtbl
 
static const win_class_vtbl edit_vtbl
 
static const struct win_class_data classes []
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file client.c.

Typedef Documentation

◆ win_class_vtbl

Definition at line 30 of file client.c.

Function Documentation

◆ Client_accDoDefaultAction()

static HRESULT WINAPI Client_accDoDefaultAction ( IAccessible iface,
VARIANT  varID 
)
static

Definition at line 480 of file client.c.

481{
482 Client *This = impl_from_Client(iface);
483 FIXME("(%p)->(%s)\n", This, debugstr_variant(&varID));
484 return E_NOTIMPL;
485}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
static Client * impl_from_Client(IAccessible *iface)
Definition: client.c:99
static const char * debugstr_variant(const VARIANT *var)
Definition: dom.c:505
Definition: client.c:31

◆ Client_accHitTest()

static HRESULT WINAPI Client_accHitTest ( IAccessible iface,
LONG  xLeft,
LONG  yTop,
VARIANT pvarID 
)
static

Definition at line 454 of file client.c.

456{
457 Client *This = impl_from_Client(iface);
458 HWND child;
459 POINT pt;
460
461 TRACE("(%p)->(%ld %ld %p)\n", This, xLeft, yTop, pvarID);
462
463 V_VT(pvarID) = VT_I4;
464 V_I4(pvarID) = 0;
465
466 pt.x = xLeft;
467 pt.y = yTop;
468 if(!IsWindowVisible(This->hwnd) || !ScreenToClient(This->hwnd, &pt))
469 return S_OK;
470
472 if(!child || child==This->hwnd)
473 return S_OK;
474
475 V_VT(pvarID) = VT_DISPATCH;
477 &IID_IDispatch, (void**)&V_DISPATCH(pvarID));
478}
@ VT_I4
Definition: compat.h:2298
@ VT_DISPATCH
Definition: compat.h:2304
HRESULT WINAPI AccessibleObjectFromWindow(HWND hwnd, DWORD dwObjectID, REFIID riid, void **ppvObject)
Definition: main.c:386
#define pt(x, y)
Definition: drawing.c:79
#define S_OK
Definition: intsafe.h:52
static HWND child
Definition: cursoricon.c:298
#define V_VT(A)
Definition: oleauto.h:211
#define V_I4(A)
Definition: oleauto.h:247
#define V_DISPATCH(A)
Definition: oleauto.h:239
const GUID IID_IDispatch
#define TRACE(s)
Definition: solgame.cpp:4
#define OBJID_WINDOW
Definition: winable.h:15
HWND WINAPI ChildWindowFromPointEx(_In_ HWND, _In_ POINT, _In_ UINT)
#define CWP_SKIPINVISIBLE
Definition: winuser.h:208
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)

◆ Client_accLocation()

static HRESULT WINAPI Client_accLocation ( IAccessible iface,
LONG pxLeft,
LONG pyTop,
LONG pcxWidth,
LONG pcyHeight,
VARIANT  varID 
)
static

Definition at line 415 of file client.c.

417{
418 Client *This = impl_from_Client(iface);
419 RECT rect;
420 POINT pt;
421
422 TRACE("(%p)->(%p %p %p %p %s)\n", This, pxLeft, pyTop,
423 pcxWidth, pcyHeight, debugstr_variant(&varID));
424
425 *pxLeft = *pyTop = *pcxWidth = *pcyHeight = 0;
426 if(convert_child_id(&varID) != CHILDID_SELF)
427 return E_INVALIDARG;
428
429 if(!GetClientRect(This->hwnd, &rect))
430 return S_OK;
431
432 pt.x = rect.left;
433 pt.y = rect.top;
434 MapWindowPoints(This->hwnd, NULL, &pt, 1);
435 *pxLeft = pt.x;
436 *pyTop = pt.y;
437
438 pt.x = rect.right;
439 pt.y = rect.bottom;
440 MapWindowPoints(This->hwnd, NULL, &pt, 1);
441 *pcxWidth = pt.x - *pxLeft;
442 *pcyHeight = pt.y - *pyTop;
443 return S_OK;
444}
RECT rect
Definition: combotst.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NULL
Definition: types.h:112
int convert_child_id(VARIANT *v)
Definition: main.c:48
LONG right
Definition: windef.h:108
LONG bottom
Definition: windef.h:109
LONG top
Definition: windef.h:107
LONG left
Definition: windef.h:106
#define CHILDID_SELF
Definition: winable.h:14
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)

◆ Client_accNavigate()

static HRESULT WINAPI Client_accNavigate ( IAccessible iface,
LONG  navDir,
VARIANT  varStart,
VARIANT pvarEnd 
)
static

Definition at line 446 of file client.c.

448{
449 Client *This = impl_from_Client(iface);
450 FIXME("(%p)->(%ld %s %p)\n", This, navDir, debugstr_variant(&varStart), pvarEnd);
451 return E_NOTIMPL;
452}

◆ Client_accSelect()

static HRESULT WINAPI Client_accSelect ( IAccessible iface,
LONG  flagsSelect,
VARIANT  varID 
)
static

Definition at line 408 of file client.c.

409{
410 Client *This = impl_from_Client(iface);
411 FIXME("(%p)->(%lx %s)\n", This, flagsSelect, debugstr_variant(&varID));
412 return E_NOTIMPL;
413}

◆ Client_AddRef()

static ULONG WINAPI Client_AddRef ( IAccessible iface)
static

Definition at line 130 of file client.c.

131{
132 Client *This = impl_from_Client(iface);
134
135 TRACE("(%p) ref = %lu\n", This, ref);
136 return ref;
137}
#define InterlockedIncrement
Definition: armddk.h:53
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ Client_EnumVARIANT_AddRef()

static ULONG WINAPI Client_EnumVARIANT_AddRef ( IEnumVARIANT iface)
static

Definition at line 598 of file client.c.

599{
601 return IAccessible_AddRef(&This->IAccessible_iface);
602}
static Client * impl_from_Client_EnumVARIANT(IEnumVARIANT *iface)
Definition: client.c:587

◆ Client_EnumVARIANT_Clone()

static HRESULT WINAPI Client_EnumVARIANT_Clone ( IEnumVARIANT iface,
IEnumVARIANT **  ppEnum 
)
static

Definition at line 692 of file client.c.

693{
695 FIXME("(%p)->(%p)\n", This, ppEnum);
696 return E_NOTIMPL;
697}

◆ Client_EnumVARIANT_Next()

static HRESULT WINAPI Client_EnumVARIANT_Next ( IEnumVARIANT iface,
ULONG  celt,
VARIANT rgVar,
ULONG pCeltFetched 
)
static

Definition at line 610 of file client.c.

612{
614 HWND cur = This->enum_pos, next;
615 ULONG fetched = 0;
616 HRESULT hr;
617
618 TRACE("(%p)->(%lu %p %p)\n", This, celt, rgVar, pCeltFetched);
619
620 if(!celt) {
621 if(pCeltFetched)
622 *pCeltFetched = 0;
623 return S_OK;
624 }
625
626 if(!This->enum_pos)
627 next = GetWindow(This->hwnd, GW_CHILD);
628 else
629 next = GetWindow(This->enum_pos, GW_HWNDNEXT);
630
631 while(next) {
632 cur = next;
633
634 V_VT(rgVar+fetched) = VT_DISPATCH;
636 &IID_IDispatch, (void**)&V_DISPATCH(rgVar+fetched));
637 if(FAILED(hr)) {
638 V_VT(rgVar+fetched) = VT_EMPTY;
639 while(fetched > 0) {
640 VariantClear(rgVar+fetched-1);
641 fetched--;
642 }
643 if(pCeltFetched)
644 *pCeltFetched = 0;
645 return hr;
646 }
647 fetched++;
648 if(fetched == celt)
649 break;
650
652 }
653
654 This->enum_pos = cur;
655 if(pCeltFetched)
656 *pCeltFetched = fetched;
657 return celt == fetched ? S_OK : S_FALSE;
658}
HRESULT hr
Definition: delayimp.cpp:582
@ VT_EMPTY
Definition: compat.h:2295
FxCollectionEntry * cur
#define FAILED(hr)
Definition: intsafe.h:51
static unsigned __int64 next
Definition: rand_nt.c:6
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
#define S_FALSE
Definition: winerror.h:3451
#define GW_HWNDNEXT
Definition: winuser.h:772
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
#define GW_CHILD
Definition: winuser.h:774

◆ Client_EnumVARIANT_QueryInterface()

static HRESULT WINAPI Client_EnumVARIANT_QueryInterface ( IEnumVARIANT iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 592 of file client.c.

593{
595 return IAccessible_QueryInterface(&This->IAccessible_iface, riid, ppv);
596}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

◆ Client_EnumVARIANT_Release()

static ULONG WINAPI Client_EnumVARIANT_Release ( IEnumVARIANT iface)
static

Definition at line 604 of file client.c.

605{
607 return IAccessible_Release(&This->IAccessible_iface);
608}

◆ Client_EnumVARIANT_Reset()

static HRESULT WINAPI Client_EnumVARIANT_Reset ( IEnumVARIANT iface)
static

Definition at line 682 of file client.c.

683{
685
686 TRACE("(%p)\n", This);
687
688 This->enum_pos = 0;
689 return S_OK;
690}

◆ Client_EnumVARIANT_Skip()

static HRESULT WINAPI Client_EnumVARIANT_Skip ( IEnumVARIANT iface,
ULONG  celt 
)
static

Definition at line 660 of file client.c.

661{
663 HWND next;
664
665 TRACE("(%p)->(%lu)\n", This, celt);
666
667 while(celt) {
668 if(!This->enum_pos)
669 next = GetWindow(This->hwnd, GW_CHILD);
670 else
671 next = GetWindow(This->enum_pos, GW_HWNDNEXT);
672 if(!next)
673 return S_FALSE;
674
675 This->enum_pos = next;
676 celt--;
677 }
678
679 return S_OK;
680}

◆ Client_get_accChild()

static HRESULT WINAPI Client_get_accChild ( IAccessible iface,
VARIANT  varChildID,
IDispatch **  ppdispChild 
)
static

Definition at line 209 of file client.c.

211{
212 Client *This = impl_from_Client(iface);
213
214 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&varChildID), ppdispChild);
215
216 *ppdispChild = NULL;
217 return E_INVALIDARG;
218}

◆ Client_get_accChildCount()

static HRESULT WINAPI Client_get_accChildCount ( IAccessible iface,
LONG pcountChildren 
)
static

Definition at line 195 of file client.c.

196{
197 Client *This = impl_from_Client(iface);
198 HWND cur;
199
200 TRACE("(%p)->(%p)\n", This, pcountChildren);
201
202 *pcountChildren = 0;
204 (*pcountChildren)++;
205
206 return S_OK;
207}

◆ Client_get_accDefaultAction()

static HRESULT WINAPI Client_get_accDefaultAction ( IAccessible iface,
VARIANT  varID,
BSTR pszDefaultAction 
)
static

Definition at line 395 of file client.c.

397{
398 Client *This = impl_from_Client(iface);
399
400 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&varID), pszDefaultAction);
401
402 *pszDefaultAction = NULL;
403 if(convert_child_id(&varID) != CHILDID_SELF)
404 return E_INVALIDARG;
405 return S_FALSE;
406}

◆ Client_get_accDescription()

static HRESULT WINAPI Client_get_accDescription ( IAccessible iface,
VARIANT  varID,
BSTR pszDescription 
)
static

Definition at line 251 of file client.c.

253{
254 Client *This = impl_from_Client(iface);
255
256 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&varID), pszDescription);
257
258 *pszDescription = NULL;
259 if(convert_child_id(&varID) != CHILDID_SELF)
260 return E_INVALIDARG;
261 return S_FALSE;
262}

◆ Client_get_accFocus()

static HRESULT WINAPI Client_get_accFocus ( IAccessible iface,
VARIANT focus 
)
static

Definition at line 355 of file client.c.

356{
357 Client *This = impl_from_Client(iface);
359
360 TRACE("(%p)->(%p)\n", This, focus);
361
362 V_VT(focus) = VT_EMPTY;
363 info.cbSize = sizeof(info);
364 if(GetGUIThreadInfo(0, &info) && info.hwndFocus) {
365 if(info.hwndFocus == This->hwnd) {
366 V_VT(focus) = VT_I4;
367 V_I4(focus) = CHILDID_SELF;
368 }
369 else if(IsChild(This->hwnd, info.hwndFocus)) {
370 IDispatch *disp;
371 HRESULT hr;
372
374 &IID_IDispatch, (void**)&disp);
375 if(FAILED(hr))
376 return hr;
377 if(!disp)
378 return E_FAIL;
379
380 V_VT(focus) = VT_DISPATCH;
381 V_DISPATCH(focus) = disp;
382 }
383 }
384
385 return S_OK;
386}
#define E_FAIL
Definition: ddrawi.h:102
BOOL WINAPI GetGUIThreadInfo(DWORD, LPGUITHREADINFO)
Definition: ntwrapper.h:398
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)

◆ Client_get_accHelp()

static HRESULT WINAPI Client_get_accHelp ( IAccessible iface,
VARIANT  varID,
BSTR pszHelp 
)
static

Definition at line 318 of file client.c.

319{
320 Client *This = impl_from_Client(iface);
321
322 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&varID), pszHelp);
323
324 *pszHelp = NULL;
325 if(convert_child_id(&varID) != CHILDID_SELF)
326 return E_INVALIDARG;
327 return S_FALSE;
328}

◆ Client_get_accHelpTopic()

static HRESULT WINAPI Client_get_accHelpTopic ( IAccessible iface,
BSTR pszHelpFile,
VARIANT  varID,
LONG pidTopic 
)
static

Definition at line 330 of file client.c.

332{
333 Client *This = impl_from_Client(iface);
334 FIXME("(%p)->(%p %s %p)\n", This, pszHelpFile, debugstr_variant(&varID), pidTopic);
335 return E_NOTIMPL;
336}

◆ Client_get_accKeyboardShortcut()

static HRESULT WINAPI Client_get_accKeyboardShortcut ( IAccessible iface,
VARIANT  id,
BSTR shortcut 
)
static

Definition at line 338 of file client.c.

340{
341 Client *This = impl_from_Client(iface);
342
343 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&id), shortcut);
344
345 *shortcut = NULL;
346 if(This->vtbl && This->vtbl->get_kbd_shortcut)
347 return This->vtbl->get_kbd_shortcut(This, id, shortcut);
348
350 return E_INVALIDARG;
351
352 return win_get_kbd_shortcut(This->hwnd, shortcut);
353}
static HRESULT win_get_kbd_shortcut(HWND hwnd, BSTR *shortcut)
Definition: client.c:76

◆ Client_get_accName()

static HRESULT WINAPI Client_get_accName ( IAccessible iface,
VARIANT  id,
BSTR name 
)
static

Definition at line 220 of file client.c.

221{
222 Client *This = impl_from_Client(iface);
223
224 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&id), name);
225
226 *name = NULL;
227 if(This->vtbl && This->vtbl->get_name)
228 return This->vtbl->get_name(This, id, name);
229
230 if(convert_child_id(&id) != CHILDID_SELF || !IsWindow(This->hwnd))
231 return E_INVALIDARG;
232
233 return win_get_name(This->hwnd, name);
234}
static HRESULT win_get_name(HWND hwnd, BSTR *name)
Definition: client.c:55
Definition: name.c:39
BOOL WINAPI IsWindow(_In_opt_ HWND)

◆ Client_get_accParent()

static HRESULT WINAPI Client_get_accParent ( IAccessible iface,
IDispatch **  ppdispParent 
)
static

Definition at line 185 of file client.c.

186{
187 Client *This = impl_from_Client(iface);
188
189 TRACE("(%p)->(%p)\n", This, ppdispParent);
190
192 &IID_IDispatch, (void**)ppdispParent);
193}

◆ Client_get_accRole()

static HRESULT WINAPI Client_get_accRole ( IAccessible iface,
VARIANT  varID,
VARIANT pvarRole 
)
static

Definition at line 264 of file client.c.

265{
266 Client *This = impl_from_Client(iface);
267
268 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&varID), pvarRole);
269
270 if(convert_child_id(&varID) != CHILDID_SELF) {
271 V_VT(pvarRole) = VT_EMPTY;
272 return E_INVALIDARG;
273 }
274
275 V_VT(pvarRole) = VT_I4;
276 V_I4(pvarRole) = This->role;
277 return S_OK;
278}

◆ Client_get_accSelection()

static HRESULT WINAPI Client_get_accSelection ( IAccessible iface,
VARIANT pvarID 
)
static

Definition at line 388 of file client.c.

389{
390 Client *This = impl_from_Client(iface);
391 FIXME("(%p)->(%p)\n", This, pvarID);
392 return E_NOTIMPL;
393}

◆ Client_get_accState()

static HRESULT WINAPI Client_get_accState ( IAccessible iface,
VARIANT  id,
VARIANT state 
)
static

Definition at line 307 of file client.c.

308{
309 Client *This = impl_from_Client(iface);
310
311 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&id), state);
312
313 if(This->vtbl && This->vtbl->get_state)
314 return This->vtbl->get_state(This, id, state);
315 return client_get_state(This, id, state);
316}
static int state
Definition: maze.c:121
static HRESULT client_get_state(Client *client, VARIANT id, VARIANT *state)
Definition: client.c:280

◆ Client_get_accValue()

static HRESULT WINAPI Client_get_accValue ( IAccessible iface,
VARIANT  id,
BSTR value 
)
static

Definition at line 236 of file client.c.

237{
238 Client *This = impl_from_Client(iface);
239
240 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&id), value);
241
242 *value = NULL;
243 if(This->vtbl && This->vtbl->get_value)
244 return This->vtbl->get_value(This, id, value);
245
247 return E_INVALIDARG;
248 return S_FALSE;
249}
Definition: pdh_main.c:96

◆ client_get_state()

static HRESULT client_get_state ( Client client,
VARIANT  id,
VARIANT state 
)
static

Definition at line 280 of file client.c.

281{
283 LONG style;
284
285 if(convert_child_id(&id) != CHILDID_SELF) {
287 return E_INVALIDARG;
288 }
289
290 V_VT(state) = VT_I4;
291 V_I4(state) = 0;
292
294 if(style & WS_DISABLED)
296 else if(IsWindow(client->hwnd))
298
299 info.cbSize = sizeof(info);
300 if(GetGUIThreadInfo(0, &info) && info.hwndFocus == client->hwnd)
302 if(!(style & WS_VISIBLE))
304 return S_OK;
305}
Arabic default style
Definition: afstyles.h:94
#define WS_VISIBLE
Definition: pedump.c:620
long LONG
Definition: pedump.c:60
#define WS_DISABLED
Definition: pedump.c:621
static FILE * client
Definition: client.c:37
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
#define STATE_SYSTEM_FOCUSED
Definition: winuser.h:2971
#define STATE_SYSTEM_FOCUSABLE
Definition: winuser.h:2989
#define STATE_SYSTEM_INVISIBLE
Definition: winuser.h:2984
#define STATE_SYSTEM_UNAVAILABLE
Definition: winuser.h:2969
#define GWL_STYLE
Definition: winuser.h:863

Referenced by Client_get_accState(), and edit_get_state().

◆ Client_GetIDsOfNames()

static HRESULT WINAPI Client_GetIDsOfNames ( IAccessible iface,
REFIID  riid,
LPOLESTR *  rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 166 of file client.c.

168{
169 Client *This = impl_from_Client(iface);
170 FIXME("(%p)->(%s %p %u %lx %p)\n", This, debugstr_guid(riid),
171 rgszNames, cNames, lcid, rgDispId);
172 return E_NOTIMPL;
173}
LCID lcid
Definition: locale.c:5660
#define debugstr_guid
Definition: kernel32.h:35

◆ Client_GetTypeInfo()

static HRESULT WINAPI Client_GetTypeInfo ( IAccessible iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 158 of file client.c.

160{
161 Client *This = impl_from_Client(iface);
162 FIXME("(%p)->(%u %lx %p)\n", This, iTInfo, lcid, ppTInfo);
163 return E_NOTIMPL;
164}

◆ Client_GetTypeInfoCount()

static HRESULT WINAPI Client_GetTypeInfoCount ( IAccessible iface,
UINT pctinfo 
)
static

Definition at line 151 of file client.c.

152{
153 Client *This = impl_from_Client(iface);
154 FIXME("(%p)->(%p)\n", This, pctinfo);
155 return E_NOTIMPL;
156}

◆ Client_Invoke()

static HRESULT WINAPI Client_Invoke ( IAccessible iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 175 of file client.c.

178{
179 Client *This = impl_from_Client(iface);
180 FIXME("(%p)->(%lx %s %lx %x %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid),
181 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
182 return E_NOTIMPL;
183}
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ Client_OleWindow_AddRef()

static ULONG WINAPI Client_OleWindow_AddRef ( IOleWindow iface)
static

Definition at line 550 of file client.c.

551{
553 return IAccessible_AddRef(&This->IAccessible_iface);
554}
static Client * impl_from_Client_OleWindow(IOleWindow *iface)
Definition: client.c:539

◆ Client_OleWindow_ContextSensitiveHelp()

static HRESULT WINAPI Client_OleWindow_ContextSensitiveHelp ( IOleWindow iface,
BOOL  fEnterMode 
)
static

Definition at line 572 of file client.c.

573{
575 FIXME("(%p)->(%x)\n", This, fEnterMode);
576 return E_NOTIMPL;
577}

◆ Client_OleWindow_GetWindow()

static HRESULT WINAPI Client_OleWindow_GetWindow ( IOleWindow iface,
HWND phwnd 
)
static

Definition at line 562 of file client.c.

563{
565
566 TRACE("(%p)->(%p)\n", This, phwnd);
567
568 *phwnd = This->hwnd;
569 return S_OK;
570}

◆ Client_OleWindow_QueryInterface()

static HRESULT WINAPI Client_OleWindow_QueryInterface ( IOleWindow iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 544 of file client.c.

545{
547 return IAccessible_QueryInterface(&This->IAccessible_iface, riid, ppv);
548}

◆ Client_OleWindow_Release()

static ULONG WINAPI Client_OleWindow_Release ( IOleWindow iface)
static

Definition at line 556 of file client.c.

557{
559 return IAccessible_Release(&This->IAccessible_iface);
560}

◆ Client_put_accName()

static HRESULT WINAPI Client_put_accName ( IAccessible iface,
VARIANT  varID,
BSTR  pszName 
)
static

Definition at line 487 of file client.c.

488{
489 Client *This = impl_from_Client(iface);
490 FIXME("(%p)->(%s %s)\n", This, debugstr_variant(&varID), debugstr_w(pszName));
491 return E_NOTIMPL;
492}
#define debugstr_w
Definition: kernel32.h:32

◆ Client_put_accValue()

static HRESULT WINAPI Client_put_accValue ( IAccessible iface,
VARIANT  id,
BSTR  value 
)
static

Definition at line 494 of file client.c.

495{
496 Client *This = impl_from_Client(iface);
497
498 TRACE("(%p)->(%s %p)\n", This, debugstr_variant(&id), value);
499
500 if(This->vtbl && This->vtbl->put_value)
501 return This->vtbl->put_value(This, id, value);
502
504 return E_INVALIDARG;
505 return S_FALSE;
506}

◆ Client_QueryInterface()

static HRESULT WINAPI Client_QueryInterface ( IAccessible iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 104 of file client.c.

105{
106 Client *This = impl_from_Client(iface);
107
108 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
109
110 if(IsEqualIID(riid, &IID_IAccessible) ||
113 *ppv = iface;
114 }else if(IsEqualIID(riid, &IID_IOleWindow)) {
115 *ppv = &This->IOleWindow_iface;
116 }else if(IsEqualIID(riid, &IID_IEnumVARIANT)) {
117 *ppv = &This->IEnumVARIANT_iface;
118 }else if(IsEqualIID(riid, &IID_IServiceProvider)) {
119 *ppv = &This->IServiceProvider_iface;
120 }else {
121 WARN("no interface: %s\n", debugstr_guid(riid));
122 *ppv = NULL;
123 return E_NOINTERFACE;
124 }
125
126 IAccessible_AddRef(iface);
127 return S_OK;
128}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
const GUID IID_IOleWindow
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ Client_Release()

static ULONG WINAPI Client_Release ( IAccessible iface)
static

Definition at line 139 of file client.c.

140{
141 Client *This = impl_from_Client(iface);
143
144 TRACE("(%p) ref = %lu\n", This, ref);
145
146 if(!ref)
148 return ref;
149}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define InterlockedDecrement
Definition: armddk.h:52

◆ Client_ServiceProvider_AddRef()

static ULONG WINAPI Client_ServiceProvider_AddRef ( IServiceProvider iface)
static

Definition at line 720 of file client.c.

721{
723 return IAccessible_AddRef(&This->IAccessible_iface);
724}
static Client * impl_from_Client_ServiceProvider(IServiceProvider *iface)
Definition: client.c:709

◆ Client_ServiceProvider_QueryInterface()

static HRESULT WINAPI Client_ServiceProvider_QueryInterface ( IServiceProvider iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 714 of file client.c.

715{
717 return IAccessible_QueryInterface(&This->IAccessible_iface, riid, ppv);
718}

◆ Client_ServiceProvider_QueryService()

static HRESULT WINAPI Client_ServiceProvider_QueryService ( IServiceProvider iface,
REFGUID  guid_service,
REFIID  riid,
void **  ppv 
)
static

Definition at line 732 of file client.c.

734{
736
737 TRACE("(%p)->(%s %s %p)\n", This, debugstr_guid(guid_service), debugstr_guid(riid), ppv);
738
739 *ppv = NULL;
740 if (IsEqualIID(guid_service, &IIS_IsOleaccProxy))
741 return IAccessible_QueryInterface(&This->IAccessible_iface, riid, ppv);
742
743 return E_INVALIDARG;
744}

◆ Client_ServiceProvider_Release()

static ULONG WINAPI Client_ServiceProvider_Release ( IServiceProvider iface)
static

Definition at line 726 of file client.c.

727{
729 return IAccessible_Release(&This->IAccessible_iface);
730}

◆ create_client_object()

HRESULT create_client_object ( HWND  hwnd,
const IID iid,
void **  obj 
)

Definition at line 904 of file client.c.

905{
906 const struct win_class_data *data;
907 Client *client;
908 HRESULT hres = S_OK;
909
910 if(!IsWindow(hwnd))
911 return E_FAIL;
912
913 client = heap_alloc_zero(sizeof(Client));
914 if(!client)
915 return E_OUTOFMEMORY;
916
918
919 client->IAccessible_iface.lpVtbl = &ClientVtbl;
920 client->IOleWindow_iface.lpVtbl = &ClientOleWindowVtbl;
921 client->IEnumVARIANT_iface.lpVtbl = &ClientEnumVARIANTVtbl;
922 client->IServiceProvider_iface.lpVtbl = &ClientServiceProviderVtbl;
923 client->ref = 1;
924 client->hwnd = hwnd;
925 client->enum_pos = 0;
926 client->role = ROLE_SYSTEM_CLIENT;
927
928 if(data)
929 client->vtbl = data->vtbl;
930 if(client->vtbl && client->vtbl->init)
931 client->vtbl->init(client);
932
933 hres = IAccessible_QueryInterface(&client->IAccessible_iface, iid, obj);
934 IAccessible_Release(&client->IAccessible_iface);
935 return hres;
936}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const IServiceProviderVtbl ClientServiceProviderVtbl
Definition: client.c:746
static const IAccessibleVtbl ClientVtbl
Definition: client.c:508
static const struct win_class_data classes[]
Definition: client.c:872
static const IOleWindowVtbl ClientOleWindowVtbl
Definition: client.c:579
static const IEnumVARIANTVtbl ClientEnumVARIANTVtbl
Definition: client.c:699
const struct win_class_data * find_class_data(HWND hwnd, const struct win_class_data *classes)
Definition: main.c:59
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
HRESULT hres
Definition: protocol.c:465
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Referenced by CreateStdAccessibleObject().

◆ edit_find_label()

static HWND edit_find_label ( HWND  hwnd,
BOOL  visible 
)
static

Definition at line 783 of file client.c.

784{
785 HWND cur;
786
787 for(cur = hwnd; cur; cur = GetWindow(cur, GW_HWNDPREV)) {
788 WCHAR class_name[64];
789
790 if(!RealGetWindowClassW(cur, class_name, ARRAY_SIZE(class_name)))
791 continue;
792
793 if(!wcsicmp(class_name, WC_STATICW)) {
794 if(visible && !(GetWindowLongW(cur, GWL_STYLE) & WS_VISIBLE))
795 continue;
796 else
797 break;
798 }
799 }
800
801 return cur;
802}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define wcsicmp
Definition: compat.h:15
short WCHAR
Definition: pedump.c:58
#define WC_STATICW
Definition: commctrl.h:4685
UINT WINAPI RealGetWindowClassW(_In_ HWND hwnd, _Out_writes_to_(cchClassNameMax, return) LPWSTR ptszClassName, _In_ UINT cchClassNameMax)
#define GW_HWNDPREV
Definition: winuser.h:773

Referenced by edit_get_kbd_shortcut(), and edit_get_name().

◆ edit_get_kbd_shortcut()

static HRESULT edit_get_kbd_shortcut ( Client client,
VARIANT  id,
BSTR shortcut 
)
static

Definition at line 818 of file client.c.

819{
820 HWND label;
821
823 return E_INVALIDARG;
824
826 if(!label)
827 return S_FALSE;
828
829 return win_get_kbd_shortcut(label, shortcut);
830}
#define TRUE
Definition: types.h:120
static HWND edit_find_label(HWND hwnd, BOOL visible)
Definition: client.c:783
static const WCHAR label[]
Definition: itemdlg.c:1546

◆ edit_get_name()

static HRESULT edit_get_name ( Client client,
VARIANT  id,
BSTR name 
)
static

Definition at line 804 of file client.c.

805{
806 HWND label;
807
808 if(convert_child_id(&id) != CHILDID_SELF || !IsWindow(client->hwnd))
809 return E_INVALIDARG;
810
812 if(!label)
813 return S_FALSE;
814
815 return win_get_name(label, name);
816}
#define FALSE
Definition: types.h:117

◆ edit_get_state()

static HRESULT edit_get_state ( Client client,
VARIANT  id,
VARIANT state 
)
static

Definition at line 758 of file client.c.

759{
761 LONG style;
762
764 if(FAILED(hres))
765 return hres;
766
767 assert(V_VT(state) == VT_I4);
768
770 if(style & ES_READONLY)
772 if(style & ES_PASSWORD)
774 return S_OK;
775}
#define assert(_expr)
Definition: assert.h:32
#define ES_PASSWORD
Definition: pedump.c:670
#define ES_READONLY
Definition: pedump.c:675
#define STATE_SYSTEM_READONLY
Definition: winuser.h:2975
#define STATE_SYSTEM_PROTECTED
Definition: winuser.h:2998

◆ edit_get_value()

static HRESULT edit_get_value ( Client client,
VARIANT  id,
BSTR value_out 
)
static

Definition at line 832 of file client.c.

833{
834 WCHAR *buf;
835 UINT len;
836
838 return E_INVALIDARG;
839
841 return E_ACCESSDENIED;
842
843 len = SendMessageW(client->hwnd, WM_GETTEXTLENGTH, 0, 0);
844 buf = heap_alloc_zero((len + 1) * sizeof(*buf));
845 if(!buf)
846 return E_OUTOFMEMORY;
847
849 *value_out = SysAllocString(buf);
850 heap_free(buf);
851 return S_OK;
852}
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLenum GLsizei len
Definition: glext.h:6722
unsigned int UINT
Definition: sysinfo.c:13
LONG_PTR LPARAM
Definition: minwindef.h:175
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
#define E_ACCESSDENIED
Definition: winerror.h:4116
#define WM_GETTEXTLENGTH
Definition: winuser.h:1647
#define WM_GETTEXT
Definition: winuser.h:1646
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

◆ edit_init()

static void edit_init ( Client client)
static

Definition at line 753 of file client.c.

754{
755 client->role = ROLE_SYSTEM_TEXT;
756}

◆ edit_put_value()

static HRESULT edit_put_value ( Client client,
VARIANT  id,
BSTR  value 
)
static

Definition at line 854 of file client.c.

855{
856 if(convert_child_id(&id) != CHILDID_SELF || !IsWindow(client->hwnd))
857 return E_INVALIDARG;
858
860 return S_OK;
861}
#define WM_SETTEXT
Definition: winuser.h:1645

◆ impl_from_Client()

◆ impl_from_Client_EnumVARIANT()

static Client * impl_from_Client_EnumVARIANT ( IEnumVARIANT iface)
inlinestatic

◆ impl_from_Client_OleWindow()

static Client * impl_from_Client_OleWindow ( IOleWindow iface)
inlinestatic

◆ impl_from_Client_ServiceProvider()

static Client * impl_from_Client_ServiceProvider ( IServiceProvider iface)
inlinestatic

◆ win_get_kbd_shortcut()

static HRESULT win_get_kbd_shortcut ( HWND  hwnd,
BSTR shortcut 
)
static

Definition at line 76 of file client.c.

77{
78 WCHAR buf[1024];
79 UINT i, len;
80
82 if(!len)
83 return S_FALSE;
84
85 for(i=0; i<len; i++) {
86 if(buf[i] == '&')
87 break;
88 }
89 if(i+1 >= len)
90 return S_FALSE;
91
92 *shortcut = SysAllocString(L"Alt+!");
93 if(!*shortcut)
94 return E_OUTOFMEMORY;
95 (*shortcut)[4] = buf[i+1];
96 return S_OK;
97}
#define L(x)
Definition: resources.c:13
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Referenced by Client_get_accKeyboardShortcut(), and edit_get_kbd_shortcut().

◆ win_get_name()

static HRESULT win_get_name ( HWND  hwnd,
BSTR name 
)
static

Definition at line 55 of file client.c.

56{
57 WCHAR buf[1024];
58 UINT i, len;
59
61 if(!len)
62 return S_FALSE;
63
64 for(i=0; i<len; i++) {
65 if(buf[i] == '&') {
66 len--;
67 memmove(buf+i, buf+i+1, (len-i)*sizeof(WCHAR));
68 break;
69 }
70 }
71
73 return *name ? S_OK : E_OUTOFMEMORY;
74}
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339

Referenced by Client_get_accName(), and edit_get_name().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( oleacc  )

Variable Documentation

◆ classes

◆ ClientEnumVARIANTVtbl

const IEnumVARIANTVtbl ClientEnumVARIANTVtbl
static
Initial value:
= {
}
static ULONG WINAPI Client_EnumVARIANT_Release(IEnumVARIANT *iface)
Definition: client.c:604
static HRESULT WINAPI Client_EnumVARIANT_Skip(IEnumVARIANT *iface, ULONG celt)
Definition: client.c:660
static HRESULT WINAPI Client_EnumVARIANT_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
Definition: client.c:592
static HRESULT WINAPI Client_EnumVARIANT_Reset(IEnumVARIANT *iface)
Definition: client.c:682
static HRESULT WINAPI Client_EnumVARIANT_Next(IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
Definition: client.c:610
static HRESULT WINAPI Client_EnumVARIANT_Clone(IEnumVARIANT *iface, IEnumVARIANT **ppEnum)
Definition: client.c:692
static ULONG WINAPI Client_EnumVARIANT_AddRef(IEnumVARIANT *iface)
Definition: client.c:598

Definition at line 699 of file client.c.

Referenced by create_client_object().

◆ ClientOleWindowVtbl

const IOleWindowVtbl ClientOleWindowVtbl
static
Initial value:
= {
}
static ULONG WINAPI Client_OleWindow_Release(IOleWindow *iface)
Definition: client.c:556
static HRESULT WINAPI Client_OleWindow_QueryInterface(IOleWindow *iface, REFIID riid, void **ppv)
Definition: client.c:544
static HRESULT WINAPI Client_OleWindow_ContextSensitiveHelp(IOleWindow *iface, BOOL fEnterMode)
Definition: client.c:572
static ULONG WINAPI Client_OleWindow_AddRef(IOleWindow *iface)
Definition: client.c:550
static HRESULT WINAPI Client_OleWindow_GetWindow(IOleWindow *iface, HWND *phwnd)
Definition: client.c:562

Definition at line 579 of file client.c.

Referenced by create_client_object().

◆ ClientServiceProviderVtbl

const IServiceProviderVtbl ClientServiceProviderVtbl
static
Initial value:
= {
}
static HRESULT WINAPI Client_ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guid_service, REFIID riid, void **ppv)
Definition: client.c:732
static ULONG WINAPI Client_ServiceProvider_AddRef(IServiceProvider *iface)
Definition: client.c:720
static ULONG WINAPI Client_ServiceProvider_Release(IServiceProvider *iface)
Definition: client.c:726
static HRESULT WINAPI Client_ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
Definition: client.c:714

Definition at line 746 of file client.c.

Referenced by create_client_object().

◆ ClientVtbl

const IAccessibleVtbl ClientVtbl
static
Initial value:
= {
}
static HRESULT WINAPI Client_get_accSelection(IAccessible *iface, VARIANT *pvarID)
Definition: client.c:388
static HRESULT WINAPI Client_get_accChild(IAccessible *iface, VARIANT varChildID, IDispatch **ppdispChild)
Definition: client.c:209
static HRESULT WINAPI Client_accHitTest(IAccessible *iface, LONG xLeft, LONG yTop, VARIANT *pvarID)
Definition: client.c:454
static HRESULT WINAPI Client_get_accKeyboardShortcut(IAccessible *iface, VARIANT id, BSTR *shortcut)
Definition: client.c:338
static HRESULT WINAPI Client_GetTypeInfo(IAccessible *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: client.c:158
static HRESULT WINAPI Client_get_accHelpTopic(IAccessible *iface, BSTR *pszHelpFile, VARIANT varID, LONG *pidTopic)
Definition: client.c:330
static ULONG WINAPI Client_AddRef(IAccessible *iface)
Definition: client.c:130
static HRESULT WINAPI Client_accNavigate(IAccessible *iface, LONG navDir, VARIANT varStart, VARIANT *pvarEnd)
Definition: client.c:446
static HRESULT WINAPI Client_get_accFocus(IAccessible *iface, VARIANT *focus)
Definition: client.c:355
static HRESULT WINAPI Client_get_accParent(IAccessible *iface, IDispatch **ppdispParent)
Definition: client.c:185
static HRESULT WINAPI Client_put_accValue(IAccessible *iface, VARIANT id, BSTR value)
Definition: client.c:494
static HRESULT WINAPI Client_accDoDefaultAction(IAccessible *iface, VARIANT varID)
Definition: client.c:480
static HRESULT WINAPI Client_get_accChildCount(IAccessible *iface, LONG *pcountChildren)
Definition: client.c:195
static HRESULT WINAPI Client_QueryInterface(IAccessible *iface, REFIID riid, void **ppv)
Definition: client.c:104
static HRESULT WINAPI Client_get_accDescription(IAccessible *iface, VARIANT varID, BSTR *pszDescription)
Definition: client.c:251
static HRESULT WINAPI Client_GetTypeInfoCount(IAccessible *iface, UINT *pctinfo)
Definition: client.c:151
static ULONG WINAPI Client_Release(IAccessible *iface)
Definition: client.c:139
static HRESULT WINAPI Client_GetIDsOfNames(IAccessible *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: client.c:166
static HRESULT WINAPI Client_get_accHelp(IAccessible *iface, VARIANT varID, BSTR *pszHelp)
Definition: client.c:318
static HRESULT WINAPI Client_accSelect(IAccessible *iface, LONG flagsSelect, VARIANT varID)
Definition: client.c:408
static HRESULT WINAPI Client_accLocation(IAccessible *iface, LONG *pxLeft, LONG *pyTop, LONG *pcxWidth, LONG *pcyHeight, VARIANT varID)
Definition: client.c:415
static HRESULT WINAPI Client_get_accValue(IAccessible *iface, VARIANT id, BSTR *value)
Definition: client.c:236
static HRESULT WINAPI Client_get_accRole(IAccessible *iface, VARIANT varID, VARIANT *pvarRole)
Definition: client.c:264
static HRESULT WINAPI Client_get_accName(IAccessible *iface, VARIANT id, BSTR *name)
Definition: client.c:220
static HRESULT WINAPI Client_get_accDefaultAction(IAccessible *iface, VARIANT varID, BSTR *pszDefaultAction)
Definition: client.c:395
static HRESULT WINAPI Client_put_accName(IAccessible *iface, VARIANT varID, BSTR pszName)
Definition: client.c:487
static HRESULT WINAPI Client_Invoke(IAccessible *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: client.c:175
static HRESULT WINAPI Client_get_accState(IAccessible *iface, VARIANT id, VARIANT *state)
Definition: client.c:307

Definition at line 508 of file client.c.

Referenced by create_client_object().

◆ edit_vtbl

const win_class_vtbl edit_vtbl
static
Initial value:
= {
}
static void edit_init(Client *client)
Definition: client.c:753
static HRESULT edit_get_state(Client *client, VARIANT id, VARIANT *state)
Definition: client.c:758
static HRESULT edit_get_name(Client *client, VARIANT id, BSTR *name)
Definition: client.c:804
static HRESULT edit_put_value(Client *client, VARIANT id, BSTR value)
Definition: client.c:854
static HRESULT edit_get_value(Client *client, VARIANT id, BSTR *value_out)
Definition: client.c:832
static HRESULT edit_get_kbd_shortcut(Client *client, VARIANT id, BSTR *shortcut)
Definition: client.c:818

Definition at line 863 of file client.c.