/*** Autogenerated by WIDL 11.8 from ../wine/include/oleacc.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __oleacc_h__
#define __oleacc_h__

/* Forward declarations */

#ifndef __IAccessible_FWD_DEFINED__
#define __IAccessible_FWD_DEFINED__
typedef interface IAccessible IAccessible;
#ifdef __cplusplus
interface IAccessible;
#endif /* __cplusplus */
#endif

#ifndef __IAccessibleHandler_FWD_DEFINED__
#define __IAccessibleHandler_FWD_DEFINED__
typedef interface IAccessibleHandler IAccessibleHandler;
#ifdef __cplusplus
interface IAccessibleHandler;
#endif /* __cplusplus */
#endif

#ifndef __IAccIdentity_FWD_DEFINED__
#define __IAccIdentity_FWD_DEFINED__
typedef interface IAccIdentity IAccIdentity;
#ifdef __cplusplus
interface IAccIdentity;
#endif /* __cplusplus */
#endif

#ifndef __IAccPropServer_FWD_DEFINED__
#define __IAccPropServer_FWD_DEFINED__
typedef interface IAccPropServer IAccPropServer;
#ifdef __cplusplus
interface IAccPropServer;
#endif /* __cplusplus */
#endif

#ifndef __IAccPropServices_FWD_DEFINED__
#define __IAccPropServices_FWD_DEFINED__
typedef interface IAccPropServices IAccPropServices;
#ifdef __cplusplus
interface IAccPropServices;
#endif /* __cplusplus */
#endif

#ifndef __CAccPropServices_FWD_DEFINED__
#define __CAccPropServices_FWD_DEFINED__
#ifdef __cplusplus
typedef class CAccPropServices CAccPropServices;
#else
typedef struct CAccPropServices CAccPropServices;
#endif /* defined __cplusplus */
#endif /* defined __CAccPropServices_FWD_DEFINED__ */

/* Headers for imported files */

#include <oaidl.h>

#ifdef __cplusplus
extern "C" {
#endif

#define NAVDIR_MIN        0
#define NAVDIR_UP         1
#define NAVDIR_DOWN       2
#define NAVDIR_LEFT       3
#define NAVDIR_RIGHT      4
#define NAVDIR_NEXT       5
#define NAVDIR_PREVIOUS   6
#define NAVDIR_FIRSTCHILD 7
#define NAVDIR_LASTCHILD  8
#define NAVDIR_MAX        9
#define ROLE_SYSTEM_TITLEBAR     1
#define ROLE_SYSTEM_MENUBAR      2
#define ROLE_SYSTEM_SCROLLBAR    3
#define ROLE_SYSTEM_GRIP         4
#define ROLE_SYSTEM_SOUND        5
#define ROLE_SYSTEM_CURSOR       6
#define ROLE_SYSTEM_CARET        7
#define ROLE_SYSTEM_ALERT        8
#define ROLE_SYSTEM_WINDOW       9
#define ROLE_SYSTEM_CLIENT       10
#define ROLE_SYSTEM_MENUPOPUP    11
#define ROLE_SYSTEM_MENUITEM     12
#define ROLE_SYSTEM_TOOLTIP      13
#define ROLE_SYSTEM_APPLICATION  14
#define ROLE_SYSTEM_DOCUMENT     15
#define ROLE_SYSTEM_PANE         16
#define ROLE_SYSTEM_CHART        17
#define ROLE_SYSTEM_DIALOG       18
#define ROLE_SYSTEM_BORDER       19
#define ROLE_SYSTEM_GROUPING     20
#define ROLE_SYSTEM_SEPARATOR    21
#define ROLE_SYSTEM_TOOLBAR      22
#define ROLE_SYSTEM_STATUSBAR    23
#define ROLE_SYSTEM_TABLE        24
#define ROLE_SYSTEM_COLUMNHEADER 25
#define ROLE_SYSTEM_ROWHEADER    26
#define ROLE_SYSTEM_COLUMN       27
#define ROLE_SYSTEM_ROW          28
#define ROLE_SYSTEM_CELL         29
#define ROLE_SYSTEM_LINK         30
#define ROLE_SYSTEM_HELPBALLOON  31
#define ROLE_SYSTEM_CHARACTER    32
#define ROLE_SYSTEM_LIST         33
#define ROLE_SYSTEM_LISTITEM     34
#define ROLE_SYSTEM_OUTLINE      35
#define ROLE_SYSTEM_OUTLINEITEM  36
#define ROLE_SYSTEM_PAGETAB      37
#define ROLE_SYSTEM_PROPERTYPAGE 38
#define ROLE_SYSTEM_INDICATOR    39
#define ROLE_SYSTEM_GRAPHIC      40
#define ROLE_SYSTEM_STATICTEXT   41
#define ROLE_SYSTEM_TEXT         42
#define ROLE_SYSTEM_PUSHBUTTON   43
#define ROLE_SYSTEM_CHECKBUTTON  44
#define ROLE_SYSTEM_RADIOBUTTON  45
#define ROLE_SYSTEM_COMBOBOX     46
#define ROLE_SYSTEM_DROPLIST     47
#define ROLE_SYSTEM_PROGRESSBAR  48
#define ROLE_SYSTEM_DIAL         49
#define ROLE_SYSTEM_HOTKEYFIELD  50
#define ROLE_SYSTEM_SLIDER       51
#define ROLE_SYSTEM_SPINBUTTON   52
#define ROLE_SYSTEM_DIAGRAM      53
#define ROLE_SYSTEM_ANIMATION    54
#define ROLE_SYSTEM_EQUATION     55
#define ROLE_SYSTEM_BUTTONDROPDOWN 56
#define ROLE_SYSTEM_BUTTONMENU   57
#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58
#define ROLE_SYSTEM_WHITESPACE   59
#define ROLE_SYSTEM_PAGETABLIST  60
#define ROLE_SYSTEM_CLOCK        61
#define ROLE_SYSTEM_SPLITBUTTON  62
#define ROLE_SYSTEM_IPADDRESS    63
#define ROLE_SYSTEM_OUTLINEBUTTON 64
#define SELFLAG_NONE            0x00
#define SELFLAG_TAKEFOCUS       0x01
#define SELFLAG_TAKESELECTION   0x02
#define SELFLAG_EXTENDSELECTION 0x04
#define SELFLAG_ADDSELECTION    0x08
#define SELFLAG_REMOVESELECTION 0x10
#define SELFLAG_VALID           0x1f
#ifndef STATE_SYSTEM_UNAVAILABLE
#define STATE_SYSTEM_NORMAL          0x00000000
#define STATE_SYSTEM_UNAVAILABLE     0x00000001
#define STATE_SYSTEM_SELECTED        0x00000002
#define STATE_SYSTEM_FOCUSED         0x00000004
#define STATE_SYSTEM_PRESSED         0x00000008
#define STATE_SYSTEM_CHECKED         0x00000010
#define STATE_SYSTEM_MIXED           0x00000020
#define STATE_SYSTEM_INDETERMINATE   STATE_SYSTEM_MIXED
#define STATE_SYSTEM_READONLY        0x00000040
#define STATE_SYSTEM_HOTTRACKED      0x00000080
#define STATE_SYSTEM_DEFAULT         0x00000100
#define STATE_SYSTEM_EXPANDED        0x00000200
#define STATE_SYSTEM_COLLAPSED       0x00000400
#define STATE_SYSTEM_BUSY            0x00000800
#define STATE_SYSTEM_FLOATING        0x00001000
#define STATE_SYSTEM_MARQUEED        0x00002000
#define STATE_SYSTEM_ANIMATED        0x00004000
#define STATE_SYSTEM_INVISIBLE       0x00008000
#define STATE_SYSTEM_OFFSCREEN       0x00010000
#define STATE_SYSTEM_SIZEABLE        0x00020000
#define STATE_SYSTEM_MOVEABLE        0x00040000
#define STATE_SYSTEM_SELFVOICING     0x00080000
#define STATE_SYSTEM_FOCUSABLE       0x00100000
#define STATE_SYSTEM_SELECTABLE      0x00200000
#define STATE_SYSTEM_LINKED          0x00400000
#define STATE_SYSTEM_TRAVERSED       0x00800000
#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
#define STATE_SYSTEM_EXTSELECTABLE   0x02000000
#define STATE_SYSTEM_ALERT_LOW       0x04000000
#define STATE_SYSTEM_ALERT_MEDIUM    0x08000000
#define STATE_SYSTEM_ALERT_HIGH      0x10000000
#define STATE_SYSTEM_PROTECTED       0x20000000
#define STATE_SYSTEM_VALID           0x7FFFFFFF
#endif
#ifndef STATE_SYSTEM_HASPOPUP
#define STATE_SYSTEM_HASPOPUP        0x40000000
#endif
typedef GUID MSAAPROPID;
typedef enum AnnoScope {
    ANNO_THIS = 0,
    ANNO_CONTAINER = 1
} AnnoScope;
/*****************************************************************************
 * IAccessible interface
 */
#ifndef __IAccessible_INTERFACE_DEFINED__
#define __IAccessible_INTERFACE_DEFINED__

typedef IAccessible *LPACCESSIBLE;
#define DISPID_ACC_PARENT (-5000)

#define DISPID_ACC_CHILDCOUNT (-5001)

#define DISPID_ACC_CHILD (-5002)

#define DISPID_ACC_NAME (-5003)

#define DISPID_ACC_VALUE (-5004)

#define DISPID_ACC_DESCRIPTION (-5005)

#define DISPID_ACC_ROLE (-5006)

#define DISPID_ACC_STATE (-5007)

#define DISPID_ACC_HELP (-5008)

#define DISPID_ACC_HELPTOPIC (-5009)

#define DISPID_ACC_KEYBOARDSHORTCUT (-5010)

#define DISPID_ACC_FOCUS (-5011)

#define DISPID_ACC_SELECTION (-5012)

#define DISPID_ACC_DEFAULTACTION (-5013)

#define DISPID_ACC_SELECT (-5014)

#define DISPID_ACC_LOCATION (-5015)

#define DISPID_ACC_NAVIGATE (-5016)

#define DISPID_ACC_HITTEST (-5017)

#define DISPID_ACC_DODEFAULTACTION (-5018)

DEFINE_GUID(IID_IAccessible, 0x618736e0, 0x3c3d, 0x11cf, 0x81,0x0c, 0x00,0xaa,0x00,0x38,0x9b,0x71);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("618736e0-3c3d-11cf-810c-00aa00389b71")
IAccessible : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE get_accParent(
        IDispatch **ppdispParent) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accChildCount(
        LONG *pcountChildren) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accChild(
        VARIANT varChildID,
        IDispatch **ppdispChild) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accName(
        VARIANT varID,
        BSTR *pszName) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accValue(
        VARIANT varID,
        BSTR *pszValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accDescription(
        VARIANT varID,
        BSTR *description) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accRole(
        VARIANT varID,
        VARIANT *role) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accState(
        VARIANT varID,
        VARIANT *state) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accHelp(
        VARIANT varID,
        BSTR *help) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accHelpTopic(
        BSTR *helpfile,
        VARIANT varID,
        LONG *pidTopic) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(
        VARIANT varID,
        BSTR *shortcut) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accFocus(
        VARIANT *pvarID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accSelection(
        VARIANT *pvarID) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_accDefaultAction(
        VARIANT varID,
        BSTR *action) = 0;

    virtual HRESULT STDMETHODCALLTYPE accSelect(
        LONG flagsSelect,
        VARIANT varID) = 0;

    virtual HRESULT STDMETHODCALLTYPE accLocation(
        LONG *left,
        LONG *top,
        LONG *width,
        LONG *height,
        VARIANT varID) = 0;

    virtual HRESULT STDMETHODCALLTYPE accNavigate(
        LONG dir,
        VARIANT varStart,
        VARIANT *pvarEnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE accHitTest(
        LONG left,
        LONG top,
        VARIANT *pvarID) = 0;

    virtual HRESULT STDMETHODCALLTYPE accDoDefaultAction(
        VARIANT varID) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accName(
        VARIANT varID,
        BSTR name) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_accValue(
        VARIANT varID,
        BSTR value) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccessible, 0x618736e0, 0x3c3d, 0x11cf, 0x81,0x0c, 0x00,0xaa,0x00,0x38,0x9b,0x71)
#endif
#else
typedef struct IAccessibleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAccessible *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAccessible *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAccessible *This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IAccessible *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IAccessible *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IAccessible *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IAccessible *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IAccessible methods ***/
    HRESULT (STDMETHODCALLTYPE *get_accParent)(
        IAccessible *This,
        IDispatch **ppdispParent);

    HRESULT (STDMETHODCALLTYPE *get_accChildCount)(
        IAccessible *This,
        LONG *pcountChildren);

    HRESULT (STDMETHODCALLTYPE *get_accChild)(
        IAccessible *This,
        VARIANT varChildID,
        IDispatch **ppdispChild);

    HRESULT (STDMETHODCALLTYPE *get_accName)(
        IAccessible *This,
        VARIANT varID,
        BSTR *pszName);

    HRESULT (STDMETHODCALLTYPE *get_accValue)(
        IAccessible *This,
        VARIANT varID,
        BSTR *pszValue);

    HRESULT (STDMETHODCALLTYPE *get_accDescription)(
        IAccessible *This,
        VARIANT varID,
        BSTR *description);

    HRESULT (STDMETHODCALLTYPE *get_accRole)(
        IAccessible *This,
        VARIANT varID,
        VARIANT *role);

    HRESULT (STDMETHODCALLTYPE *get_accState)(
        IAccessible *This,
        VARIANT varID,
        VARIANT *state);

    HRESULT (STDMETHODCALLTYPE *get_accHelp)(
        IAccessible *This,
        VARIANT varID,
        BSTR *help);

    HRESULT (STDMETHODCALLTYPE *get_accHelpTopic)(
        IAccessible *This,
        BSTR *helpfile,
        VARIANT varID,
        LONG *pidTopic);

    HRESULT (STDMETHODCALLTYPE *get_accKeyboardShortcut)(
        IAccessible *This,
        VARIANT varID,
        BSTR *shortcut);

    HRESULT (STDMETHODCALLTYPE *get_accFocus)(
        IAccessible *This,
        VARIANT *pvarID);

    HRESULT (STDMETHODCALLTYPE *get_accSelection)(
        IAccessible *This,
        VARIANT *pvarID);

    HRESULT (STDMETHODCALLTYPE *get_accDefaultAction)(
        IAccessible *This,
        VARIANT varID,
        BSTR *action);

    HRESULT (STDMETHODCALLTYPE *accSelect)(
        IAccessible *This,
        LONG flagsSelect,
        VARIANT varID);

    HRESULT (STDMETHODCALLTYPE *accLocation)(
        IAccessible *This,
        LONG *left,
        LONG *top,
        LONG *width,
        LONG *height,
        VARIANT varID);

    HRESULT (STDMETHODCALLTYPE *accNavigate)(
        IAccessible *This,
        LONG dir,
        VARIANT varStart,
        VARIANT *pvarEnd);

    HRESULT (STDMETHODCALLTYPE *accHitTest)(
        IAccessible *This,
        LONG left,
        LONG top,
        VARIANT *pvarID);

    HRESULT (STDMETHODCALLTYPE *accDoDefaultAction)(
        IAccessible *This,
        VARIANT varID);

    HRESULT (STDMETHODCALLTYPE *put_accName)(
        IAccessible *This,
        VARIANT varID,
        BSTR name);

    HRESULT (STDMETHODCALLTYPE *put_accValue)(
        IAccessible *This,
        VARIANT varID,
        BSTR value);

    END_INTERFACE
} IAccessibleVtbl;

interface IAccessible {
    CONST_VTBL IAccessibleVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccessible_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccessible_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccessible_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IAccessible_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IAccessible_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IAccessible_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IAccessible_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IAccessible methods ***/
#define IAccessible_get_accParent(This,ppdispParent) (This)->lpVtbl->get_accParent(This,ppdispParent)
#define IAccessible_get_accChildCount(This,pcountChildren) (This)->lpVtbl->get_accChildCount(This,pcountChildren)
#define IAccessible_get_accChild(This,varChildID,ppdispChild) (This)->lpVtbl->get_accChild(This,varChildID,ppdispChild)
#define IAccessible_get_accName(This,varID,pszName) (This)->lpVtbl->get_accName(This,varID,pszName)
#define IAccessible_get_accValue(This,varID,pszValue) (This)->lpVtbl->get_accValue(This,varID,pszValue)
#define IAccessible_get_accDescription(This,varID,description) (This)->lpVtbl->get_accDescription(This,varID,description)
#define IAccessible_get_accRole(This,varID,role) (This)->lpVtbl->get_accRole(This,varID,role)
#define IAccessible_get_accState(This,varID,state) (This)->lpVtbl->get_accState(This,varID,state)
#define IAccessible_get_accHelp(This,varID,help) (This)->lpVtbl->get_accHelp(This,varID,help)
#define IAccessible_get_accHelpTopic(This,helpfile,varID,pidTopic) (This)->lpVtbl->get_accHelpTopic(This,helpfile,varID,pidTopic)
#define IAccessible_get_accKeyboardShortcut(This,varID,shortcut) (This)->lpVtbl->get_accKeyboardShortcut(This,varID,shortcut)
#define IAccessible_get_accFocus(This,pvarID) (This)->lpVtbl->get_accFocus(This,pvarID)
#define IAccessible_get_accSelection(This,pvarID) (This)->lpVtbl->get_accSelection(This,pvarID)
#define IAccessible_get_accDefaultAction(This,varID,action) (This)->lpVtbl->get_accDefaultAction(This,varID,action)
#define IAccessible_accSelect(This,flagsSelect,varID) (This)->lpVtbl->accSelect(This,flagsSelect,varID)
#define IAccessible_accLocation(This,left,top,width,height,varID) (This)->lpVtbl->accLocation(This,left,top,width,height,varID)
#define IAccessible_accNavigate(This,dir,varStart,pvarEnd) (This)->lpVtbl->accNavigate(This,dir,varStart,pvarEnd)
#define IAccessible_accHitTest(This,left,top,pvarID) (This)->lpVtbl->accHitTest(This,left,top,pvarID)
#define IAccessible_accDoDefaultAction(This,varID) (This)->lpVtbl->accDoDefaultAction(This,varID)
#define IAccessible_put_accName(This,varID,name) (This)->lpVtbl->put_accName(This,varID,name)
#define IAccessible_put_accValue(This,varID,value) (This)->lpVtbl->put_accValue(This,varID,value)
#else
/*** IUnknown methods ***/
static inline HRESULT IAccessible_QueryInterface(IAccessible* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAccessible_AddRef(IAccessible* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAccessible_Release(IAccessible* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static inline HRESULT IAccessible_GetTypeInfoCount(IAccessible* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static inline HRESULT IAccessible_GetTypeInfo(IAccessible* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static inline HRESULT IAccessible_GetIDsOfNames(IAccessible* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static inline HRESULT IAccessible_Invoke(IAccessible* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IAccessible methods ***/
static inline HRESULT IAccessible_get_accParent(IAccessible* This,IDispatch **ppdispParent) {
    return This->lpVtbl->get_accParent(This,ppdispParent);
}
static inline HRESULT IAccessible_get_accChildCount(IAccessible* This,LONG *pcountChildren) {
    return This->lpVtbl->get_accChildCount(This,pcountChildren);
}
static inline HRESULT IAccessible_get_accChild(IAccessible* This,VARIANT varChildID,IDispatch **ppdispChild) {
    return This->lpVtbl->get_accChild(This,varChildID,ppdispChild);
}
static inline HRESULT IAccessible_get_accName(IAccessible* This,VARIANT varID,BSTR *pszName) {
    return This->lpVtbl->get_accName(This,varID,pszName);
}
static inline HRESULT IAccessible_get_accValue(IAccessible* This,VARIANT varID,BSTR *pszValue) {
    return This->lpVtbl->get_accValue(This,varID,pszValue);
}
static inline HRESULT IAccessible_get_accDescription(IAccessible* This,VARIANT varID,BSTR *description) {
    return This->lpVtbl->get_accDescription(This,varID,description);
}
static inline HRESULT IAccessible_get_accRole(IAccessible* This,VARIANT varID,VARIANT *role) {
    return This->lpVtbl->get_accRole(This,varID,role);
}
static inline HRESULT IAccessible_get_accState(IAccessible* This,VARIANT varID,VARIANT *state) {
    return This->lpVtbl->get_accState(This,varID,state);
}
static inline HRESULT IAccessible_get_accHelp(IAccessible* This,VARIANT varID,BSTR *help) {
    return This->lpVtbl->get_accHelp(This,varID,help);
}
static inline HRESULT IAccessible_get_accHelpTopic(IAccessible* This,BSTR *helpfile,VARIANT varID,LONG *pidTopic) {
    return This->lpVtbl->get_accHelpTopic(This,helpfile,varID,pidTopic);
}
static inline HRESULT IAccessible_get_accKeyboardShortcut(IAccessible* This,VARIANT varID,BSTR *shortcut) {
    return This->lpVtbl->get_accKeyboardShortcut(This,varID,shortcut);
}
static inline HRESULT IAccessible_get_accFocus(IAccessible* This,VARIANT *pvarID) {
    return This->lpVtbl->get_accFocus(This,pvarID);
}
static inline HRESULT IAccessible_get_accSelection(IAccessible* This,VARIANT *pvarID) {
    return This->lpVtbl->get_accSelection(This,pvarID);
}
static inline HRESULT IAccessible_get_accDefaultAction(IAccessible* This,VARIANT varID,BSTR *action) {
    return This->lpVtbl->get_accDefaultAction(This,varID,action);
}
static inline HRESULT IAccessible_accSelect(IAccessible* This,LONG flagsSelect,VARIANT varID) {
    return This->lpVtbl->accSelect(This,flagsSelect,varID);
}
static inline HRESULT IAccessible_accLocation(IAccessible* This,LONG *left,LONG *top,LONG *width,LONG *height,VARIANT varID) {
    return This->lpVtbl->accLocation(This,left,top,width,height,varID);
}
static inline HRESULT IAccessible_accNavigate(IAccessible* This,LONG dir,VARIANT varStart,VARIANT *pvarEnd) {
    return This->lpVtbl->accNavigate(This,dir,varStart,pvarEnd);
}
static inline HRESULT IAccessible_accHitTest(IAccessible* This,LONG left,LONG top,VARIANT *pvarID) {
    return This->lpVtbl->accHitTest(This,left,top,pvarID);
}
static inline HRESULT IAccessible_accDoDefaultAction(IAccessible* This,VARIANT varID) {
    return This->lpVtbl->accDoDefaultAction(This,varID);
}
static inline HRESULT IAccessible_put_accName(IAccessible* This,VARIANT varID,BSTR name) {
    return This->lpVtbl->put_accName(This,varID,name);
}
static inline HRESULT IAccessible_put_accValue(IAccessible* This,VARIANT varID,BSTR value) {
    return This->lpVtbl->put_accValue(This,varID,value);
}
#endif
#endif

#endif


#endif  /* __IAccessible_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAccessibleHandler interface
 */
#ifndef __IAccessibleHandler_INTERFACE_DEFINED__
#define __IAccessibleHandler_INTERFACE_DEFINED__

typedef IAccessibleHandler *LPACCESSIBLEHANDLER;
DEFINE_GUID(IID_IAccessibleHandler, 0x03022430, 0xabc4, 0x11d0, 0xbd,0xe2, 0x00,0xaa,0x00,0x1a,0x19,0x53);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("03022430-abc4-11d0-bde2-00aa001a1953")
IAccessibleHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE AccessibleObjectFromID(
        LONG hwnd,
        LONG lObjectID,
        LPACCESSIBLE *pIAccessible) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccessibleHandler, 0x03022430, 0xabc4, 0x11d0, 0xbd,0xe2, 0x00,0xaa,0x00,0x1a,0x19,0x53)
#endif
#else
typedef struct IAccessibleHandlerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAccessibleHandler *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAccessibleHandler *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAccessibleHandler *This);

    /*** IAccessibleHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *AccessibleObjectFromID)(
        IAccessibleHandler *This,
        LONG hwnd,
        LONG lObjectID,
        LPACCESSIBLE *pIAccessible);

    END_INTERFACE
} IAccessibleHandlerVtbl;

interface IAccessibleHandler {
    CONST_VTBL IAccessibleHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccessibleHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccessibleHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccessibleHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IAccessibleHandler methods ***/
#define IAccessibleHandler_AccessibleObjectFromID(This,hwnd,lObjectID,pIAccessible) (This)->lpVtbl->AccessibleObjectFromID(This,hwnd,lObjectID,pIAccessible)
#else
/*** IUnknown methods ***/
static inline HRESULT IAccessibleHandler_QueryInterface(IAccessibleHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAccessibleHandler_AddRef(IAccessibleHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAccessibleHandler_Release(IAccessibleHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IAccessibleHandler methods ***/
static inline HRESULT IAccessibleHandler_AccessibleObjectFromID(IAccessibleHandler* This,LONG hwnd,LONG lObjectID,LPACCESSIBLE *pIAccessible) {
    return This->lpVtbl->AccessibleObjectFromID(This,hwnd,lObjectID,pIAccessible);
}
#endif
#endif

#endif


#endif  /* __IAccessibleHandler_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAccIdentity interface
 */
#ifndef __IAccIdentity_INTERFACE_DEFINED__
#define __IAccIdentity_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAccIdentity, 0x7852b78d, 0x1cfd, 0x41c1, 0xa6,0x15, 0x9c,0x0c,0x85,0x96,0x0b,0x5f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7852b78d-1cfd-41c1-a615-9c0c85960b5f")
IAccIdentity : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetIdentityString(
        DWORD idchild,
        BYTE **str,
        DWORD *string_len) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccIdentity, 0x7852b78d, 0x1cfd, 0x41c1, 0xa6,0x15, 0x9c,0x0c,0x85,0x96,0x0b,0x5f)
#endif
#else
typedef struct IAccIdentityVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAccIdentity *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAccIdentity *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAccIdentity *This);

    /*** IAccIdentity methods ***/
    HRESULT (STDMETHODCALLTYPE *GetIdentityString)(
        IAccIdentity *This,
        DWORD idchild,
        BYTE **str,
        DWORD *string_len);

    END_INTERFACE
} IAccIdentityVtbl;

interface IAccIdentity {
    CONST_VTBL IAccIdentityVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccIdentity_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccIdentity_Release(This) (This)->lpVtbl->Release(This)
/*** IAccIdentity methods ***/
#define IAccIdentity_GetIdentityString(This,idchild,str,string_len) (This)->lpVtbl->GetIdentityString(This,idchild,str,string_len)
#else
/*** IUnknown methods ***/
static inline HRESULT IAccIdentity_QueryInterface(IAccIdentity* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAccIdentity_AddRef(IAccIdentity* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAccIdentity_Release(IAccIdentity* This) {
    return This->lpVtbl->Release(This);
}
/*** IAccIdentity methods ***/
static inline HRESULT IAccIdentity_GetIdentityString(IAccIdentity* This,DWORD idchild,BYTE **str,DWORD *string_len) {
    return This->lpVtbl->GetIdentityString(This,idchild,str,string_len);
}
#endif
#endif

#endif


#endif  /* __IAccIdentity_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAccPropServer interface
 */
#ifndef __IAccPropServer_INTERFACE_DEFINED__
#define __IAccPropServer_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAccPropServer, 0x76c0dbbb, 0x15e0, 0x4e7b, 0xb6,0x1b, 0x20,0xee,0xea,0x20,0x01,0xe0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("76c0dbbb-15e0-4e7b-b61b-20eeea2001e0")
IAccPropServer : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetPropValue(
        const BYTE *str,
        DWORD string_len,
        MSAAPROPID idProp,
        VARIANT *value,
        BOOL *has_prop) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccPropServer, 0x76c0dbbb, 0x15e0, 0x4e7b, 0xb6,0x1b, 0x20,0xee,0xea,0x20,0x01,0xe0)
#endif
#else
typedef struct IAccPropServerVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAccPropServer *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAccPropServer *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAccPropServer *This);

    /*** IAccPropServer methods ***/
    HRESULT (STDMETHODCALLTYPE *GetPropValue)(
        IAccPropServer *This,
        const BYTE *str,
        DWORD string_len,
        MSAAPROPID idProp,
        VARIANT *value,
        BOOL *has_prop);

    END_INTERFACE
} IAccPropServerVtbl;

interface IAccPropServer {
    CONST_VTBL IAccPropServerVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccPropServer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccPropServer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccPropServer_Release(This) (This)->lpVtbl->Release(This)
/*** IAccPropServer methods ***/
#define IAccPropServer_GetPropValue(This,str,string_len,idProp,value,has_prop) (This)->lpVtbl->GetPropValue(This,str,string_len,idProp,value,has_prop)
#else
/*** IUnknown methods ***/
static inline HRESULT IAccPropServer_QueryInterface(IAccPropServer* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAccPropServer_AddRef(IAccPropServer* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAccPropServer_Release(IAccPropServer* This) {
    return This->lpVtbl->Release(This);
}
/*** IAccPropServer methods ***/
static inline HRESULT IAccPropServer_GetPropValue(IAccPropServer* This,const BYTE *str,DWORD string_len,MSAAPROPID idProp,VARIANT *value,BOOL *has_prop) {
    return This->lpVtbl->GetPropValue(This,str,string_len,idProp,value,has_prop);
}
#endif
#endif

#endif


#endif  /* __IAccPropServer_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IAccPropServices interface
 */
#ifndef __IAccPropServices_INTERFACE_DEFINED__
#define __IAccPropServices_INTERFACE_DEFINED__

DEFINE_GUID(IID_IAccPropServices, 0x6e26e776, 0x04f0, 0x495d, 0x80,0xe4, 0x33,0x30,0x35,0x2e,0x31,0x69);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6e26e776-04f0-495d-80e4-3330352e3169")
IAccPropServices : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetPropValue(
        const BYTE *str,
        DWORD string_len,
        MSAAPROPID idProp,
        VARIANT var) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetPropServer(
        const BYTE *str,
        DWORD string_len,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *pServer,
        AnnoScope AnnoScope) = 0;

    virtual HRESULT STDMETHODCALLTYPE ClearProps(
        const BYTE *str,
        DWORD string_len,
        const MSAAPROPID *props,
        int cProps) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHwndProp(
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        MSAAPROPID idProp,
        VARIANT var) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHwndPropStr(
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        MSAAPROPID idProp,
        LPWSTR str) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHwndPropServer(
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *server,
        AnnoScope scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE ClearHwndProps(
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps) = 0;

    virtual HRESULT STDMETHODCALLTYPE ComposeHwndIdentityString(
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        BYTE **str,
        DWORD *string_len) = 0;

    virtual HRESULT STDMETHODCALLTYPE DecomposeHwndIdentityString(
        const BYTE *str,
        DWORD string_len,
        HWND *phwnd,
        DWORD *pidObject,
        DWORD *pidChild) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHmenuProp(
        HMENU hmenu,
        DWORD idChild,
        MSAAPROPID idProp,
        VARIANT var) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHmenuPropStr(
        HMENU hmenu,
        DWORD idChild,
        MSAAPROPID idProp,
        LPWSTR str) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHmenuPropServer(
        HMENU hmenu,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *server,
        AnnoScope scope) = 0;

    virtual HRESULT STDMETHODCALLTYPE ClearHmenuProps(
        HMENU hmenu,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps) = 0;

    virtual HRESULT STDMETHODCALLTYPE ComposeHmenuIdentityString(
        HMENU hmenu,
        DWORD idChild,
        BYTE **str,
        DWORD *string_len) = 0;

    virtual HRESULT STDMETHODCALLTYPE DecomposeHmenuIdentityString(
        const BYTE *str,
        DWORD string_len,
        HMENU *phmenu,
        DWORD *pidChild) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAccPropServices, 0x6e26e776, 0x04f0, 0x495d, 0x80,0xe4, 0x33,0x30,0x35,0x2e,0x31,0x69)
#endif
#else
typedef struct IAccPropServicesVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IAccPropServices *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IAccPropServices *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IAccPropServices *This);

    /*** IAccPropServices methods ***/
    HRESULT (STDMETHODCALLTYPE *SetPropValue)(
        IAccPropServices *This,
        const BYTE *str,
        DWORD string_len,
        MSAAPROPID idProp,
        VARIANT var);

    HRESULT (STDMETHODCALLTYPE *SetPropServer)(
        IAccPropServices *This,
        const BYTE *str,
        DWORD string_len,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *pServer,
        AnnoScope AnnoScope);

    HRESULT (STDMETHODCALLTYPE *ClearProps)(
        IAccPropServices *This,
        const BYTE *str,
        DWORD string_len,
        const MSAAPROPID *props,
        int cProps);

    HRESULT (STDMETHODCALLTYPE *SetHwndProp)(
        IAccPropServices *This,
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        MSAAPROPID idProp,
        VARIANT var);

    HRESULT (STDMETHODCALLTYPE *SetHwndPropStr)(
        IAccPropServices *This,
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        MSAAPROPID idProp,
        LPWSTR str);

    HRESULT (STDMETHODCALLTYPE *SetHwndPropServer)(
        IAccPropServices *This,
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *server,
        AnnoScope scope);

    HRESULT (STDMETHODCALLTYPE *ClearHwndProps)(
        IAccPropServices *This,
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps);

    HRESULT (STDMETHODCALLTYPE *ComposeHwndIdentityString)(
        IAccPropServices *This,
        HWND hwnd,
        DWORD idObject,
        DWORD idChild,
        BYTE **str,
        DWORD *string_len);

    HRESULT (STDMETHODCALLTYPE *DecomposeHwndIdentityString)(
        IAccPropServices *This,
        const BYTE *str,
        DWORD string_len,
        HWND *phwnd,
        DWORD *pidObject,
        DWORD *pidChild);

    HRESULT (STDMETHODCALLTYPE *SetHmenuProp)(
        IAccPropServices *This,
        HMENU hmenu,
        DWORD idChild,
        MSAAPROPID idProp,
        VARIANT var);

    HRESULT (STDMETHODCALLTYPE *SetHmenuPropStr)(
        IAccPropServices *This,
        HMENU hmenu,
        DWORD idChild,
        MSAAPROPID idProp,
        LPWSTR str);

    HRESULT (STDMETHODCALLTYPE *SetHmenuPropServer)(
        IAccPropServices *This,
        HMENU hmenu,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps,
        IAccPropServer *server,
        AnnoScope scope);

    HRESULT (STDMETHODCALLTYPE *ClearHmenuProps)(
        IAccPropServices *This,
        HMENU hmenu,
        DWORD idChild,
        const MSAAPROPID *props,
        int cProps);

    HRESULT (STDMETHODCALLTYPE *ComposeHmenuIdentityString)(
        IAccPropServices *This,
        HMENU hmenu,
        DWORD idChild,
        BYTE **str,
        DWORD *string_len);

    HRESULT (STDMETHODCALLTYPE *DecomposeHmenuIdentityString)(
        IAccPropServices *This,
        const BYTE *str,
        DWORD string_len,
        HMENU *phmenu,
        DWORD *pidChild);

    END_INTERFACE
} IAccPropServicesVtbl;

interface IAccPropServices {
    CONST_VTBL IAccPropServicesVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAccPropServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAccPropServices_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAccPropServices_Release(This) (This)->lpVtbl->Release(This)
/*** IAccPropServices methods ***/
#define IAccPropServices_SetPropValue(This,str,string_len,idProp,var) (This)->lpVtbl->SetPropValue(This,str,string_len,idProp,var)
#define IAccPropServices_SetPropServer(This,str,string_len,props,cProps,pServer,AnnoScope) (This)->lpVtbl->SetPropServer(This,str,string_len,props,cProps,pServer,AnnoScope)
#define IAccPropServices_ClearProps(This,str,string_len,props,cProps) (This)->lpVtbl->ClearProps(This,str,string_len,props,cProps)
#define IAccPropServices_SetHwndProp(This,hwnd,idObject,idChild,idProp,var) (This)->lpVtbl->SetHwndProp(This,hwnd,idObject,idChild,idProp,var)
#define IAccPropServices_SetHwndPropStr(This,hwnd,idObject,idChild,idProp,str) (This)->lpVtbl->SetHwndPropStr(This,hwnd,idObject,idChild,idProp,str)
#define IAccPropServices_SetHwndPropServer(This,hwnd,idObject,idChild,props,cProps,server,scope) (This)->lpVtbl->SetHwndPropServer(This,hwnd,idObject,idChild,props,cProps,server,scope)
#define IAccPropServices_ClearHwndProps(This,hwnd,idObject,idChild,props,cProps) (This)->lpVtbl->ClearHwndProps(This,hwnd,idObject,idChild,props,cProps)
#define IAccPropServices_ComposeHwndIdentityString(This,hwnd,idObject,idChild,str,string_len) (This)->lpVtbl->ComposeHwndIdentityString(This,hwnd,idObject,idChild,str,string_len)
#define IAccPropServices_DecomposeHwndIdentityString(This,str,string_len,phwnd,pidObject,pidChild) (This)->lpVtbl->DecomposeHwndIdentityString(This,str,string_len,phwnd,pidObject,pidChild)
#define IAccPropServices_SetHmenuProp(This,hmenu,idChild,idProp,var) (This)->lpVtbl->SetHmenuProp(This,hmenu,idChild,idProp,var)
#define IAccPropServices_SetHmenuPropStr(This,hmenu,idChild,idProp,str) (This)->lpVtbl->SetHmenuPropStr(This,hmenu,idChild,idProp,str)
#define IAccPropServices_SetHmenuPropServer(This,hmenu,idChild,props,cProps,server,scope) (This)->lpVtbl->SetHmenuPropServer(This,hmenu,idChild,props,cProps,server,scope)
#define IAccPropServices_ClearHmenuProps(This,hmenu,idChild,props,cProps) (This)->lpVtbl->ClearHmenuProps(This,hmenu,idChild,props,cProps)
#define IAccPropServices_ComposeHmenuIdentityString(This,hmenu,idChild,str,string_len) (This)->lpVtbl->ComposeHmenuIdentityString(This,hmenu,idChild,str,string_len)
#define IAccPropServices_DecomposeHmenuIdentityString(This,str,string_len,phmenu,pidChild) (This)->lpVtbl->DecomposeHmenuIdentityString(This,str,string_len,phmenu,pidChild)
#else
/*** IUnknown methods ***/
static inline HRESULT IAccPropServices_QueryInterface(IAccPropServices* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IAccPropServices_AddRef(IAccPropServices* This) {
    return This->lpVtbl->AddRef(This);
}
static inline ULONG IAccPropServices_Release(IAccPropServices* This) {
    return This->lpVtbl->Release(This);
}
/*** IAccPropServices methods ***/
static inline HRESULT IAccPropServices_SetPropValue(IAccPropServices* This,const BYTE *str,DWORD string_len,MSAAPROPID idProp,VARIANT var) {
    return This->lpVtbl->SetPropValue(This,str,string_len,idProp,var);
}
static inline HRESULT IAccPropServices_SetPropServer(IAccPropServices* This,const BYTE *str,DWORD string_len,const MSAAPROPID *props,int cProps,IAccPropServer *pServer,AnnoScope AnnoScope) {
    return This->lpVtbl->SetPropServer(This,str,string_len,props,cProps,pServer,AnnoScope);
}
static inline HRESULT IAccPropServices_ClearProps(IAccPropServices* This,const BYTE *str,DWORD string_len,const MSAAPROPID *props,int cProps) {
    return This->lpVtbl->ClearProps(This,str,string_len,props,cProps);
}
static inline HRESULT IAccPropServices_SetHwndProp(IAccPropServices* This,HWND hwnd,DWORD idObject,DWORD idChild,MSAAPROPID idProp,VARIANT var) {
    return This->lpVtbl->SetHwndProp(This,hwnd,idObject,idChild,idProp,var);
}
static inline HRESULT IAccPropServices_SetHwndPropStr(IAccPropServices* This,HWND hwnd,DWORD idObject,DWORD idChild,MSAAPROPID idProp,LPWSTR str) {
    return This->lpVtbl->SetHwndPropStr(This,hwnd,idObject,idChild,idProp,str);
}
static inline HRESULT IAccPropServices_SetHwndPropServer(IAccPropServices* This,HWND hwnd,DWORD idObject,DWORD idChild,const MSAAPROPID *props,int cProps,IAccPropServer *server,AnnoScope scope) {
    return This->lpVtbl->SetHwndPropServer(This,hwnd,idObject,idChild,props,cProps,server,scope);
}
static inline HRESULT IAccPropServices_ClearHwndProps(IAccPropServices* This,HWND hwnd,DWORD idObject,DWORD idChild,const MSAAPROPID *props,int cProps) {
    return This->lpVtbl->ClearHwndProps(This,hwnd,idObject,idChild,props,cProps);
}
static inline HRESULT IAccPropServices_ComposeHwndIdentityString(IAccPropServices* This,HWND hwnd,DWORD idObject,DWORD idChild,BYTE **str,DWORD *string_len) {
    return This->lpVtbl->ComposeHwndIdentityString(This,hwnd,idObject,idChild,str,string_len);
}
static inline HRESULT IAccPropServices_DecomposeHwndIdentityString(IAccPropServices* This,const BYTE *str,DWORD string_len,HWND *phwnd,DWORD *pidObject,DWORD *pidChild) {
    return This->lpVtbl->DecomposeHwndIdentityString(This,str,string_len,phwnd,pidObject,pidChild);
}
static inline HRESULT IAccPropServices_SetHmenuProp(IAccPropServices* This,HMENU hmenu,DWORD idChild,MSAAPROPID idProp,VARIANT var) {
    return This->lpVtbl->SetHmenuProp(This,hmenu,idChild,idProp,var);
}
static inline HRESULT IAccPropServices_SetHmenuPropStr(IAccPropServices* This,HMENU hmenu,DWORD idChild,MSAAPROPID idProp,LPWSTR str) {
    return This->lpVtbl->SetHmenuPropStr(This,hmenu,idChild,idProp,str);
}
static inline HRESULT IAccPropServices_SetHmenuPropServer(IAccPropServices* This,HMENU hmenu,DWORD idChild,const MSAAPROPID *props,int cProps,IAccPropServer *server,AnnoScope scope) {
    return This->lpVtbl->SetHmenuPropServer(This,hmenu,idChild,props,cProps,server,scope);
}
static inline HRESULT IAccPropServices_ClearHmenuProps(IAccPropServices* This,HMENU hmenu,DWORD idChild,const MSAAPROPID *props,int cProps) {
    return This->lpVtbl->ClearHmenuProps(This,hmenu,idChild,props,cProps);
}
static inline HRESULT IAccPropServices_ComposeHmenuIdentityString(IAccPropServices* This,HMENU hmenu,DWORD idChild,BYTE **str,DWORD *string_len) {
    return This->lpVtbl->ComposeHmenuIdentityString(This,hmenu,idChild,str,string_len);
}
static inline HRESULT IAccPropServices_DecomposeHmenuIdentityString(IAccPropServices* This,const BYTE *str,DWORD string_len,HMENU *phmenu,DWORD *pidChild) {
    return This->lpVtbl->DecomposeHmenuIdentityString(This,str,string_len,phmenu,pidChild);
}
#endif
#endif

#endif


#endif  /* __IAccPropServices_INTERFACE_DEFINED__ */

#ifndef __Accessibility_LIBRARY_DEFINED__
#define __Accessibility_LIBRARY_DEFINED__

DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81,0x0c, 0x00,0xaa,0x00,0x38,0x9b,0x71);

#ifndef __IAccessible_FWD_DEFINED__
#define __IAccessible_FWD_DEFINED__
typedef interface IAccessible IAccessible;
#ifdef __cplusplus
interface IAccessible;
#endif /* __cplusplus */
#endif

#ifndef __IAccessibleHandler_FWD_DEFINED__
#define __IAccessibleHandler_FWD_DEFINED__
typedef interface IAccessibleHandler IAccessibleHandler;
#ifdef __cplusplus
interface IAccessibleHandler;
#endif /* __cplusplus */
#endif

#ifndef __IAccIdentity_FWD_DEFINED__
#define __IAccIdentity_FWD_DEFINED__
typedef interface IAccIdentity IAccIdentity;
#ifdef __cplusplus
interface IAccIdentity;
#endif /* __cplusplus */
#endif

#ifndef __IAccPropServer_FWD_DEFINED__
#define __IAccPropServer_FWD_DEFINED__
typedef interface IAccPropServer IAccPropServer;
#ifdef __cplusplus
interface IAccPropServer;
#endif /* __cplusplus */
#endif

#ifndef __IAccPropServices_FWD_DEFINED__
#define __IAccPropServices_FWD_DEFINED__
typedef interface IAccPropServices IAccPropServices;
#ifdef __cplusplus
interface IAccPropServices;
#endif /* __cplusplus */
#endif

/*****************************************************************************
 * CAccPropServices coclass
 */

DEFINE_GUID(CLSID_CAccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6,0xee, 0x88,0xbd,0x00,0xb4,0xa5,0xe7);

#ifdef __cplusplus
class DECLSPEC_UUID("b5f8350b-0548-48b1-a6ee-88bd00b4a5e7") CAccPropServices;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(CAccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6,0xee, 0x88,0xbd,0x00,0xb4,0xa5,0xe7)
#endif
#endif

#endif /* __Accessibility_LIBRARY_DEFINED__ */
DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);
DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);
LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);
HRESULT WINAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void **);
HRESULT WINAPI WindowFromAccessibleObject(IAccessible *,HWND *);
HRESULT WINAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void **);
HRESULT WINAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible **,VARIANT *);
HRESULT WINAPI AccessibleObjectFromPoint(POINT,IAccessible **,VARIANT *);
HRESULT WINAPI AccessibleChildren(IAccessible *,LONG,LONG,VARIANT *,LONG *);
void WINAPI GetOleaccVersionInfo(DWORD *,DWORD *);
HRESULT WINAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void **);
HRESULT WINAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void **);
HRESULT WINAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void **);
#define CreateStdAccessibleProxy WINELIB_NAME_AW(CreateStdAccessibleProxy)
UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);
UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);
#define GetRoleText WINELIB_NAME_AW(GetRoleText)
UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);
UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);
#define GetStateText WINELIB_NAME_AW(GetStateText)
/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
ULONG           __RPC_USER HMENU_UserSize     (ULONG *, ULONG, HMENU *);
unsigned char * __RPC_USER HMENU_UserMarshal  (ULONG *, unsigned char *, HMENU *);
unsigned char * __RPC_USER HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *);
void            __RPC_USER HMENU_UserFree     (ULONG *, HMENU *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __oleacc_h__ */
