ReactOS 0.4.16-dev-2491-g3dc6630
uia_main.c File Reference
#include "combaseapi.h"
#include "initguid.h"
#include "uia_private.h"
#include "wine/debug.h"
Include dependency graph for uia_main.c:

Go to the source code of this file.

Classes

struct  uia_object_wrapper
 
struct  hwnd_host_provider
 
struct  uia_cf
 

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (uiautomation)
 
static struct uia_object_wrapperimpl_uia_object_wrapper_from_IUnknown (IUnknown *iface)
 
static HRESULT WINAPI uia_object_wrapper_QueryInterface (IUnknown *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI uia_object_wrapper_AddRef (IUnknown *iface)
 
static ULONG WINAPI uia_object_wrapper_Release (IUnknown *iface)
 
static HRESULT create_uia_object_wrapper (IUnknown *reserved, void **ppv)
 
static HRESULT WINAPI uia_reserved_obj_QueryInterface (IUnknown *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI uia_reserved_obj_AddRef (IUnknown *iface)
 
static ULONG WINAPI uia_reserved_obj_Release (IUnknown *iface)
 
static struct hwnd_host_providerimpl_from_hwnd_host_provider (IRawElementProviderSimple *iface)
 
HRESULT WINAPI hwnd_host_provider_QueryInterface (IRawElementProviderSimple *iface, REFIID riid, void **ppv)
 
ULONG WINAPI hwnd_host_provider_AddRef (IRawElementProviderSimple *iface)
 
ULONG WINAPI hwnd_host_provider_Release (IRawElementProviderSimple *iface)
 
HRESULT WINAPI hwnd_host_provider_get_ProviderOptions (IRawElementProviderSimple *iface, enum ProviderOptions *ret_val)
 
HRESULT WINAPI hwnd_host_provider_GetPatternProvider (IRawElementProviderSimple *iface, PATTERNID pattern_id, IUnknown **ret_val)
 
HRESULT WINAPI hwnd_host_provider_GetPropertyValue (IRawElementProviderSimple *iface, PROPERTYID prop_id, VARIANT *ret_val)
 
HRESULT WINAPI hwnd_host_provider_get_HostRawElementProvider (IRawElementProviderSimple *iface, IRawElementProviderSimple **ret_val)
 
BOOL WINAPI UiaClientsAreListening (void)
 
HRESULT WINAPI UiaGetReservedMixedAttributeValue (IUnknown **value)
 
HRESULT WINAPI UiaGetReservedNotSupportedValue (IUnknown **value)
 
HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent (IRawElementProviderSimple *provider, PROPERTYID id, VARIANT old, VARIANT new)
 
HRESULT WINAPI UiaRaiseStructureChangedEvent (IRawElementProviderSimple *provider, enum StructureChangeType struct_change_type, int *runtime_id, int runtime_id_len)
 
HRESULT WINAPI UiaRaiseAsyncContentLoadedEvent (IRawElementProviderSimple *provider, enum AsyncContentLoadedState async_content_loaded_state, double percent_complete)
 
HRESULT WINAPI UiaRaiseTextEditTextChangedEvent (IRawElementProviderSimple *provider, enum TextEditChangeType text_edit_change_type, SAFEARRAY *changed_data)
 
HRESULT WINAPI UiaRaiseNotificationEvent (IRawElementProviderSimple *provider, enum NotificationKind notification_kind, enum NotificationProcessing notification_processing, BSTR display_str, BSTR activity_id)
 
HRESULT WINAPI UiaRaiseChangesEvent (IRawElementProviderSimple *provider, int event_id_count, struct UiaChangeInfo *uia_changes)
 
HRESULT WINAPI UiaHostProviderFromHwnd (HWND hwnd, IRawElementProviderSimple **provider)
 
BOOL WINAPI DllMain (HINSTANCE hinst, DWORD reason, void *reserved)
 
static struct uia_cfimpl_from_IClassFactory (IClassFactory *iface)
 
static HRESULT WINAPI uia_cf_QueryInterface (IClassFactory *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI uia_cf_AddRef (IClassFactory *iface)
 
static ULONG WINAPI uia_cf_Release (IClassFactory *iface)
 
static HRESULT WINAPI uia_cf_CreateInstance (IClassFactory *iface, IUnknown *pouter, REFIID riid, void **ppv)
 
static HRESULT WINAPI uia_cf_LockServer (IClassFactory *iface, BOOL do_lock)
 
static HRESULT create_uia_cf (REFCLSID clsid, REFIID riid, void **ppv)
 
HRESULT WINAPI DllGetClassObject (REFCLSID clsid, REFIID riid, void **ppv)
 

Variables

HMODULE huia_module
 
static const IUnknownVtbl uia_object_wrapper_vtbl
 
static const IUnknownVtbl uia_reserved_obj_vtbl
 
static IUnknown uia_reserved_ns_iface = {&uia_reserved_obj_vtbl}
 
static IUnknown uia_reserved_ma_iface = {&uia_reserved_obj_vtbl}
 
static const IRawElementProviderSimpleVtbl hwnd_host_provider_vtbl
 
static const IClassFactoryVtbl uia_cf_Vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file uia_main.c.

Function Documentation

◆ create_uia_cf()

static HRESULT create_uia_cf ( REFCLSID  clsid,
REFIID  riid,
void **  ppv 
)
inlinestatic

Definition at line 497 of file uia_main.c.

498{
499 struct uia_cf *cf = calloc(1, sizeof(*cf));
500 HRESULT hr;
501
502 *ppv = NULL;
503 if (!cf)
504 return E_OUTOFMEMORY;
505
507 cf->clsid = clsid;
508 cf->ref = 1;
509
510 hr = IClassFactory_QueryInterface(&cf->IClassFactory_iface, riid, ppv);
511 IClassFactory_Release(&cf->IClassFactory_iface);
512
513 return hr;
514}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:573
#define NULL
Definition: types.h:112
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
const CLSID * clsid
Definition: msctf.cpp:50
#define calloc
Definition: rosglue.h:14
IClassFactory IClassFactory_iface
Definition: inetcomm_main.c:76
static const IClassFactoryVtbl uia_cf_Vtbl
Definition: uia_main.c:488

Referenced by DllGetClassObject().

◆ create_uia_object_wrapper()

static HRESULT create_uia_object_wrapper ( IUnknown reserved,
void **  ppv 
)
static

Definition at line 88 of file uia_main.c.

89{
90 struct uia_object_wrapper *wrapper;
91 HRESULT hr;
92
93 TRACE("%p, %p\n", reserved, ppv);
94
95 wrapper = calloc(1, sizeof(*wrapper));
96 if (!wrapper)
97 return E_OUTOFMEMORY;
98
99 wrapper->IUnknown_iface.lpVtbl = &uia_object_wrapper_vtbl;
100 wrapper->marshal_object = reserved;
101 wrapper->refcount = 1;
102
104 {
105 free(wrapper);
106 return hr;
107 }
108
109 hr = IUnknown_QueryInterface(wrapper->marshaler, &IID_IMarshal, ppv);
110 IUnknown_Release(&wrapper->IUnknown_iface);
111
112 return hr;
113}
#define free
Definition: debug_ros.c:5
HRESULT WINAPI CoCreateFreeThreadedMarshaler(IUnknown *outer, IUnknown **marshaler)
Definition: marshal.c:417
r reserved
Definition: btrfs.c:3006
#define FAILED(hr)
Definition: intsafe.h:51
#define TRACE(s)
Definition: solgame.cpp:4
IUnknown IUnknown_iface
Definition: uia_main.c:33
IUnknown * marshaler
Definition: uia_main.c:36
IUnknown * marshal_object
Definition: uia_main.c:37
static const IUnknownVtbl uia_object_wrapper_vtbl
Definition: uia_main.c:77

Referenced by uia_reserved_obj_QueryInterface().

◆ DllGetClassObject()

HRESULT WINAPI DllGetClassObject ( REFCLSID  clsid,
REFIID  riid,
void **  ppv 
)

Definition at line 519 of file uia_main.c.

520{
521 TRACE("(%s, %s, %p)\n", debugstr_guid(clsid), debugstr_guid(riid), ppv);
522
523 if (IsEqualGUID(clsid, &CLSID_CUIAutomation) || IsEqualGUID(clsid, &CLSID_CUIAutomation8))
524 return create_uia_cf(clsid, riid, ppv);
525
527}
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
static HRESULT create_uia_cf(REFCLSID clsid, REFIID riid, void **ppv)
Definition: uia_main.c:497
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:3772

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinst,
DWORD  reason,
void reserved 
)

Definition at line 388 of file uia_main.c.

389{
390 TRACE("(%p, %ld, %p)\n", hinst, reason, reserved);
391
392 switch (reason)
393 {
397 break;
398
399 default:
400 break;
401 }
402
403 return TRUE;
404}
#define TRUE
Definition: types.h:120
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1904
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static HINSTANCE hinst
Definition: edit.c:551
HMODULE huia_module
Definition: uia_main.c:29

◆ hwnd_host_provider_AddRef()

ULONG WINAPI hwnd_host_provider_AddRef ( IRawElementProviderSimple *  iface)

Definition at line 178 of file uia_main.c.

179{
180 struct hwnd_host_provider *host_prov = impl_from_hwnd_host_provider(iface);
182
183 TRACE("%p, refcount %ld\n", iface, refcount);
184
185 return refcount;
186}
#define InterlockedIncrement
Definition: armddk.h:53
uint32_t ULONG
Definition: typedefs.h:59
static struct hwnd_host_provider * impl_from_hwnd_host_provider(IRawElementProviderSimple *iface)
Definition: uia_main.c:161

◆ hwnd_host_provider_get_HostRawElementProvider()

HRESULT WINAPI hwnd_host_provider_get_HostRawElementProvider ( IRawElementProviderSimple *  iface,
IRawElementProviderSimple **  ret_val 
)

Definition at line 244 of file uia_main.c.

246{
247 TRACE("%p, %p\n", iface, ret_val);
248 *ret_val = NULL;
249 return S_OK;
250}
#define S_OK
Definition: intsafe.h:52

◆ hwnd_host_provider_get_ProviderOptions()

HRESULT WINAPI hwnd_host_provider_get_ProviderOptions ( IRawElementProviderSimple *  iface,
enum ProviderOptions ret_val 
)

Definition at line 201 of file uia_main.c.

203{
204 TRACE("%p, %p\n", iface, ret_val);
206 return S_OK;
207}
@ ProviderOptions_ServerSideProvider

◆ hwnd_host_provider_GetPatternProvider()

HRESULT WINAPI hwnd_host_provider_GetPatternProvider ( IRawElementProviderSimple *  iface,
PATTERNID  pattern_id,
IUnknown **  ret_val 
)

Definition at line 209 of file uia_main.c.

211{
212 TRACE("%p, %d, %p\n", iface, pattern_id, ret_val);
213 *ret_val = NULL;
214 return S_OK;
215}

◆ hwnd_host_provider_GetPropertyValue()

HRESULT WINAPI hwnd_host_provider_GetPropertyValue ( IRawElementProviderSimple *  iface,
PROPERTYID  prop_id,
VARIANT ret_val 
)

Definition at line 217 of file uia_main.c.

219{
220 struct hwnd_host_provider *host_prov = impl_from_hwnd_host_provider(iface);
221
222 TRACE("%p, %d, %p\n", iface, prop_id, ret_val);
223
224 VariantInit(ret_val);
225 switch (prop_id)
226 {
228 V_VT(ret_val) = VT_I4;
229 V_I4(ret_val) = HandleToUlong(host_prov->hwnd);
230 break;
231
233 V_VT(ret_val) = VT_BSTR;
234 V_BSTR(ret_val) = SysAllocString(L"Wine: HWND Provider Proxy");
235 break;
236
237 default:
238 break;
239 }
240
241 return S_OK;
242}
#define HandleToUlong(h)
Definition: basetsd.h:73
@ VT_BSTR
Definition: compat.h:2303
@ VT_I4
Definition: compat.h:2298
#define L(x)
Definition: resources.c:13
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
#define V_I4(A)
Definition: oleauto.h:247
void WINAPI VariantInit(VARIANTARG *pVarg)
Definition: variant.c:568

◆ hwnd_host_provider_QueryInterface()

HRESULT WINAPI hwnd_host_provider_QueryInterface ( IRawElementProviderSimple *  iface,
REFIID  riid,
void **  ppv 
)

Definition at line 166 of file uia_main.c.

167{
168 *ppv = NULL;
169 if (IsEqualIID(riid, &IID_IRawElementProviderSimple) || IsEqualIID(riid, &IID_IUnknown))
170 *ppv = iface;
171 else
172 return E_NOINTERFACE;
173
174 IRawElementProviderSimple_AddRef(iface);
175 return S_OK;
176}
const GUID IID_IUnknown
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ hwnd_host_provider_Release()

ULONG WINAPI hwnd_host_provider_Release ( IRawElementProviderSimple *  iface)

Definition at line 188 of file uia_main.c.

189{
190 struct hwnd_host_provider *host_prov = impl_from_hwnd_host_provider(iface);
192
193 TRACE("%p, refcount %ld\n", iface, refcount);
194
195 if (!refcount)
196 free(host_prov);
197
198 return refcount;
199}
#define InterlockedDecrement
Definition: armddk.h:52

◆ impl_from_hwnd_host_provider()

static struct hwnd_host_provider * impl_from_hwnd_host_provider ( IRawElementProviderSimple *  iface)
inlinestatic

Definition at line 161 of file uia_main.c.

162{
163 return CONTAINING_RECORD(iface, struct hwnd_host_provider, IRawElementProviderSimple_iface);
164}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by hwnd_host_provider_AddRef(), hwnd_host_provider_GetPropertyValue(), and hwnd_host_provider_Release().

◆ impl_from_IClassFactory()

static struct uia_cf * impl_from_IClassFactory ( IClassFactory iface)
static

Definition at line 414 of file uia_main.c.

415{
416 return CONTAINING_RECORD(iface, struct uia_cf, IClassFactory_iface);
417}

Referenced by uia_cf_AddRef(), uia_cf_CreateInstance(), and uia_cf_Release().

◆ impl_uia_object_wrapper_from_IUnknown()

static struct uia_object_wrapper * impl_uia_object_wrapper_from_IUnknown ( IUnknown iface)
static

Definition at line 40 of file uia_main.c.

41{
42 return CONTAINING_RECORD(iface, struct uia_object_wrapper, IUnknown_iface);
43}

Referenced by uia_object_wrapper_AddRef(), uia_object_wrapper_QueryInterface(), and uia_object_wrapper_Release().

◆ uia_cf_AddRef()

static ULONG WINAPI uia_cf_AddRef ( IClassFactory iface)
static

Definition at line 431 of file uia_main.c.

432{
433 struct uia_cf *cf = impl_from_IClassFactory(iface);
435
436 TRACE("%p, refcount %ld\n", cf, ref);
437
438 return ref;
439}
Definition: send.c:48
LONG ref
Definition: uia_main.c:409
static struct uia_cf * impl_from_IClassFactory(IClassFactory *iface)
Definition: uia_main.c:414

◆ uia_cf_CreateInstance()

static HRESULT WINAPI uia_cf_CreateInstance ( IClassFactory iface,
IUnknown pouter,
REFIID  riid,
void **  ppv 
)
static

Definition at line 454 of file uia_main.c.

455{
456 struct uia_cf *cf = impl_from_IClassFactory(iface);
457 IUnknown *obj = NULL;
458 HRESULT hr;
459
460 TRACE("%p, %p, %s, %p\n", iface, pouter, debugstr_guid(riid), ppv);
461
462 *ppv = NULL;
463 if (pouter)
465
466 if (IsEqualGUID(cf->clsid, &CLSID_CUIAutomation))
468 else if (IsEqualGUID(cf->clsid, &CLSID_CUIAutomation8))
470 else
471 return E_NOINTERFACE;
472
473 if (SUCCEEDED(hr))
474 {
475 hr = IUnknown_QueryInterface(obj, riid, ppv);
476 IUnknown_Release(obj);
477 }
478
479 return hr;
480}
#define FALSE
Definition: types.h:117
#define SUCCEEDED(hr)
Definition: intsafe.h:50
HRESULT create_uia_iface(IUnknown **iface, BOOL is_cui8)
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

◆ uia_cf_LockServer()

static HRESULT WINAPI uia_cf_LockServer ( IClassFactory iface,
BOOL  do_lock 
)
static

Definition at line 482 of file uia_main.c.

483{
484 FIXME("%p, %d: stub\n", iface, do_lock);
485 return S_OK;
486}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ uia_cf_QueryInterface()

static HRESULT WINAPI uia_cf_QueryInterface ( IClassFactory iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 419 of file uia_main.c.

420{
421 *ppv = NULL;
423 *ppv = iface;
424 else
425 return E_NOINTERFACE;
426
427 IClassFactory_AddRef(iface);
428 return S_OK;
429}
const GUID IID_IClassFactory

◆ uia_cf_Release()

static ULONG WINAPI uia_cf_Release ( IClassFactory iface)
static

Definition at line 441 of file uia_main.c.

442{
443 struct uia_cf *cf = impl_from_IClassFactory(iface);
445
446 TRACE("%p, refcount %ld\n", cf, ref);
447
448 if (!ref)
449 free(cf);
450
451 return ref;
452}

◆ uia_object_wrapper_AddRef()

static ULONG WINAPI uia_object_wrapper_AddRef ( IUnknown iface)
static

Definition at line 52 of file uia_main.c.

53{
56
57 TRACE("%p, refcount %ld\n", iface, refcount);
58
59 return refcount;
60}
static struct uia_object_wrapper * impl_uia_object_wrapper_from_IUnknown(IUnknown *iface)
Definition: uia_main.c:40

◆ uia_object_wrapper_QueryInterface()

static HRESULT WINAPI uia_object_wrapper_QueryInterface ( IUnknown iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 45 of file uia_main.c.

47{
49 return IUnknown_QueryInterface(wrapper->marshal_object, riid, ppv);
50}

◆ uia_object_wrapper_Release()

static ULONG WINAPI uia_object_wrapper_Release ( IUnknown iface)
static

Definition at line 62 of file uia_main.c.

63{
66
67 TRACE("%p, refcount %ld\n", iface, refcount);
68 if (!refcount)
69 {
70 IUnknown_Release(wrapper->marshaler);
71 free(wrapper);
72 }
73
74 return refcount;
75}

◆ uia_reserved_obj_AddRef()

static ULONG WINAPI uia_reserved_obj_AddRef ( IUnknown iface)
static

Definition at line 132 of file uia_main.c.

133{
134 return 1;
135}

◆ uia_reserved_obj_QueryInterface()

static HRESULT WINAPI uia_reserved_obj_QueryInterface ( IUnknown iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 118 of file uia_main.c.

120{
121 *ppv = NULL;
123 *ppv = iface;
124 else if (IsEqualIID(riid, &IID_IMarshal))
125 return create_uia_object_wrapper(iface, ppv);
126 else
127 return E_NOINTERFACE;
128
129 return S_OK;
130}
static HRESULT create_uia_object_wrapper(IUnknown *reserved, void **ppv)
Definition: uia_main.c:88

◆ uia_reserved_obj_Release()

static ULONG WINAPI uia_reserved_obj_Release ( IUnknown iface)
static

Definition at line 137 of file uia_main.c.

138{
139 return 1;
140}

◆ UiaClientsAreListening()

BOOL WINAPI UiaClientsAreListening ( void  )

Definition at line 265 of file uia_main.c.

266{
267 TRACE("()\n");
268 return TRUE;
269}

Referenced by test_UiaClientsAreListening().

◆ UiaGetReservedMixedAttributeValue()

HRESULT WINAPI UiaGetReservedMixedAttributeValue ( IUnknown **  value)

Definition at line 274 of file uia_main.c.

275{
276 TRACE("(%p)\n", value);
277
278 if (!value)
279 return E_INVALIDARG;
280
282
283 return S_OK;
284}
#define E_INVALIDARG
Definition: ddrawi.h:101
static IUnknown uia_reserved_ma_iface
Definition: uia_main.c:149
Definition: pdh_main.c:96

Referenced by test_CUIAutomation(), test_uia_reserved_value_ifaces(), uia_iface_get_ReservedMixedAttributeValue(), and uia_reserved_val_iface_marshal_thread().

◆ UiaGetReservedNotSupportedValue()

◆ UiaHostProviderFromHwnd()

HRESULT WINAPI UiaHostProviderFromHwnd ( HWND  hwnd,
IRawElementProviderSimple **  provider 
)

Definition at line 361 of file uia_main.c.

362{
363 struct hwnd_host_provider *host_prov;
364
365 TRACE("(%p, %p)\n", hwnd, provider);
366
367 if (provider)
368 *provider = NULL;
369
370 if (!IsWindow(hwnd) || !provider)
371 return E_INVALIDARG;
372
373 host_prov = calloc(1, sizeof(*host_prov));
374 if (!host_prov)
375 return E_OUTOFMEMORY;
376
378 host_prov->refcount = 1;
379 host_prov->hwnd = hwnd;
380 *provider = &host_prov->IRawElementProviderSimple_iface;
381
382 return S_OK;
383}
IRawElementProviderSimple IRawElementProviderSimple_iface
Definition: uia_main.c:155
static const IRawElementProviderSimpleVtbl hwnd_host_provider_vtbl
Definition: uia_main.c:252
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
BOOL WINAPI IsWindow(_In_opt_ HWND)

Referenced by ClientSideProvider_get_HostRawElementProvider(), msaa_provider_get_HostRawElementProvider(), ProviderSimple_get_HostRawElementProvider(), and test_UiaHostProviderFromHwnd().

◆ UiaRaiseAsyncContentLoadedEvent()

HRESULT WINAPI UiaRaiseAsyncContentLoadedEvent ( IRawElementProviderSimple *  provider,
enum AsyncContentLoadedState  async_content_loaded_state,
double  percent_complete 
)

Definition at line 323 of file uia_main.c.

325{
326 FIXME("(%p, %d, %f): stub\n", provider, async_content_loaded_state, percent_complete);
327 return S_OK;
328}

◆ UiaRaiseAutomationPropertyChangedEvent()

HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent ( IRawElementProviderSimple *  provider,
PROPERTYID  id,
VARIANT  old,
VARIANT  new 
)

Definition at line 304 of file uia_main.c.

305{
306 FIXME("(%p, %d, %s, %s): stub\n", provider, id, debugstr_variant(&old), debugstr_variant(&new));
307 return S_OK;
308}
static const char * debugstr_variant(const VARIANT *var)
Definition: dom.c:505

◆ UiaRaiseChangesEvent()

HRESULT WINAPI UiaRaiseChangesEvent ( IRawElementProviderSimple *  provider,
int  event_id_count,
struct UiaChangeInfo uia_changes 
)

Definition at line 354 of file uia_main.c.

356{
357 FIXME("(%p, %d, %p): stub\n", provider, event_id_count, uia_changes);
358 return S_OK;
359}

◆ UiaRaiseNotificationEvent()

HRESULT WINAPI UiaRaiseNotificationEvent ( IRawElementProviderSimple *  provider,
enum NotificationKind  notification_kind,
enum NotificationProcessing  notification_processing,
BSTR  display_str,
BSTR  activity_id 
)

Definition at line 343 of file uia_main.c.

345{
346 FIXME("(%p, %d, %d, %s, %s): stub\n", provider, notification_kind, notification_processing,
347 debugstr_w(display_str), debugstr_w(activity_id));
348 return S_OK;
349}
#define debugstr_w
Definition: kernel32.h:32

◆ UiaRaiseStructureChangedEvent()

HRESULT WINAPI UiaRaiseStructureChangedEvent ( IRawElementProviderSimple *  provider,
enum StructureChangeType  struct_change_type,
int runtime_id,
int  runtime_id_len 
)

Definition at line 313 of file uia_main.c.

315{
316 FIXME("(%p, %d, %p, %d): stub\n", provider, struct_change_type, runtime_id, runtime_id_len);
317 return S_OK;
318}

◆ UiaRaiseTextEditTextChangedEvent()

HRESULT WINAPI UiaRaiseTextEditTextChangedEvent ( IRawElementProviderSimple *  provider,
enum TextEditChangeType  text_edit_change_type,
SAFEARRAY changed_data 
)

Definition at line 333 of file uia_main.c.

335{
336 FIXME("(%p, %d, %p): stub\n", provider, text_edit_change_type, changed_data);
337 return S_OK;
338}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( uiautomation  )

Variable Documentation

◆ huia_module

HMODULE huia_module

◆ hwnd_host_provider_vtbl

const IRawElementProviderSimpleVtbl hwnd_host_provider_vtbl
static
Initial value:
= {
}
HRESULT WINAPI hwnd_host_provider_GetPatternProvider(IRawElementProviderSimple *iface, PATTERNID pattern_id, IUnknown **ret_val)
Definition: uia_main.c:209
ULONG WINAPI hwnd_host_provider_Release(IRawElementProviderSimple *iface)
Definition: uia_main.c:188
HRESULT WINAPI hwnd_host_provider_get_HostRawElementProvider(IRawElementProviderSimple *iface, IRawElementProviderSimple **ret_val)
Definition: uia_main.c:244
HRESULT WINAPI hwnd_host_provider_get_ProviderOptions(IRawElementProviderSimple *iface, enum ProviderOptions *ret_val)
Definition: uia_main.c:201
HRESULT WINAPI hwnd_host_provider_QueryInterface(IRawElementProviderSimple *iface, REFIID riid, void **ppv)
Definition: uia_main.c:166
ULONG WINAPI hwnd_host_provider_AddRef(IRawElementProviderSimple *iface)
Definition: uia_main.c:178
HRESULT WINAPI hwnd_host_provider_GetPropertyValue(IRawElementProviderSimple *iface, PROPERTYID prop_id, VARIANT *ret_val)
Definition: uia_main.c:217

Definition at line 252 of file uia_main.c.

Referenced by UiaHostProviderFromHwnd().

◆ uia_cf_Vtbl

const IClassFactoryVtbl uia_cf_Vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI uia_cf_LockServer(IClassFactory *iface, BOOL do_lock)
Definition: uia_main.c:482
static ULONG WINAPI uia_cf_Release(IClassFactory *iface)
Definition: uia_main.c:441
static HRESULT WINAPI uia_cf_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
Definition: uia_main.c:419
static ULONG WINAPI uia_cf_AddRef(IClassFactory *iface)
Definition: uia_main.c:431
static HRESULT WINAPI uia_cf_CreateInstance(IClassFactory *iface, IUnknown *pouter, REFIID riid, void **ppv)
Definition: uia_main.c:454

Definition at line 488 of file uia_main.c.

Referenced by create_uia_cf().

◆ uia_object_wrapper_vtbl

const IUnknownVtbl uia_object_wrapper_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI uia_object_wrapper_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: uia_main.c:45
static ULONG WINAPI uia_object_wrapper_AddRef(IUnknown *iface)
Definition: uia_main.c:52
static ULONG WINAPI uia_object_wrapper_Release(IUnknown *iface)
Definition: uia_main.c:62

Definition at line 77 of file uia_main.c.

Referenced by create_uia_object_wrapper().

◆ uia_reserved_ma_iface

IUnknown uia_reserved_ma_iface = {&uia_reserved_obj_vtbl}
static

Definition at line 149 of file uia_main.c.

Referenced by UiaGetReservedMixedAttributeValue().

◆ uia_reserved_ns_iface

IUnknown uia_reserved_ns_iface = {&uia_reserved_obj_vtbl}
static

Definition at line 148 of file uia_main.c.

Referenced by UiaGetReservedNotSupportedValue().

◆ uia_reserved_obj_vtbl

const IUnknownVtbl uia_reserved_obj_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI uia_reserved_obj_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
Definition: uia_main.c:118
static ULONG WINAPI uia_reserved_obj_AddRef(IUnknown *iface)
Definition: uia_main.c:132
static ULONG WINAPI uia_reserved_obj_Release(IUnknown *iface)
Definition: uia_main.c:137

Definition at line 142 of file uia_main.c.