This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/oleacc.h

506 lines
25 KiB
C

/*
* oleacc.h Active Accessibility functions and interfaces
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __oleacc_h__
#define __oleacc_h__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
typedef interface IAccessible IAccessible;
/* Active Accessibility property identifier data type */
typedef GUID MSAAPROPID;
/* Active Accessibility menu information signature */
#define MSAA_MENU_SIG 0xAA0DF00DL
/* Property identifiers */
DEFINE_GUID( PROPID_ACC_NAME, 0x608D3DF8, 0x8128, 0x4AA7, 0xA4, 0x28, 0xF5, 0x5E, 0x49, 0x26, 0x72, 0x91 );
DEFINE_GUID( PROPID_ACC_VALUE, 0x123FE443, 0x211A, 0x4615, 0x95, 0x27, 0xC4, 0x5A, 0x7E, 0x93, 0x71, 0x7A );
DEFINE_GUID( PROPID_ACC_DESCRIPTION, 0x4D48DFE4, 0xBD3F, 0x491F, 0xA6, 0x48, 0x49, 0x2D, 0x6F, 0x20, 0xC5, 0x88 );
DEFINE_GUID( PROPID_ACC_ROLE, 0xCB905FF2, 0x7BD1, 0x4C05, 0xB3, 0xC8, 0xE6, 0xC2, 0x41, 0x36, 0x4D, 0x70 );
DEFINE_GUID( PROPID_ACC_STATE, 0xA8D4D5B0, 0x0A21, 0x42D0, 0xA5, 0xC0, 0x51, 0x4E, 0x98, 0x4F, 0x45, 0x7B );
DEFINE_GUID( PROPID_ACC_HELP, 0xC831E11F, 0x44DB, 0x4A99, 0x97, 0x68, 0xCB, 0x8F, 0x97, 0x8B, 0x72, 0x31 );
DEFINE_GUID( PROPID_ACC_KEYBOARDSHORTCUT, 0x7D9BCEEE, 0x7D1E, 0x4979, 0x93, 0x82, 0x51, 0x80, 0xF4, 0x17, 0x2C, 0x34 );
DEFINE_GUID( PROPID_ACC_DEFAULTACTION, 0x180C072B, 0xC27F, 0x43C7, 0x99, 0x22, 0xF6, 0x35, 0x62, 0xA4, 0x63, 0x2B );
DEFINE_GUID( PROPID_ACC_HELPTOPIC, 0x787D1379, 0x8EDE, 0x440B, 0x8A, 0xEC, 0x11, 0xF7, 0xBF, 0x90, 0x30, 0xB3 );
DEFINE_GUID( PROPID_ACC_FOCUS, 0x6EB335DF, 0x1C29, 0x4127, 0xB1, 0x2C, 0xDE, 0xE9, 0xFD, 0x15, 0x7F, 0x2B );
DEFINE_GUID( PROPID_ACC_SELECTION, 0xB99D073C, 0xD731, 0x405B, 0x90, 0x61, 0xD9, 0x5E, 0x8F, 0x84, 0x29, 0x84 );
DEFINE_GUID( PROPID_ACC_PARENT, 0x474C22B6, 0xFFC2, 0x467A, 0xB1, 0xB5, 0xE9, 0x58, 0xB4, 0x65, 0x73, 0x30 );
DEFINE_GUID( PROPID_ACC_NAV_UP, 0x016E1A2B, 0x1A4E, 0x4767, 0x86, 0x12, 0x33, 0x86, 0xF6, 0x69, 0x35, 0xEC );
DEFINE_GUID( PROPID_ACC_NAV_DOWN, 0x031670ED, 0x3CDF, 0x48D2, 0x96, 0x13, 0x13, 0x8F, 0x2D, 0xD8, 0xA6, 0x68 );
DEFINE_GUID( PROPID_ACC_NAV_LEFT, 0x228086CB, 0x82F1, 0x4A39, 0x87, 0x05, 0xDC, 0xDC, 0x0F, 0xFF, 0x92, 0xF5 );
DEFINE_GUID( PROPID_ACC_NAV_RIGHT, 0xCD211D9F, 0xE1CB, 0x4FE5, 0xA7, 0x7C, 0x92, 0x0B, 0x88, 0x4D, 0x09, 0x5B );
DEFINE_GUID( PROPID_ACC_NAV_PREV, 0x776D3891, 0xC73B, 0x4480, 0xB3, 0xF6, 0x07, 0x6A, 0x16, 0xA1, 0x5A, 0xF6 );
DEFINE_GUID( PROPID_ACC_NAV_NEXT, 0x1CDC5455, 0x8CD9, 0x4C92, 0xA3, 0x71, 0x39, 0x39, 0xA2, 0xFE, 0x3E, 0xEE );
DEFINE_GUID( PROPID_ACC_NAV_FIRSTCHILD, 0xCFD02558, 0x557B, 0x4C67, 0x84, 0xF9, 0x2A, 0x09, 0xFC, 0xE4, 0x07, 0x49 );
DEFINE_GUID( PROPID_ACC_NAV_LASTCHILD, 0x302ECCA5, 0x48D5, 0x4F8D, 0xB6, 0x71, 0x1A, 0x8D, 0x20, 0xA7, 0x78, 0x32 );
DEFINE_GUID( PROPID_ACC_ROLEMAP, 0xF79ACDA2, 0x140D, 0x4FE6, 0x89, 0x14, 0x20, 0x84, 0x76, 0x32, 0x82, 0x69 );
DEFINE_GUID( PROPID_ACC_VALUEMAP, 0xDA1C3D79, 0xFC5C, 0x420E, 0xB3, 0x99, 0x9D, 0x15, 0x33, 0x54, 0x9E, 0x75 );
DEFINE_GUID( PROPID_ACC_STATEMAP, 0x43946C5E, 0x0AC0, 0x4042, 0xB5, 0x25, 0x07, 0xBB, 0xDB, 0xE1, 0x7F, 0xA7 );
DEFINE_GUID( PROPID_ACC_DESCRIPTIONMAP, 0x1FF1435F, 0x8A14, 0x477B, 0xB2, 0x26, 0xA0, 0xAB, 0xE2, 0x79, 0x97, 0x5D );
DEFINE_GUID( PROPID_ACC_DODEFAULTACTION, 0x1BA09523, 0x2E3B, 0x49A6, 0xA0, 0x59, 0x59, 0x68, 0x2A, 0x3C, 0x48, 0xFD );
/* IAccessible dispatch identifiers */
#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)
/* Navigation direction */
#define NAVDIR_MIN 0x00000000L
#define NAVDIR_UP 0x00000001L
#define NAVDIR_DOWN 0x00000002L
#define NAVDIR_LEFT 0x00000003L
#define NAVDIR_RIGHT 0x00000004L
#define NAVDIR_NEXT 0x00000005L
#define NAVDIR_PREVIOUS 0x00000006L
#define NAVDIR_FIRSTCHILD 0x00000007L
#define NAVDIR_LASTCHILD 0x00000008L
#define NAVDIR_MAX 0x00000009L
/* Selection flags */
#define SELFLAG_NONE 0x00000000L
#define SELFLAG_TAKEFOCUS 0x00000001L
#define SELFLAG_TAKESELECTION 0x00000002L
#define SELFLAG_EXTENDSELECTION 0x00000004L
#define SELFLAG_ADDSELECTION 0x00000008L
#define SELFLAG_REMOVESELECTION 0x00000010L
#define SELFLAG_VALID 0x0000001FL
/* System state flags */
#ifndef STATE_SYSTEM_UNAVAILABLE
#define STATE_SYSTEM_SELECTED 0x00000002L
#define STATE_SYSTEM_FOCUSED 0x00000004L
#define STATE_SYSTEM_PRESSED 0x00000008L
#define STATE_SYSTEM_CHECKED 0x00000010L
#define STATE_SYSTEM_MIXED 0x00000020L
#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED
#define STATE_SYSTEM_READONLY 0x00000040L
#define STATE_SYSTEM_HOTTRACKED 0x00000080L
#define STATE_SYSTEM_DEFAULT 0x00000100L
#define STATE_SYSTEM_EXPANDED 0x00000200L
#define STATE_SYSTEM_COLLAPSED 0x00000400L
#define STATE_SYSTEM_BUSY 0x00000800L
#define STATE_SYSTEM_FLOATING 0x00001000L
#define STATE_SYSTEM_MARQUEED 0x00002000L
#define STATE_SYSTEM_ANIMATED 0x00004000L
#define STATE_SYSTEM_INVISIBLE 0x00008000L
#define STATE_SYSTEM_OFFSCREEN 0x00010000L
#define STATE_SYSTEM_SIZEABLE 0x00020000L
#define STATE_SYSTEM_MOVEABLE 0x00040000L
#define STATE_SYSTEM_SELFVOICING 0x00080000L
#define STATE_SYSTEM_FOCUSABLE 0x00100000L
#define STATE_SYSTEM_SELECTABLE 0x00200000L
#define STATE_SYSTEM_LINKED 0x00400000L
#define STATE_SYSTEM_TRAVERSED 0x00800000L
#define STATE_SYSTEM_MULTISELECTABLE 0x01000000L
#define STATE_SYSTEM_EXTSELECTABLE 0x02000000L
#define STATE_SYSTEM_ALERT_LOW 0x04000000L
#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000L
#define STATE_SYSTEM_ALERT_HIGH 0x10000000L
#define STATE_SYSTEM_PROTECTED 0x20000000L
#define STATE_SYSTEM_VALID 0x7FFFFFFFL
#endif
#ifndef STATE_SYSTEM_HASPOPUP
#define STATE_SYSTEM_HASPOPUP 0x40000000L
#endif
/* System roles */
#define ROLE_SYSTEM_TITLEBAR 0x00000001L
#define ROLE_SYSTEM_MENUBAR 0x00000002L
#define ROLE_SYSTEM_SCROLLBAR 0x00000003L
#define ROLE_SYSTEM_GRIP 0x00000004L
#define ROLE_SYSTEM_SOUND 0x00000005L
#define ROLE_SYSTEM_CURSOR 0x00000006L
#define ROLE_SYSTEM_CARET 0x00000007L
#define ROLE_SYSTEM_ALERT 0x00000008L
#define ROLE_SYSTEM_WINDOW 0x00000009L
#define ROLE_SYSTEM_CLIENT 0x0000000AL
#define ROLE_SYSTEM_MENUPOPUP 0x0000000BL
#define ROLE_SYSTEM_MENUITEM 0x0000000CL
#define ROLE_SYSTEM_TOOLTIP 0x0000000DL
#define ROLE_SYSTEM_APPLICATION 0x0000000EL
#define ROLE_SYSTEM_DOCUMENT 0x0000000FL
#define ROLE_SYSTEM_PANE 0x00000010L
#define ROLE_SYSTEM_CHART 0x00000011L
#define ROLE_SYSTEM_DIALOG 0x00000012L
#define ROLE_SYSTEM_BORDER 0x00000013L
#define ROLE_SYSTEM_GROUPING 0x00000014L
#define ROLE_SYSTEM_SEPARATOR 0x00000015L
#define ROLE_SYSTEM_TOOLBAR 0x00000016L
#define ROLE_SYSTEM_STATUSBAR 0x00000017L
#define ROLE_SYSTEM_TABLE 0x00000018L
#define ROLE_SYSTEM_COLUMNHEADER 0x00000019L
#define ROLE_SYSTEM_ROWHEADER 0x0000001AL
#define ROLE_SYSTEM_COLUMN 0x0000001BL
#define ROLE_SYSTEM_ROW 0x0000001CL
#define ROLE_SYSTEM_CELL 0x0000001DL
#define ROLE_SYSTEM_LINK 0x0000001EL
#define ROLE_SYSTEM_HELPBALLOON 0x0000001FL
#define ROLE_SYSTEM_CHARACTER 0x00000020L
#define ROLE_SYSTEM_LIST 0x00000021L
#define ROLE_SYSTEM_LISTITEM 0x00000022L
#define ROLE_SYSTEM_OUTLINE 0x00000023L
#define ROLE_SYSTEM_OUTLINEITEM 0x00000024L
#define ROLE_SYSTEM_PAGETAB 0x00000025L
#define ROLE_SYSTEM_PROPERTYPAGE 0x00000026L
#define ROLE_SYSTEM_INDICATOR 0x00000027L
#define ROLE_SYSTEM_GRAPHIC 0x00000028L
#define ROLE_SYSTEM_STATICTEXT 0x00000029L
#define ROLE_SYSTEM_TEXT 0x0000002AL
#define ROLE_SYSTEM_PUSHBUTTON 0x0000002BL
#define ROLE_SYSTEM_CHECKBUTTON 0x0000002CL
#define ROLE_SYSTEM_RADIOBUTTON 0x0000002DL
#define ROLE_SYSTEM_COMBOBOX 0x0000002EL
#define ROLE_SYSTEM_DROPLIST 0x0000002FL
#define ROLE_SYSTEM_PROGRESSBAR 0x00000030L
#define ROLE_SYSTEM_DIAL 0x00000031L
#define ROLE_SYSTEM_HOTKEYFIELD 0x00000032L
#define ROLE_SYSTEM_SLIDER 0x00000033L
#define ROLE_SYSTEM_SPINBUTTON 0x00000034L
#define ROLE_SYSTEM_DIAGRAM 0x00000035L
#define ROLE_SYSTEM_ANIMATION 0x00000036L
#define ROLE_SYSTEM_EQUATION 0x00000037L
#define ROLE_SYSTEM_BUTTONDROPDOWN 0x00000038L
#define ROLE_SYSTEM_BUTTONMENU 0x00000039L
#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 0x0000003AL
#define ROLE_SYSTEM_WHITESPACE 0x0000003BL
#define ROLE_SYSTEM_PAGETABLIST 0x0000003CL
#define ROLE_SYSTEM_CLOCK 0x0000003DL
#define ROLE_SYSTEM_SPLITBUTTON 0x0000003EL
#define ROLE_SYSTEM_IPADDRESS 0x0000003FL
#define ROLE_SYSTEM_OUTLINEBUTTON 0x00000040L
/* Active Accessibility menu information */
typedef struct tagMSAAMENUINFO {
DWORD dwMSAASignature;
DWORD cchWText;
LPWSTR pszWText;
} MSAAMENUINFO;
typedef MSAAMENUINFO *LPMSAAMENUINFO;
/* Active Accessibility callbacks */
typedef LRESULT (STDAPICALLTYPE *LPFNLRESULTFROMOBJECT)( REFIID, WPARAM, LPUNKNOWN );
typedef HRESULT (STDAPICALLTYPE *LPFNOBJECTFROMLRESULT)( LRESULT, REFIID, WPARAM, void ** );
typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLEOBJECTFROMWINDOW)( HWND, DWORD, REFIID, void ** );
typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLEOBJECTFROMPOINT)( POINT, IAccessible **, VARIANT * );
typedef HRESULT (STDAPICALLTYPE *LPFNCREATESTDACCESSIBLEOBJECT)( HWND, LONG, REFIID, void ** );
typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLECHILDREN)( IAccessible *, LONG, LONG, VARIANT *, LONG * );
/* Annotation scopes */
typedef enum AnnoScope {
ANNO_THIS = 0,
ANNO_CONTAINER = 1
} AnnoScope;
/* GUIDs */
EXTERN_C const IID IID_IAccessible;
EXTERN_C const IID IID_IAccessibleHandler;
EXTERN_C const IID IID_IAccIdentity;
EXTERN_C const IID IID_IAccPropServer;
EXTERN_C const IID IID_IAccPropServices;
EXTERN_C const IID LIBID_Accessibility;
EXTERN_C const CLSID CLSID_CAccPropServices;
/* IAccessible interface */
#undef INTERFACE
#define INTERFACE IAccessible
DECLARE_INTERFACE_( IAccessible, IDispatch ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IDispatch methods */
STDMETHOD( GetTypeInfoCount )( THIS_ UINT * ) PURE;
STDMETHOD( GetTypeInfo )( THIS_ UINT, LCID, ITypeInfo ** ) PURE;
STDMETHOD( GetIDsOfNames )( THIS_ REFIID, LPOLESTR *, UINT, LCID, DISPID * ) PURE;
STDMETHOD( Invoke )( THIS_ DISPID, REFIID, LCID, WORD, DISPPARAMS *, VARIANT *, EXCEPINFO *, UINT * ) PURE;
/* IAccessible methods */
STDMETHOD( get_accParent )( THIS_ IDispatch ** ) PURE;
STDMETHOD( get_accChildCount )( THIS_ long * ) PURE;
STDMETHOD( get_accChild )( THIS_ VARIANT, IDispatch ** ) PURE;
STDMETHOD( get_accName )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( get_accValue )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( get_accDescription )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( get_accRole )( THIS_ VARIANT, VARIANT * ) PURE;
STDMETHOD( get_accState )( THIS_ VARIANT, VARIANT * ) PURE;
STDMETHOD( get_accHelp )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( get_accHelpTopic )( THIS_ BSTR *, VARIANT, long * ) PURE;
STDMETHOD( get_accKeyboardShortcut )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( get_accFocus )( THIS_ VARIANT * ) PURE;
STDMETHOD( get_accSelection )( THIS_ VARIANT * ) PURE;
STDMETHOD( get_accDefaultAction )( THIS_ VARIANT, BSTR * ) PURE;
STDMETHOD( accSelect )( THIS_ long, VARIANT ) PURE;
STDMETHOD( accLocation )( THIS_ long *, long *, long *, long *, VARIANT ) PURE;
STDMETHOD( accNavigate )( THIS_ long, VARIANT, VARIANT * ) PURE;
STDMETHOD( accHitTest )( THIS_ long, long, VARIANT * ) PURE;
STDMETHOD( accDoDefaultAction )( THIS_ VARIANT ) PURE;
STDMETHOD( put_accName )( THIS_ VARIANT, BSTR ) PURE;
STDMETHOD( put_accValue )( THIS_ VARIANT, BSTR ) PURE;
};
typedef IAccessible *LPACCESSIBLE;
/* IAccessibleHandler interface */
#undef INTERFACE
#define INTERFACE IAccessibleHandler
DECLARE_INTERFACE_( IAccessibleHandler, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IAccessibleHandler methods */
STDMETHOD( AccessibleObjectFromID )( THIS_ long, long, LPACCESSIBLE * ) PURE;
};
typedef IAccessibleHandler *LPACCESSIBLEHANDLER;
/* IAccIdentity interface */
#undef INTERFACE
#define INTERFACE IAccIdentity
DECLARE_INTERFACE_( IAccIdentity, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IAccIdentity methods */
STDMETHOD( GetIdentityString )( THIS_ DWORD, BYTE **, DWORD * ) PURE;
};
/* IAccPropServer interface */
#undef INTERFACE
#define INTERFACE IAccPropServer
DECLARE_INTERFACE_( IAccPropServer, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IAccPropServer methods */
STDMETHOD( GetPropValue )( THIS_ const BYTE *, DWORD, MSAAPROPID, VARIANT *, BOOL * ) PURE;
};
/* IAccPropServices interface */
#undef INTERFACE
#define INTERFACE IAccPropServices
DECLARE_INTERFACE_( IAccPropServices, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IAccPropServices methods */
STDMETHOD( SetPropValue )( THIS_ const BYTE *, DWORD, MSAAPROPID, VARIANT ) PURE;
STDMETHOD( SetPropServer )( THIS_ const BYTE *, DWORD, const MSAAPROPID *, int, IAccPropServer *, AnnoScope ) PURE;
STDMETHOD( ClearProps )( THIS_ const BYTE *, DWORD, const MSAAPROPID *, int ) PURE;
STDMETHOD( SetHwndProp )( THIS_ HWND, DWORD, DWORD, MSAAPROPID, VARIANT ) PURE;
STDMETHOD( SetHwndPropStr )( THIS_ HWND, DWORD, DWORD, MSAAPROPID, LPCWSTR ) PURE;
STDMETHOD( SetHwndPropServer )( THIS_ HWND, DWORD, DWORD, const MSAAPROPID *, int, IAccPropServer *, AnnoScope ) PURE;
STDMETHOD( ClearHwndProps )( THIS_ HWND, DWORD, DWORD, const MSAAPROPID *, int ) PURE;
STDMETHOD( CompareHwndIdentityString )( THIS_ HWND, DWORD, DWORD, BYTE **, DWORD * ) PURE;
STDMETHOD( DecompareHwndIdentityString )( THIS_ const BYTE *, DWORD, HWND *, DWORD *, DWORD * ) PURE;
STDMETHOD( SetHmenuProp )( THIS_ HMENU, DWORD, MSAAPROPID, VARIANT ) PURE;
STDMETHOD( SetHmenuPropStr )( THIS_ HMENU, DWORD, MSAAPROPID, LPCWSTR ) PURE;
STDMETHOD( SetHmenuPropServer )( THIS_ HMENU, DWORD, const MSAAPROPID *, int, IAccPropServer *, AnnoScope ) PURE;
STDMETHOD( ClearHmenuProps )( THIS_ HMENU, DWORD, const MSAAPROPID *, int ) PURE;
STDMETHOD( CompareHmenuIdentityString )( THIS_ HMENU, DWORD, BYTE **, DWORD * ) PURE;
STDMETHOD( DecompareHmenuIdentityString )( THIS_ const BYTE *, DWORD, HMENU *, DWORD * ) PURE;
};
/* C object macros */
#if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS )
#define IAccessible_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IAccessible_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IAccessible_Release( x ) \
(x)->lpVtbl->Release( x )
#define IAccessible_GetTypeInfoCount( x, p ) \
(x)->lpVtbl->GetTypeInfoCount( x, p )
#define IAccessible_GetTypeInfo( x, p1, p2, p3 ) \
(x)->lpVtbl->GetTypeInfo( x, p1, p2, p3 )
#define IAccessible_GetIDsOfNames( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->GetIDsOfNames( x, p1, p2, p3, p4, p5 )
#define IAccessible_Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \
(x)->lpVtbl->Invoke( x, p1, p2, p3, p4, p5, p6, p7, p8 )
#define IAccessible_get_accParent( x, p ) \
(x)->lpVtbl->get_accParent( x, p )
#define IAccessible_get_accChildCount( x, p ) \
(x)->lpVtbl->get_accChildCount( x, p )
#define IAccessible_get_accChild( x, p1, p2 ) \
(x)->lpVtbl->get_accChild( x, p1, p2 )
#define IAccessible_get_accName( x, p1, p2 ) \
(x)->lpVtbl->get_accName( x, p1, p2 )
#define IAccessible_get_accValue( x, p1, p2 ) \
(x)->lpVtbl->get_accValue( x, p1, p2 )
#define IAccessible_get_accDescription( x, p1, p2 ) \
(x)->lpVtbl->get_accDescription( x, p1, p2 )
#define IAccessible_get_accRole( x, p1, p2 ) \
(x)->lpVtbl->get_accRole( x, p1, p2 )
#define IAccessible_get_accState( x, p1, p2 ) \
(x)->lpVtbl->get_accState( x, p1, p2 )
#define IAccessible_get_accHelp( x, p1, p2 ) \
(x)->lpVtbl->get_accHelp( x, p1, p2 )
#define IAccessible_get_accHelpTopic( x, p1, p2, p3 ) \
(x)->lpVtbl->get_accHelpTopic( x, p1, p2, p3 )
#define IAccessible_get_accKeyboardShortcut( x, p1, p2 ) \
(x)->lpVtbl->get_accKeyboardShortcut( x, p1, p2 )
#define IAccessible_get_accFocus( x, p ) \
(x)->lpVtbl->get_accFocus( x, p )
#define IAccessible_get_accSelection( x, p ) \
(x)->lpVtbl->get_accSelection( x, p )
#define IAccessible_get_accDefaultAction( x, p1, p2 ) \
(x)->lpVtbl->get_accDefaultAction( x, p1, p2 )
#define IAccessible_accSelect( x, p1, p2 ) \
(x)->lpVtbl->accSelect( x, p1, p2 )
#define IAccessible_accLocation( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->accLocation( x, p1, p2, p3, p4, p5 )
#define IAccessible_accNavigate( x, p1, p2, p3 ) \
(x)->lpVtbl->accNavigate( x, p1, p2, p3 )
#define IAccessible_accHitTest( x, p1, p2, p3 ) \
(x)->lpVtbl->accHitTest( x, p1, p2, p3 )
#define IAccessible_accDoDefaultAction( x, p ) \
(x)->lpVtbl->accDoDefaultAction( x, p )
#define IAccessible_put_accName( x, p1, p2 ) \
(x)->lpVtbl->put_accName( x, p1, p2 )
#define IAccessible_put_accValue( x, p1, p2 ) \
(x)->lpVtbl->put_accValue( x, p1, p2 )
#define IAccessibleHandler_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IAccessibleHandler_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IAccessibleHandler_Release( x ) \
(x)->lpVtbl->Release( x )
#define IAccessibleHandler_AccessibleObjectFromID( x, p1, p2, p3 ) \
(x)->lpVtbl->AccessibleObjectFromID( x, p1, p2, p3 )
#define IAccIdentity_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IAccIdentity_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IAccIdentity_Release( x ) \
(x)->lpVtbl->Release( x )
#define IAccIdentity_GetIdentityString( x, p1, p2, p3 ) \
(x)->lpVtbl->GetIdentityString( x, p1, p2, p3 )
#define IAccPropServer_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IAccPropServer_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IAccPropServer_Release( x ) \
(x)->lpVtbl->Release( x )
#define IAccPropServer_GetPropValue( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->GetPropValue( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IAccPropServices_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IAccPropServices_Release( x ) \
(x)->lpVtbl->Release( x )
#define IAccPropServices_SetPropValue( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->SetPropValue( x, p1, p2, p3, p4 )
#define IAccPropServices_SetPropServer( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->SetPropServer( x, p1, p2, p3, p4, p5, p6 )
#define IAccPropServices_ClearProps( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->ClearProps( x, p1, p2, p3, p4 )
#define IAccPropServices_SetHwndProp( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->SetHwndProp( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_SetHwndPropStr( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->SetHwndPropStr( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_SetHwndPropServer( x, p1, p2, p3, p4, p5, p6, p7 ) \
(x)->lpVtbl->SetHwndPropServer( x, p1, p2, p3, p4, p5, p6, p7 )
#define IAccPropServices_ClearHwndProps( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->ClearHwndProps( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_CompareHwndIdentityString( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->CompareHwndIdentityString( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_DecompareHwndIdentityString( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->DecompareHwndIdentityString( x, p1, p2, p3, p4, p5 )
#define IAccPropServices_SetHmenuProp( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->SetHmenuProp( x, p1, p2, p3, p4 )
#define IAccPropServices_SetHmenuPropStr( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->SetHmenuPropStr( x, p1, p2, p3, p4 )
#define IAccPropServices_SetHmenuPropServer( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->SetHmenuPropServer( x, p1, p2, p3, p4, p5, p6 )
#define IAccPropServices_ClearHmenuProps( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->ClearHmenuProps( x, p1, p2, p3, p4 )
#define IAccPropServices_ComposeHmenuIdentityString( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->ComposeHmenuIdentityString( x, p1, p2, p3, p4 )
#define IAccPropServices_DecomposeHmenuIdentityString( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->DecomposeHmenuIdentityString( x, p1, p2, p3, p4 )
#endif
/* Functions in OLEACC.DLL */
STDAPI AccessibleChildren( IAccessible *, LONG, LONG, VARIANT *, LONG * );
STDAPI AccessibleObjectFromEvent( HWND, DWORD, DWORD, IAccessible **, VARIANT * );
STDAPI AccessibleObjectFromPoint( POINT, IAccessible **, VARIANT * );
STDAPI AccessibleObjectFromWindow( HWND, DWORD, REFIID, void ** );
STDAPI CreateStdAccessibleObject( HWND, LONG, REFIID, void ** );
STDAPI CreateStdAccessibleProxyA( HWND, LPCSTR, LONG, REFIID, void ** );
STDAPI CreateStdAccessibleProxyW( HWND, LPCWSTR, LONG, REFIID, void ** );
STDAPI_( VOID ) GetOleaccVersionInfo( DWORD *, DWORD * );
STDAPI_( UINT ) GetRoleTextA( DWORD, LPSTR, UINT );
STDAPI_( UINT ) GetRoleTextW( DWORD, LPWSTR, UINT );
STDAPI_( UINT ) GetStateTextA( DWORD, LPSTR, UINT );
STDAPI_( UINT ) GetStateTextW( DWORD, LPWSTR, UINT );
STDAPI_( LRESULT ) LresultFromObject( REFIID, WPARAM, LPUNKNOWN );
STDAPI ObjectFromLresult( LRESULT, REFIID, WPARAM, void ** );
STDAPI WindowFromAccessibleObject( IAccessible *, HWND * );
/* Map generic function names to the appropriate ANSI or Unicode version. */
#ifdef UNICODE
#define CreateStdAccessibleProxy CreateStdAccessibleProxyW
#define GetRoleText GetRoleTextW
#define GetStateText GetStateTextW
#else
#define CreateStdAccessibleProxy CreateStdAccessibleProxyA
#define GetRoleText GetRoleTextA
#define GetStateText GetStateTextA
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __oleacc_h__ */