uiautomationcore.h 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. /*** Autogenerated by WIDL 7.7 from include/uiautomationcore.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __uiautomationcore_h__
  14. #define __uiautomationcore_h__
  15. /* Forward declarations */
  16. #ifndef __IRawElementProviderSimple_FWD_DEFINED__
  17. #define __IRawElementProviderSimple_FWD_DEFINED__
  18. typedef interface IRawElementProviderSimple IRawElementProviderSimple;
  19. #ifdef __cplusplus
  20. interface IRawElementProviderSimple;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IAccessibleEx_FWD_DEFINED__
  24. #define __IAccessibleEx_FWD_DEFINED__
  25. typedef interface IAccessibleEx IAccessibleEx;
  26. #ifdef __cplusplus
  27. interface IAccessibleEx;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IRawElementProviderFragment_FWD_DEFINED__
  31. #define __IRawElementProviderFragment_FWD_DEFINED__
  32. typedef interface IRawElementProviderFragment IRawElementProviderFragment;
  33. #ifdef __cplusplus
  34. interface IRawElementProviderFragment;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__
  38. #define __IRawElementProviderFragmentRoot_FWD_DEFINED__
  39. typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot;
  40. #ifdef __cplusplus
  41. interface IRawElementProviderFragmentRoot;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __ILegacyIAccessibleProvider_FWD_DEFINED__
  45. #define __ILegacyIAccessibleProvider_FWD_DEFINED__
  46. typedef interface ILegacyIAccessibleProvider ILegacyIAccessibleProvider;
  47. #ifdef __cplusplus
  48. interface ILegacyIAccessibleProvider;
  49. #endif /* __cplusplus */
  50. #endif
  51. /* Headers for imported files */
  52. #include <oaidl.h>
  53. #include <oleacc.h>
  54. #ifdef __cplusplus
  55. extern "C" {
  56. #endif
  57. enum NavigateDirection {
  58. NavigateDirection_Parent = 0x0,
  59. NavigateDirection_NextSibling = 0x1,
  60. NavigateDirection_PreviousSibling = 0x2,
  61. NavigateDirection_FirstChild = 0x3,
  62. NavigateDirection_LastChild = 0x4
  63. };
  64. enum ProviderOptions {
  65. ProviderOptions_ClientSideProvider = 0x1,
  66. ProviderOptions_ServerSideProvider = 0x2,
  67. ProviderOptions_NonClientAreaProvider = 0x4,
  68. ProviderOptions_OverrideProvider = 0x8,
  69. ProviderOptions_ProviderOwnsSetFocus = 0x10,
  70. ProviderOptions_UseComThreading = 0x20,
  71. ProviderOptions_RefuseNonClientSupport = 0x40,
  72. ProviderOptions_HasNativeIAccessible = 0x80,
  73. ProviderOptions_UseClientCoordinates = 0x100
  74. };
  75. typedef int PROPERTYID;
  76. typedef int PATTERNID;
  77. typedef int EVENTID;
  78. typedef int TEXTATTRIBUTEID;
  79. typedef int CONTROLTYPEID;
  80. struct UiaRect {
  81. double left;
  82. double top;
  83. double width;
  84. double height;
  85. };
  86. #ifndef __UIA_LIBRARY_DEFINED__
  87. #define __UIA_LIBRARY_DEFINED__
  88. DEFINE_GUID(LIBID_UIA, 0x930299ce, 0x9965, 0x4dec, 0xb0,0xf4, 0xa5,0x48,0x48,0xd4,0xb6,0x67);
  89. /*****************************************************************************
  90. * IRawElementProviderSimple interface
  91. */
  92. #ifndef __IRawElementProviderSimple_INTERFACE_DEFINED__
  93. #define __IRawElementProviderSimple_INTERFACE_DEFINED__
  94. DEFINE_GUID(IID_IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c);
  95. #if defined(__cplusplus) && !defined(CINTERFACE)
  96. MIDL_INTERFACE("d6dd68d1-86fd-4332-8666-9abedea2d24c")
  97. IRawElementProviderSimple : public IUnknown
  98. {
  99. virtual HRESULT STDMETHODCALLTYPE get_ProviderOptions(
  100. enum ProviderOptions *pRetVal) = 0;
  101. virtual HRESULT STDMETHODCALLTYPE GetPatternProvider(
  102. PATTERNID patternId,
  103. IUnknown **pRetVal) = 0;
  104. virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
  105. PROPERTYID propertyId,
  106. VARIANT *pRetVal) = 0;
  107. virtual HRESULT STDMETHODCALLTYPE get_HostRawElementProvider(
  108. IRawElementProviderSimple **pRetVal) = 0;
  109. };
  110. #ifdef __CRT_UUID_DECL
  111. __CRT_UUID_DECL(IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c)
  112. #endif
  113. #else
  114. typedef struct IRawElementProviderSimpleVtbl {
  115. BEGIN_INTERFACE
  116. /*** IUnknown methods ***/
  117. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  118. IRawElementProviderSimple *This,
  119. REFIID riid,
  120. void **ppvObject);
  121. ULONG (STDMETHODCALLTYPE *AddRef)(
  122. IRawElementProviderSimple *This);
  123. ULONG (STDMETHODCALLTYPE *Release)(
  124. IRawElementProviderSimple *This);
  125. /*** IRawElementProviderSimple methods ***/
  126. HRESULT (STDMETHODCALLTYPE *get_ProviderOptions)(
  127. IRawElementProviderSimple *This,
  128. enum ProviderOptions *pRetVal);
  129. HRESULT (STDMETHODCALLTYPE *GetPatternProvider)(
  130. IRawElementProviderSimple *This,
  131. PATTERNID patternId,
  132. IUnknown **pRetVal);
  133. HRESULT (STDMETHODCALLTYPE *GetPropertyValue)(
  134. IRawElementProviderSimple *This,
  135. PROPERTYID propertyId,
  136. VARIANT *pRetVal);
  137. HRESULT (STDMETHODCALLTYPE *get_HostRawElementProvider)(
  138. IRawElementProviderSimple *This,
  139. IRawElementProviderSimple **pRetVal);
  140. END_INTERFACE
  141. } IRawElementProviderSimpleVtbl;
  142. interface IRawElementProviderSimple {
  143. CONST_VTBL IRawElementProviderSimpleVtbl* lpVtbl;
  144. };
  145. #ifdef COBJMACROS
  146. #ifndef WIDL_C_INLINE_WRAPPERS
  147. /*** IUnknown methods ***/
  148. #define IRawElementProviderSimple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  149. #define IRawElementProviderSimple_AddRef(This) (This)->lpVtbl->AddRef(This)
  150. #define IRawElementProviderSimple_Release(This) (This)->lpVtbl->Release(This)
  151. /*** IRawElementProviderSimple methods ***/
  152. #define IRawElementProviderSimple_get_ProviderOptions(This,pRetVal) (This)->lpVtbl->get_ProviderOptions(This,pRetVal)
  153. #define IRawElementProviderSimple_GetPatternProvider(This,patternId,pRetVal) (This)->lpVtbl->GetPatternProvider(This,patternId,pRetVal)
  154. #define IRawElementProviderSimple_GetPropertyValue(This,propertyId,pRetVal) (This)->lpVtbl->GetPropertyValue(This,propertyId,pRetVal)
  155. #define IRawElementProviderSimple_get_HostRawElementProvider(This,pRetVal) (This)->lpVtbl->get_HostRawElementProvider(This,pRetVal)
  156. #else
  157. /*** IUnknown methods ***/
  158. static FORCEINLINE HRESULT IRawElementProviderSimple_QueryInterface(IRawElementProviderSimple* This,REFIID riid,void **ppvObject) {
  159. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  160. }
  161. static FORCEINLINE ULONG IRawElementProviderSimple_AddRef(IRawElementProviderSimple* This) {
  162. return This->lpVtbl->AddRef(This);
  163. }
  164. static FORCEINLINE ULONG IRawElementProviderSimple_Release(IRawElementProviderSimple* This) {
  165. return This->lpVtbl->Release(This);
  166. }
  167. /*** IRawElementProviderSimple methods ***/
  168. static FORCEINLINE HRESULT IRawElementProviderSimple_get_ProviderOptions(IRawElementProviderSimple* This,enum ProviderOptions *pRetVal) {
  169. return This->lpVtbl->get_ProviderOptions(This,pRetVal);
  170. }
  171. static FORCEINLINE HRESULT IRawElementProviderSimple_GetPatternProvider(IRawElementProviderSimple* This,PATTERNID patternId,IUnknown **pRetVal) {
  172. return This->lpVtbl->GetPatternProvider(This,patternId,pRetVal);
  173. }
  174. static FORCEINLINE HRESULT IRawElementProviderSimple_GetPropertyValue(IRawElementProviderSimple* This,PROPERTYID propertyId,VARIANT *pRetVal) {
  175. return This->lpVtbl->GetPropertyValue(This,propertyId,pRetVal);
  176. }
  177. static FORCEINLINE HRESULT IRawElementProviderSimple_get_HostRawElementProvider(IRawElementProviderSimple* This,IRawElementProviderSimple **pRetVal) {
  178. return This->lpVtbl->get_HostRawElementProvider(This,pRetVal);
  179. }
  180. #endif
  181. #endif
  182. #endif
  183. #endif /* __IRawElementProviderSimple_INTERFACE_DEFINED__ */
  184. /*****************************************************************************
  185. * IAccessibleEx interface
  186. */
  187. #ifndef __IAccessibleEx_INTERFACE_DEFINED__
  188. #define __IAccessibleEx_INTERFACE_DEFINED__
  189. DEFINE_GUID(IID_IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75);
  190. #if defined(__cplusplus) && !defined(CINTERFACE)
  191. MIDL_INTERFACE("f8b80ada-2c44-48d0-89be-5ff23c9cd875")
  192. IAccessibleEx : public IUnknown
  193. {
  194. virtual HRESULT STDMETHODCALLTYPE GetObjectForChild(
  195. LONG idChild,
  196. IAccessibleEx **pRetVal) = 0;
  197. virtual HRESULT STDMETHODCALLTYPE GetIAccessiblePair(
  198. IAccessible **ppAcc,
  199. LONG *pidChild) = 0;
  200. virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(
  201. SAFEARRAY **pRetVal) = 0;
  202. virtual HRESULT STDMETHODCALLTYPE ConvertReturnedElement(
  203. IRawElementProviderSimple *pIn,
  204. IAccessibleEx **ppRetValOut) = 0;
  205. };
  206. #ifdef __CRT_UUID_DECL
  207. __CRT_UUID_DECL(IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75)
  208. #endif
  209. #else
  210. typedef struct IAccessibleExVtbl {
  211. BEGIN_INTERFACE
  212. /*** IUnknown methods ***/
  213. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  214. IAccessibleEx *This,
  215. REFIID riid,
  216. void **ppvObject);
  217. ULONG (STDMETHODCALLTYPE *AddRef)(
  218. IAccessibleEx *This);
  219. ULONG (STDMETHODCALLTYPE *Release)(
  220. IAccessibleEx *This);
  221. /*** IAccessibleEx methods ***/
  222. HRESULT (STDMETHODCALLTYPE *GetObjectForChild)(
  223. IAccessibleEx *This,
  224. LONG idChild,
  225. IAccessibleEx **pRetVal);
  226. HRESULT (STDMETHODCALLTYPE *GetIAccessiblePair)(
  227. IAccessibleEx *This,
  228. IAccessible **ppAcc,
  229. LONG *pidChild);
  230. HRESULT (STDMETHODCALLTYPE *GetRuntimeId)(
  231. IAccessibleEx *This,
  232. SAFEARRAY **pRetVal);
  233. HRESULT (STDMETHODCALLTYPE *ConvertReturnedElement)(
  234. IAccessibleEx *This,
  235. IRawElementProviderSimple *pIn,
  236. IAccessibleEx **ppRetValOut);
  237. END_INTERFACE
  238. } IAccessibleExVtbl;
  239. interface IAccessibleEx {
  240. CONST_VTBL IAccessibleExVtbl* lpVtbl;
  241. };
  242. #ifdef COBJMACROS
  243. #ifndef WIDL_C_INLINE_WRAPPERS
  244. /*** IUnknown methods ***/
  245. #define IAccessibleEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  246. #define IAccessibleEx_AddRef(This) (This)->lpVtbl->AddRef(This)
  247. #define IAccessibleEx_Release(This) (This)->lpVtbl->Release(This)
  248. /*** IAccessibleEx methods ***/
  249. #define IAccessibleEx_GetObjectForChild(This,idChild,pRetVal) (This)->lpVtbl->GetObjectForChild(This,idChild,pRetVal)
  250. #define IAccessibleEx_GetIAccessiblePair(This,ppAcc,pidChild) (This)->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild)
  251. #define IAccessibleEx_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal)
  252. #define IAccessibleEx_ConvertReturnedElement(This,pIn,ppRetValOut) (This)->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut)
  253. #else
  254. /*** IUnknown methods ***/
  255. static FORCEINLINE HRESULT IAccessibleEx_QueryInterface(IAccessibleEx* This,REFIID riid,void **ppvObject) {
  256. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  257. }
  258. static FORCEINLINE ULONG IAccessibleEx_AddRef(IAccessibleEx* This) {
  259. return This->lpVtbl->AddRef(This);
  260. }
  261. static FORCEINLINE ULONG IAccessibleEx_Release(IAccessibleEx* This) {
  262. return This->lpVtbl->Release(This);
  263. }
  264. /*** IAccessibleEx methods ***/
  265. static FORCEINLINE HRESULT IAccessibleEx_GetObjectForChild(IAccessibleEx* This,LONG idChild,IAccessibleEx **pRetVal) {
  266. return This->lpVtbl->GetObjectForChild(This,idChild,pRetVal);
  267. }
  268. static FORCEINLINE HRESULT IAccessibleEx_GetIAccessiblePair(IAccessibleEx* This,IAccessible **ppAcc,LONG *pidChild) {
  269. return This->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild);
  270. }
  271. static FORCEINLINE HRESULT IAccessibleEx_GetRuntimeId(IAccessibleEx* This,SAFEARRAY **pRetVal) {
  272. return This->lpVtbl->GetRuntimeId(This,pRetVal);
  273. }
  274. static FORCEINLINE HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* This,IRawElementProviderSimple *pIn,IAccessibleEx **ppRetValOut) {
  275. return This->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut);
  276. }
  277. #endif
  278. #endif
  279. #endif
  280. #endif /* __IAccessibleEx_INTERFACE_DEFINED__ */
  281. #ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__
  282. #define __IRawElementProviderFragmentRoot_FWD_DEFINED__
  283. typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot;
  284. #ifdef __cplusplus
  285. interface IRawElementProviderFragmentRoot;
  286. #endif /* __cplusplus */
  287. #endif
  288. /*****************************************************************************
  289. * IRawElementProviderFragment interface
  290. */
  291. #ifndef __IRawElementProviderFragment_INTERFACE_DEFINED__
  292. #define __IRawElementProviderFragment_INTERFACE_DEFINED__
  293. DEFINE_GUID(IID_IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87);
  294. #if defined(__cplusplus) && !defined(CINTERFACE)
  295. MIDL_INTERFACE("f7063da8-8359-439c-9297-bbc5299a7d87")
  296. IRawElementProviderFragment : public IUnknown
  297. {
  298. virtual HRESULT STDMETHODCALLTYPE Navigate(
  299. enum NavigateDirection direction,
  300. IRawElementProviderFragment **pRetVal) = 0;
  301. virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(
  302. SAFEARRAY **pRetVal) = 0;
  303. virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle(
  304. struct UiaRect *pRetVal) = 0;
  305. virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots(
  306. SAFEARRAY **pRetVal) = 0;
  307. virtual HRESULT STDMETHODCALLTYPE SetFocus(
  308. ) = 0;
  309. virtual HRESULT STDMETHODCALLTYPE get_FragmentRoot(
  310. IRawElementProviderFragmentRoot **pRetVal) = 0;
  311. };
  312. #ifdef __CRT_UUID_DECL
  313. __CRT_UUID_DECL(IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87)
  314. #endif
  315. #else
  316. typedef struct IRawElementProviderFragmentVtbl {
  317. BEGIN_INTERFACE
  318. /*** IUnknown methods ***/
  319. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  320. IRawElementProviderFragment *This,
  321. REFIID riid,
  322. void **ppvObject);
  323. ULONG (STDMETHODCALLTYPE *AddRef)(
  324. IRawElementProviderFragment *This);
  325. ULONG (STDMETHODCALLTYPE *Release)(
  326. IRawElementProviderFragment *This);
  327. /*** IRawElementProviderFragment methods ***/
  328. HRESULT (STDMETHODCALLTYPE *Navigate)(
  329. IRawElementProviderFragment *This,
  330. enum NavigateDirection direction,
  331. IRawElementProviderFragment **pRetVal);
  332. HRESULT (STDMETHODCALLTYPE *GetRuntimeId)(
  333. IRawElementProviderFragment *This,
  334. SAFEARRAY **pRetVal);
  335. HRESULT (STDMETHODCALLTYPE *get_BoundingRectangle)(
  336. IRawElementProviderFragment *This,
  337. struct UiaRect *pRetVal);
  338. HRESULT (STDMETHODCALLTYPE *GetEmbeddedFragmentRoots)(
  339. IRawElementProviderFragment *This,
  340. SAFEARRAY **pRetVal);
  341. HRESULT (STDMETHODCALLTYPE *SetFocus)(
  342. IRawElementProviderFragment *This);
  343. HRESULT (STDMETHODCALLTYPE *get_FragmentRoot)(
  344. IRawElementProviderFragment *This,
  345. IRawElementProviderFragmentRoot **pRetVal);
  346. END_INTERFACE
  347. } IRawElementProviderFragmentVtbl;
  348. interface IRawElementProviderFragment {
  349. CONST_VTBL IRawElementProviderFragmentVtbl* lpVtbl;
  350. };
  351. #ifdef COBJMACROS
  352. #ifndef WIDL_C_INLINE_WRAPPERS
  353. /*** IUnknown methods ***/
  354. #define IRawElementProviderFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  355. #define IRawElementProviderFragment_AddRef(This) (This)->lpVtbl->AddRef(This)
  356. #define IRawElementProviderFragment_Release(This) (This)->lpVtbl->Release(This)
  357. /*** IRawElementProviderFragment methods ***/
  358. #define IRawElementProviderFragment_Navigate(This,direction,pRetVal) (This)->lpVtbl->Navigate(This,direction,pRetVal)
  359. #define IRawElementProviderFragment_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal)
  360. #define IRawElementProviderFragment_get_BoundingRectangle(This,pRetVal) (This)->lpVtbl->get_BoundingRectangle(This,pRetVal)
  361. #define IRawElementProviderFragment_GetEmbeddedFragmentRoots(This,pRetVal) (This)->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal)
  362. #define IRawElementProviderFragment_SetFocus(This) (This)->lpVtbl->SetFocus(This)
  363. #define IRawElementProviderFragment_get_FragmentRoot(This,pRetVal) (This)->lpVtbl->get_FragmentRoot(This,pRetVal)
  364. #else
  365. /*** IUnknown methods ***/
  366. static FORCEINLINE HRESULT IRawElementProviderFragment_QueryInterface(IRawElementProviderFragment* This,REFIID riid,void **ppvObject) {
  367. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  368. }
  369. static FORCEINLINE ULONG IRawElementProviderFragment_AddRef(IRawElementProviderFragment* This) {
  370. return This->lpVtbl->AddRef(This);
  371. }
  372. static FORCEINLINE ULONG IRawElementProviderFragment_Release(IRawElementProviderFragment* This) {
  373. return This->lpVtbl->Release(This);
  374. }
  375. /*** IRawElementProviderFragment methods ***/
  376. static FORCEINLINE HRESULT IRawElementProviderFragment_Navigate(IRawElementProviderFragment* This,enum NavigateDirection direction,IRawElementProviderFragment **pRetVal) {
  377. return This->lpVtbl->Navigate(This,direction,pRetVal);
  378. }
  379. static FORCEINLINE HRESULT IRawElementProviderFragment_GetRuntimeId(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) {
  380. return This->lpVtbl->GetRuntimeId(This,pRetVal);
  381. }
  382. static FORCEINLINE HRESULT IRawElementProviderFragment_get_BoundingRectangle(IRawElementProviderFragment* This,struct UiaRect *pRetVal) {
  383. return This->lpVtbl->get_BoundingRectangle(This,pRetVal);
  384. }
  385. static FORCEINLINE HRESULT IRawElementProviderFragment_GetEmbeddedFragmentRoots(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) {
  386. return This->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal);
  387. }
  388. static FORCEINLINE HRESULT IRawElementProviderFragment_SetFocus(IRawElementProviderFragment* This) {
  389. return This->lpVtbl->SetFocus(This);
  390. }
  391. static FORCEINLINE HRESULT IRawElementProviderFragment_get_FragmentRoot(IRawElementProviderFragment* This,IRawElementProviderFragmentRoot **pRetVal) {
  392. return This->lpVtbl->get_FragmentRoot(This,pRetVal);
  393. }
  394. #endif
  395. #endif
  396. #endif
  397. #endif /* __IRawElementProviderFragment_INTERFACE_DEFINED__ */
  398. /*****************************************************************************
  399. * IRawElementProviderFragmentRoot interface
  400. */
  401. #ifndef __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__
  402. #define __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__
  403. DEFINE_GUID(IID_IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58);
  404. #if defined(__cplusplus) && !defined(CINTERFACE)
  405. MIDL_INTERFACE("620ce2a5-ab8f-40a9-86cb-de3c75599b58")
  406. IRawElementProviderFragmentRoot : public IUnknown
  407. {
  408. virtual HRESULT STDMETHODCALLTYPE ElementProviderFromPoint(
  409. double x,
  410. double y,
  411. IRawElementProviderFragment **pRetVal) = 0;
  412. virtual HRESULT STDMETHODCALLTYPE GetFocus(
  413. IRawElementProviderFragment **pRetVal) = 0;
  414. };
  415. #ifdef __CRT_UUID_DECL
  416. __CRT_UUID_DECL(IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58)
  417. #endif
  418. #else
  419. typedef struct IRawElementProviderFragmentRootVtbl {
  420. BEGIN_INTERFACE
  421. /*** IUnknown methods ***/
  422. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  423. IRawElementProviderFragmentRoot *This,
  424. REFIID riid,
  425. void **ppvObject);
  426. ULONG (STDMETHODCALLTYPE *AddRef)(
  427. IRawElementProviderFragmentRoot *This);
  428. ULONG (STDMETHODCALLTYPE *Release)(
  429. IRawElementProviderFragmentRoot *This);
  430. /*** IRawElementProviderFragmentRoot methods ***/
  431. HRESULT (STDMETHODCALLTYPE *ElementProviderFromPoint)(
  432. IRawElementProviderFragmentRoot *This,
  433. double x,
  434. double y,
  435. IRawElementProviderFragment **pRetVal);
  436. HRESULT (STDMETHODCALLTYPE *GetFocus)(
  437. IRawElementProviderFragmentRoot *This,
  438. IRawElementProviderFragment **pRetVal);
  439. END_INTERFACE
  440. } IRawElementProviderFragmentRootVtbl;
  441. interface IRawElementProviderFragmentRoot {
  442. CONST_VTBL IRawElementProviderFragmentRootVtbl* lpVtbl;
  443. };
  444. #ifdef COBJMACROS
  445. #ifndef WIDL_C_INLINE_WRAPPERS
  446. /*** IUnknown methods ***/
  447. #define IRawElementProviderFragmentRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  448. #define IRawElementProviderFragmentRoot_AddRef(This) (This)->lpVtbl->AddRef(This)
  449. #define IRawElementProviderFragmentRoot_Release(This) (This)->lpVtbl->Release(This)
  450. /*** IRawElementProviderFragmentRoot methods ***/
  451. #define IRawElementProviderFragmentRoot_ElementProviderFromPoint(This,x,y,pRetVal) (This)->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal)
  452. #define IRawElementProviderFragmentRoot_GetFocus(This,pRetVal) (This)->lpVtbl->GetFocus(This,pRetVal)
  453. #else
  454. /*** IUnknown methods ***/
  455. static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_QueryInterface(IRawElementProviderFragmentRoot* This,REFIID riid,void **ppvObject) {
  456. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  457. }
  458. static FORCEINLINE ULONG IRawElementProviderFragmentRoot_AddRef(IRawElementProviderFragmentRoot* This) {
  459. return This->lpVtbl->AddRef(This);
  460. }
  461. static FORCEINLINE ULONG IRawElementProviderFragmentRoot_Release(IRawElementProviderFragmentRoot* This) {
  462. return This->lpVtbl->Release(This);
  463. }
  464. /*** IRawElementProviderFragmentRoot methods ***/
  465. static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_ElementProviderFromPoint(IRawElementProviderFragmentRoot* This,double x,double y,IRawElementProviderFragment **pRetVal) {
  466. return This->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal);
  467. }
  468. static FORCEINLINE HRESULT IRawElementProviderFragmentRoot_GetFocus(IRawElementProviderFragmentRoot* This,IRawElementProviderFragment **pRetVal) {
  469. return This->lpVtbl->GetFocus(This,pRetVal);
  470. }
  471. #endif
  472. #endif
  473. #endif
  474. #endif /* __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ */
  475. /*****************************************************************************
  476. * ILegacyIAccessibleProvider interface
  477. */
  478. #ifndef __ILegacyIAccessibleProvider_INTERFACE_DEFINED__
  479. #define __ILegacyIAccessibleProvider_INTERFACE_DEFINED__
  480. DEFINE_GUID(IID_ILegacyIAccessibleProvider, 0xe44c3566, 0x915d, 0x4070, 0x99,0xc6, 0x04,0x7b,0xff,0x5a,0x08,0xf5);
  481. #if defined(__cplusplus) && !defined(CINTERFACE)
  482. MIDL_INTERFACE("e44c3566-915d-4070-99c6-047bff5a08f5")
  483. ILegacyIAccessibleProvider : public IUnknown
  484. {
  485. virtual HRESULT STDMETHODCALLTYPE Select(
  486. LONG flagsSelect) = 0;
  487. virtual HRESULT STDMETHODCALLTYPE DoDefaultAction(
  488. ) = 0;
  489. virtual HRESULT STDMETHODCALLTYPE SetValue(
  490. LPCWSTR szValue) = 0;
  491. virtual HRESULT STDMETHODCALLTYPE GetIAccessible(
  492. IAccessible **ppAccessible) = 0;
  493. virtual HRESULT STDMETHODCALLTYPE get_ChildId(
  494. int *pRetVal) = 0;
  495. virtual HRESULT STDMETHODCALLTYPE get_Name(
  496. BSTR *pszName) = 0;
  497. virtual HRESULT STDMETHODCALLTYPE get_Value(
  498. BSTR *pszValue) = 0;
  499. virtual HRESULT STDMETHODCALLTYPE get_Description(
  500. BSTR *pszDescription) = 0;
  501. virtual HRESULT STDMETHODCALLTYPE get_Role(
  502. DWORD *pdwRole) = 0;
  503. virtual HRESULT STDMETHODCALLTYPE get_State(
  504. DWORD *pdwState) = 0;
  505. virtual HRESULT STDMETHODCALLTYPE get_Help(
  506. BSTR *pszHelp) = 0;
  507. virtual HRESULT STDMETHODCALLTYPE get_KeyboardShortcut(
  508. BSTR *pszKeyboardShortcut) = 0;
  509. virtual HRESULT STDMETHODCALLTYPE GetSelection(
  510. SAFEARRAY **pvarSelectedChildren) = 0;
  511. virtual HRESULT STDMETHODCALLTYPE get_DefaultAction(
  512. BSTR *pszDefaultAction) = 0;
  513. };
  514. #ifdef __CRT_UUID_DECL
  515. __CRT_UUID_DECL(ILegacyIAccessibleProvider, 0xe44c3566, 0x915d, 0x4070, 0x99,0xc6, 0x04,0x7b,0xff,0x5a,0x08,0xf5)
  516. #endif
  517. #else
  518. typedef struct ILegacyIAccessibleProviderVtbl {
  519. BEGIN_INTERFACE
  520. /*** IUnknown methods ***/
  521. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  522. ILegacyIAccessibleProvider *This,
  523. REFIID riid,
  524. void **ppvObject);
  525. ULONG (STDMETHODCALLTYPE *AddRef)(
  526. ILegacyIAccessibleProvider *This);
  527. ULONG (STDMETHODCALLTYPE *Release)(
  528. ILegacyIAccessibleProvider *This);
  529. /*** ILegacyIAccessibleProvider methods ***/
  530. HRESULT (STDMETHODCALLTYPE *Select)(
  531. ILegacyIAccessibleProvider *This,
  532. LONG flagsSelect);
  533. HRESULT (STDMETHODCALLTYPE *DoDefaultAction)(
  534. ILegacyIAccessibleProvider *This);
  535. HRESULT (STDMETHODCALLTYPE *SetValue)(
  536. ILegacyIAccessibleProvider *This,
  537. LPCWSTR szValue);
  538. HRESULT (STDMETHODCALLTYPE *GetIAccessible)(
  539. ILegacyIAccessibleProvider *This,
  540. IAccessible **ppAccessible);
  541. HRESULT (STDMETHODCALLTYPE *get_ChildId)(
  542. ILegacyIAccessibleProvider *This,
  543. int *pRetVal);
  544. HRESULT (STDMETHODCALLTYPE *get_Name)(
  545. ILegacyIAccessibleProvider *This,
  546. BSTR *pszName);
  547. HRESULT (STDMETHODCALLTYPE *get_Value)(
  548. ILegacyIAccessibleProvider *This,
  549. BSTR *pszValue);
  550. HRESULT (STDMETHODCALLTYPE *get_Description)(
  551. ILegacyIAccessibleProvider *This,
  552. BSTR *pszDescription);
  553. HRESULT (STDMETHODCALLTYPE *get_Role)(
  554. ILegacyIAccessibleProvider *This,
  555. DWORD *pdwRole);
  556. HRESULT (STDMETHODCALLTYPE *get_State)(
  557. ILegacyIAccessibleProvider *This,
  558. DWORD *pdwState);
  559. HRESULT (STDMETHODCALLTYPE *get_Help)(
  560. ILegacyIAccessibleProvider *This,
  561. BSTR *pszHelp);
  562. HRESULT (STDMETHODCALLTYPE *get_KeyboardShortcut)(
  563. ILegacyIAccessibleProvider *This,
  564. BSTR *pszKeyboardShortcut);
  565. HRESULT (STDMETHODCALLTYPE *GetSelection)(
  566. ILegacyIAccessibleProvider *This,
  567. SAFEARRAY **pvarSelectedChildren);
  568. HRESULT (STDMETHODCALLTYPE *get_DefaultAction)(
  569. ILegacyIAccessibleProvider *This,
  570. BSTR *pszDefaultAction);
  571. END_INTERFACE
  572. } ILegacyIAccessibleProviderVtbl;
  573. interface ILegacyIAccessibleProvider {
  574. CONST_VTBL ILegacyIAccessibleProviderVtbl* lpVtbl;
  575. };
  576. #ifdef COBJMACROS
  577. #ifndef WIDL_C_INLINE_WRAPPERS
  578. /*** IUnknown methods ***/
  579. #define ILegacyIAccessibleProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  580. #define ILegacyIAccessibleProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
  581. #define ILegacyIAccessibleProvider_Release(This) (This)->lpVtbl->Release(This)
  582. /*** ILegacyIAccessibleProvider methods ***/
  583. #define ILegacyIAccessibleProvider_Select(This,flagsSelect) (This)->lpVtbl->Select(This,flagsSelect)
  584. #define ILegacyIAccessibleProvider_DoDefaultAction(This) (This)->lpVtbl->DoDefaultAction(This)
  585. #define ILegacyIAccessibleProvider_SetValue(This,szValue) (This)->lpVtbl->SetValue(This,szValue)
  586. #define ILegacyIAccessibleProvider_GetIAccessible(This,ppAccessible) (This)->lpVtbl->GetIAccessible(This,ppAccessible)
  587. #define ILegacyIAccessibleProvider_get_ChildId(This,pRetVal) (This)->lpVtbl->get_ChildId(This,pRetVal)
  588. #define ILegacyIAccessibleProvider_get_Name(This,pszName) (This)->lpVtbl->get_Name(This,pszName)
  589. #define ILegacyIAccessibleProvider_get_Value(This,pszValue) (This)->lpVtbl->get_Value(This,pszValue)
  590. #define ILegacyIAccessibleProvider_get_Description(This,pszDescription) (This)->lpVtbl->get_Description(This,pszDescription)
  591. #define ILegacyIAccessibleProvider_get_Role(This,pdwRole) (This)->lpVtbl->get_Role(This,pdwRole)
  592. #define ILegacyIAccessibleProvider_get_State(This,pdwState) (This)->lpVtbl->get_State(This,pdwState)
  593. #define ILegacyIAccessibleProvider_get_Help(This,pszHelp) (This)->lpVtbl->get_Help(This,pszHelp)
  594. #define ILegacyIAccessibleProvider_get_KeyboardShortcut(This,pszKeyboardShortcut) (This)->lpVtbl->get_KeyboardShortcut(This,pszKeyboardShortcut)
  595. #define ILegacyIAccessibleProvider_GetSelection(This,pvarSelectedChildren) (This)->lpVtbl->GetSelection(This,pvarSelectedChildren)
  596. #define ILegacyIAccessibleProvider_get_DefaultAction(This,pszDefaultAction) (This)->lpVtbl->get_DefaultAction(This,pszDefaultAction)
  597. #else
  598. /*** IUnknown methods ***/
  599. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_QueryInterface(ILegacyIAccessibleProvider* This,REFIID riid,void **ppvObject) {
  600. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  601. }
  602. static FORCEINLINE ULONG ILegacyIAccessibleProvider_AddRef(ILegacyIAccessibleProvider* This) {
  603. return This->lpVtbl->AddRef(This);
  604. }
  605. static FORCEINLINE ULONG ILegacyIAccessibleProvider_Release(ILegacyIAccessibleProvider* This) {
  606. return This->lpVtbl->Release(This);
  607. }
  608. /*** ILegacyIAccessibleProvider methods ***/
  609. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_Select(ILegacyIAccessibleProvider* This,LONG flagsSelect) {
  610. return This->lpVtbl->Select(This,flagsSelect);
  611. }
  612. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_DoDefaultAction(ILegacyIAccessibleProvider* This) {
  613. return This->lpVtbl->DoDefaultAction(This);
  614. }
  615. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_SetValue(ILegacyIAccessibleProvider* This,LPCWSTR szValue) {
  616. return This->lpVtbl->SetValue(This,szValue);
  617. }
  618. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_GetIAccessible(ILegacyIAccessibleProvider* This,IAccessible **ppAccessible) {
  619. return This->lpVtbl->GetIAccessible(This,ppAccessible);
  620. }
  621. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_ChildId(ILegacyIAccessibleProvider* This,int *pRetVal) {
  622. return This->lpVtbl->get_ChildId(This,pRetVal);
  623. }
  624. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_Name(ILegacyIAccessibleProvider* This,BSTR *pszName) {
  625. return This->lpVtbl->get_Name(This,pszName);
  626. }
  627. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_Value(ILegacyIAccessibleProvider* This,BSTR *pszValue) {
  628. return This->lpVtbl->get_Value(This,pszValue);
  629. }
  630. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_Description(ILegacyIAccessibleProvider* This,BSTR *pszDescription) {
  631. return This->lpVtbl->get_Description(This,pszDescription);
  632. }
  633. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_Role(ILegacyIAccessibleProvider* This,DWORD *pdwRole) {
  634. return This->lpVtbl->get_Role(This,pdwRole);
  635. }
  636. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_State(ILegacyIAccessibleProvider* This,DWORD *pdwState) {
  637. return This->lpVtbl->get_State(This,pdwState);
  638. }
  639. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_Help(ILegacyIAccessibleProvider* This,BSTR *pszHelp) {
  640. return This->lpVtbl->get_Help(This,pszHelp);
  641. }
  642. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_KeyboardShortcut(ILegacyIAccessibleProvider* This,BSTR *pszKeyboardShortcut) {
  643. return This->lpVtbl->get_KeyboardShortcut(This,pszKeyboardShortcut);
  644. }
  645. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_GetSelection(ILegacyIAccessibleProvider* This,SAFEARRAY **pvarSelectedChildren) {
  646. return This->lpVtbl->GetSelection(This,pvarSelectedChildren);
  647. }
  648. static FORCEINLINE HRESULT ILegacyIAccessibleProvider_get_DefaultAction(ILegacyIAccessibleProvider* This,BSTR *pszDefaultAction) {
  649. return This->lpVtbl->get_DefaultAction(This,pszDefaultAction);
  650. }
  651. #endif
  652. #endif
  653. #endif
  654. #endif /* __ILegacyIAccessibleProvider_INTERFACE_DEFINED__ */
  655. #endif /* __UIA_LIBRARY_DEFINED__ */
  656. /* Begin additional prototypes for all interfaces */
  657. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  658. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  659. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  660. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  661. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  662. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  663. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  664. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  665. /* End additional prototypes */
  666. #ifdef __cplusplus
  667. }
  668. #endif
  669. #endif /* __uiautomationcore_h__ */