//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (c) Microsoft Corporation. All rights reserved. // Microsoft Confidential // // File: oleacc.idl // // Notes: // (1) OPTIONAL parameters must be the last parameters, excepting the single // "RETVAL" output parameter. // (2) The methods must be in the same order as the interface! // // To make a type library that is compatible with Visual Basic, // (That is, allows a VB app to be an Accessible SERVER) several changes // had to be made to this file: // There is a file called "oleacc for vb.idl" that has those changes. // //+------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// OLEACC.H") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright (c) Microsoft Corporation. All rights reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// Typedefs") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("typedef LRESULT (STDAPICALLTYPE *LPFNLRESULTFROMOBJECT)(REFIID riid, WPARAM wParam, LPUNKNOWN punk);") cpp_quote("typedef HRESULT (STDAPICALLTYPE *LPFNOBJECTFROMLRESULT)(LRESULT lResult, REFIID riid, WPARAM wParam, void** ppvObject);") cpp_quote("typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLEOBJECTFROMWINDOW)(HWND hwnd, DWORD dwId, REFIID riid, void** ppvObject);") cpp_quote("typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLEOBJECTFROMPOINT)(POINT ptScreen, IAccessible** ppacc, VARIANT* pvarChild);") cpp_quote("typedef HRESULT (STDAPICALLTYPE *LPFNCREATESTDACCESSIBLEOBJECT)(HWND hwnd, LONG idObject, REFIID riid, void** ppvObject);") cpp_quote("typedef HRESULT (STDAPICALLTYPE *LPFNACCESSIBLECHILDREN)(IAccessible* paccContainer, LONG iChildStart,LONG cChildren,VARIANT* rgvarChildren,LONG* pcObtained);") //---------------------------------------------------------------------------- // GUIDs are defined here so that clients and servers that #include "oleacc.h" // can get them from there by also doing #include in one and only // one of their source modules. The way the oleacc.dll actually gets the GUIDs // is slightly different though - it has copies of the line below in the file // guids.c, with the prefix __declspec(dllexport), so that the GUIDs are also // exported from OLEACC.DLL. Then clients and servers have the option of linking // to oleacc.dll to get them. // // So if you add any more GUIDs, make sure to add them here AND in guids.c //---------------------------------------------------------------------------- cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// GUIDs") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);") cpp_quote("DEFINE_GUID(IID_IAccessible, 0x618736e0, 0x3c3d, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);") cpp_quote("DEFINE_GUID(IID_IAccessibleHandler, 0x03022430, 0xABC4, 0x11d0, 0xBD, 0xE2, 0x00, 0xAA, 0x00, 0x1A, 0x19, 0x53);") cpp_quote("DEFINE_GUID(IID_IAccIdentity, 0x7852b78d, 0x1cfd, 0x41c1, 0xa6, 0x15, 0x9c, 0x0c, 0x85, 0x96, 0x0b, 0x5f);") cpp_quote("DEFINE_GUID(IID_IAccPropServer, 0x76c0dbbb, 0x15e0, 0x4e7b, 0xb6, 0x1b, 0x20, 0xee, 0xea, 0x20, 0x01, 0xe0);") cpp_quote("DEFINE_GUID(IID_IAccPropServices, 0x6e26e776, 0x04f0, 0x495d, 0x80, 0xe4, 0x33, 0x30, 0x35, 0x2e, 0x31, 0x69);") cpp_quote("DEFINE_GUID(IID_IAccPropMgrInternal, 0x2bd370a9, 0x3e7f, 0x4edd, 0x8a, 0x85, 0xf8, 0xfe, 0xd1, 0xf8, 0xe5, 0x1f);") cpp_quote("DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);") cpp_quote("DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// MSAA API Prototypes") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("STDAPI_(LRESULT) LresultFromObject(REFIID riid, WPARAM wParam, LPUNKNOWN punk);") cpp_quote("STDAPI ObjectFromLresult(LRESULT lResult, REFIID riid, WPARAM wParam, void** ppvObject);") cpp_quote("STDAPI WindowFromAccessibleObject(IAccessible*, HWND* phwnd);") cpp_quote("STDAPI AccessibleObjectFromWindow(HWND hwnd, DWORD dwId, REFIID riid, void **ppvObject);") cpp_quote("STDAPI AccessibleObjectFromEvent(HWND hwnd, DWORD dwId, DWORD dwChildId, IAccessible** ppacc, VARIANT* pvarChild);") cpp_quote("STDAPI AccessibleObjectFromPoint(POINT ptScreen, IAccessible ** ppacc, VARIANT* pvarChild);") cpp_quote("STDAPI AccessibleChildren (IAccessible* paccContainer, LONG iChildStart,LONG cChildren, VARIANT* rgvarChildren,LONG* pcObtained);") cpp_quote("") cpp_quote("STDAPI_(UINT) GetRoleTextA(DWORD lRole, LPSTR lpszRole, UINT cchRoleMax);") cpp_quote("STDAPI_(UINT) GetRoleTextW(DWORD lRole, LPWSTR lpszRole, UINT cchRoleMax);") cpp_quote("") cpp_quote("#ifdef UNICODE") cpp_quote("#define GetRoleText GetRoleTextW") cpp_quote("#else") cpp_quote("#define GetRoleText GetRoleTextA") cpp_quote("#endif // UNICODE") cpp_quote("") cpp_quote("STDAPI_(UINT) GetStateTextA(DWORD lStateBit, LPSTR lpszState, UINT cchState);") cpp_quote("STDAPI_(UINT) GetStateTextW(DWORD lStateBit, LPWSTR lpszState, UINT cchState);") cpp_quote("#ifdef UNICODE") cpp_quote("#define GetStateText GetStateTextW") cpp_quote("#else") cpp_quote("#define GetStateText GetStateTextA") cpp_quote("#endif // UNICODE") cpp_quote("") cpp_quote("STDAPI_(VOID) GetOleaccVersionInfo(DWORD* pVer, DWORD* pBuild);") cpp_quote("") cpp_quote("STDAPI CreateStdAccessibleObject(HWND hwnd, LONG idObject, REFIID riid, void** ppvObject);") cpp_quote("") cpp_quote("STDAPI CreateStdAccessibleProxyA(HWND hwnd, LPCSTR pClassName, LONG idObject, REFIID riid, void** ppvObject);") cpp_quote("STDAPI CreateStdAccessibleProxyW(HWND hwnd, LPCWSTR pClassName, LONG idObject, REFIID riid, void** ppvObject);") cpp_quote("") cpp_quote("#ifdef UNICODE") cpp_quote("#define CreateStdAccessibleProxy CreateStdAccessibleProxyW") cpp_quote("#else") cpp_quote("#define CreateStdAccessibleProxy CreateStdAccessibleProxyA") cpp_quote("#endif // UNICODE") cpp_quote("") cpp_quote("") cpp_quote("// Simple Owner-Drawn Menu support...") cpp_quote("") cpp_quote("#define MSAA_MENU_SIG 0xAA0DF00DL") cpp_quote("") cpp_quote("// Menu's dwItemData should point to one of these structs:") cpp_quote("// (or can point to an app-defined struct containing this as the first member)") cpp_quote("typedef struct tagMSAAMENUINFO {") cpp_quote(" DWORD dwMSAASignature; // Must be MSAA_MENU_SIG") cpp_quote(" DWORD cchWText; // Length of text, in Unicode characters, excluding terminating NUL") cpp_quote(" LPWSTR pszWText; // NUL-terminated text, in Unicode") cpp_quote("} MSAAMENUINFO, *LPMSAAMENUINFO;") cpp_quote("") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// Property GUIDs (used by annotation interfaces)") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("DEFINE_GUID( PROPID_ACC_NAME , 0x608d3df8, 0x8128, 0x4aa7, 0xa4, 0x28, 0xf5, 0x5e, 0x49, 0x26, 0x72, 0x91);") cpp_quote("DEFINE_GUID( PROPID_ACC_VALUE , 0x123fe443, 0x211a, 0x4615, 0x95, 0x27, 0xc4, 0x5a, 0x7e, 0x93, 0x71, 0x7a);") cpp_quote("DEFINE_GUID( PROPID_ACC_DESCRIPTION , 0x4d48dfe4, 0xbd3f, 0x491f, 0xa6, 0x48, 0x49, 0x2d, 0x6f, 0x20, 0xc5, 0x88);") cpp_quote("DEFINE_GUID( PROPID_ACC_ROLE , 0xcb905ff2, 0x7bd1, 0x4c05, 0xb3, 0xc8, 0xe6, 0xc2, 0x41, 0x36, 0x4d, 0x70);") cpp_quote("DEFINE_GUID( PROPID_ACC_STATE , 0xa8d4d5b0, 0x0a21, 0x42d0, 0xa5, 0xc0, 0x51, 0x4e, 0x98, 0x4f, 0x45, 0x7b);") cpp_quote("DEFINE_GUID( PROPID_ACC_HELP , 0xc831e11f, 0x44db, 0x4a99, 0x97, 0x68, 0xcb, 0x8f, 0x97, 0x8b, 0x72, 0x31);") cpp_quote("DEFINE_GUID( PROPID_ACC_KEYBOARDSHORTCUT , 0x7d9bceee, 0x7d1e, 0x4979, 0x93, 0x82, 0x51, 0x80, 0xf4, 0x17, 0x2c, 0x34);") cpp_quote("DEFINE_GUID( PROPID_ACC_DEFAULTACTION , 0x180c072b, 0xc27f, 0x43c7, 0x99, 0x22, 0xf6, 0x35, 0x62, 0xa4, 0x63, 0x2b);") cpp_quote("") cpp_quote("DEFINE_GUID( PROPID_ACC_HELPTOPIC , 0x787d1379, 0x8ede, 0x440b, 0x8a, 0xec, 0x11, 0xf7, 0xbf, 0x90, 0x30, 0xb3);") cpp_quote("DEFINE_GUID( PROPID_ACC_FOCUS , 0x6eb335df, 0x1c29, 0x4127, 0xb1, 0x2c, 0xde, 0xe9, 0xfd, 0x15, 0x7f, 0x2b);") cpp_quote("DEFINE_GUID( PROPID_ACC_SELECTION , 0xb99d073c, 0xd731, 0x405b, 0x90, 0x61, 0xd9, 0x5e, 0x8f, 0x84, 0x29, 0x84);") cpp_quote("DEFINE_GUID( PROPID_ACC_PARENT , 0x474c22b6, 0xffc2, 0x467a, 0xb1, 0xb5, 0xe9, 0x58, 0xb4, 0x65, 0x73, 0x30);") cpp_quote("") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_UP , 0x016e1a2b, 0x1a4e, 0x4767, 0x86, 0x12, 0x33, 0x86, 0xf6, 0x69, 0x35, 0xec);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_DOWN , 0x031670ed, 0x3cdf, 0x48d2, 0x96, 0x13, 0x13, 0x8f, 0x2d, 0xd8, 0xa6, 0x68);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_LEFT , 0x228086cb, 0x82f1, 0x4a39, 0x87, 0x05, 0xdc, 0xdc, 0x0f, 0xff, 0x92, 0xf5);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_RIGHT , 0xcd211d9f, 0xe1cb, 0x4fe5, 0xa7, 0x7c, 0x92, 0x0b, 0x88, 0x4d, 0x09, 0x5b);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_PREV , 0x776d3891, 0xc73b, 0x4480, 0xb3, 0xf6, 0x07, 0x6a, 0x16, 0xa1, 0x5a, 0xf6);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_NEXT , 0x1cdc5455, 0x8cd9, 0x4c92, 0xa3, 0x71, 0x39, 0x39, 0xa2, 0xfe, 0x3e, 0xee);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_FIRSTCHILD , 0xcfd02558, 0x557b, 0x4c67, 0x84, 0xf9, 0x2a, 0x09, 0xfc, 0xe4, 0x07, 0x49);") cpp_quote("DEFINE_GUID( PROPID_ACC_NAV_LASTCHILD , 0x302ecaa5, 0x48d5, 0x4f8d, 0xb6, 0x71, 0x1a, 0x8d, 0x20, 0xa7, 0x78, 0x32);") cpp_quote("") cpp_quote("// Value map, used by sliders and other controls...") cpp_quote("DEFINE_GUID( PROPID_ACC_ROLEMAP , 0xf79acda2, 0x140d, 0x4fe6, 0x89, 0x14, 0x20, 0x84, 0x76, 0x32, 0x82, 0x69);") cpp_quote("DEFINE_GUID( PROPID_ACC_VALUEMAP , 0xda1c3d79, 0xfc5c, 0x420e, 0xb3, 0x99, 0x9d, 0x15, 0x33, 0x54, 0x9e, 0x75);") cpp_quote("DEFINE_GUID( PROPID_ACC_STATEMAP , 0x43946c5e, 0x0ac0, 0x4042, 0xb5, 0x25, 0x07, 0xbb, 0xdb, 0xe1, 0x7f, 0xa7);") cpp_quote("DEFINE_GUID( PROPID_ACC_DESCRIPTIONMAP , 0x1ff1435f, 0x8a14, 0x477b, 0xb2, 0x26, 0xa0, 0xab, 0xe2, 0x79, 0x97, 0x5d);") cpp_quote("") cpp_quote("DEFINE_GUID( PROPID_ACC_DODEFAULTACTION , 0x1ba09523, 0x2e3b, 0x49a6, 0xa0, 0x59, 0x59, 0x68, 0x2a, 0x3c, 0x48, 0xfd);") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// Interface Definitions") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") // // IAccessible // #define DO_NO_IMPORTS import "oaidl.idl"; [ object, uuid(618736e0-3c3d-11cf-810c-00aa00389b71), hidden, dual, pointer_default(unique) ] interface IAccessible : IDispatch { // PROPERTIES: Hierarchical const long DISPID_ACC_PARENT = -5000; const long DISPID_ACC_CHILDCOUNT = -5001; const long DISPID_ACC_CHILD = -5002; // PROPERTIES: Descriptional const long DISPID_ACC_NAME = -5003; const long DISPID_ACC_VALUE = -5004; const long DISPID_ACC_DESCRIPTION = -5005; const long DISPID_ACC_ROLE = -5006; const long DISPID_ACC_STATE = -5007; const long DISPID_ACC_HELP = -5008; const long DISPID_ACC_HELPTOPIC = -5009; const long DISPID_ACC_KEYBOARDSHORTCUT = -5010; const long DISPID_ACC_FOCUS = -5011; const long DISPID_ACC_SELECTION = -5012; const long DISPID_ACC_DEFAULTACTION = -5013; // METHODS const long DISPID_ACC_SELECT = -5014; const long DISPID_ACC_LOCATION = -5015; const long DISPID_ACC_NAVIGATE = -5016; const long DISPID_ACC_HITTEST = -5017; const long DISPID_ACC_DODEFAULTACTION = -5018; typedef [unique] IAccessible *LPACCESSIBLE; // // Input to DISPID_ACC_NAVIGATE // const long NAVDIR_MIN = 0x00000000; const long NAVDIR_UP = 0x00000001; const long NAVDIR_DOWN = 0x00000002; const long NAVDIR_LEFT = 0x00000003; const long NAVDIR_RIGHT = 0x00000004; const long NAVDIR_NEXT = 0x00000005; const long NAVDIR_PREVIOUS = 0x00000006; const long NAVDIR_FIRSTCHILD = 0x00000007; const long NAVDIR_LASTCHILD = 0x00000008; const long NAVDIR_MAX = 0x00000009; // Input to DISPID_ACC_SELECT const long SELFLAG_NONE = 0x00000000; const long SELFLAG_TAKEFOCUS = 0x00000001; const long SELFLAG_TAKESELECTION = 0x00000002; const long SELFLAG_EXTENDSELECTION = 0x00000004; const long SELFLAG_ADDSELECTION = 0x00000008; const long SELFLAG_REMOVESELECTION = 0x00000010; const long SELFLAG_VALID = 0x0000001F; cpp_quote("#ifndef STATE_SYSTEM_UNAVAILABLE") // Output from DISPID_ACC_STATE const long STATE_SYSTEM_NORMAL = 0x00000000; const long STATE_SYSTEM_UNAVAILABLE = 0x00000001; // Disabled const long STATE_SYSTEM_SELECTED = 0x00000002; const long STATE_SYSTEM_FOCUSED = 0x00000004; const long STATE_SYSTEM_PRESSED = 0x00000008; const long STATE_SYSTEM_CHECKED = 0x00000010; const long STATE_SYSTEM_MIXED = 0x00000020; // 3-state checkbox or toolbar button const long STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED; const long STATE_SYSTEM_READONLY = 0x00000040; const long STATE_SYSTEM_HOTTRACKED = 0x00000080; const long STATE_SYSTEM_DEFAULT = 0x00000100; const long STATE_SYSTEM_EXPANDED = 0x00000200; const long STATE_SYSTEM_COLLAPSED = 0x00000400; const long STATE_SYSTEM_BUSY = 0x00000800; const long STATE_SYSTEM_FLOATING = 0x00001000; // Children "owned" not "contained" by parent const long STATE_SYSTEM_MARQUEED = 0x00002000; const long STATE_SYSTEM_ANIMATED = 0x00004000; const long STATE_SYSTEM_INVISIBLE = 0x00008000; const long STATE_SYSTEM_OFFSCREEN = 0x00010000; const long STATE_SYSTEM_SIZEABLE = 0x00020000; const long STATE_SYSTEM_MOVEABLE = 0x00040000; const long STATE_SYSTEM_SELFVOICING = 0x00080000; const long STATE_SYSTEM_FOCUSABLE = 0x00100000; const long STATE_SYSTEM_SELECTABLE = 0x00200000; const long STATE_SYSTEM_LINKED = 0x00400000; const long STATE_SYSTEM_TRAVERSED = 0x00800000; const long STATE_SYSTEM_MULTISELECTABLE = 0x01000000; // Supports multiple selection const long STATE_SYSTEM_EXTSELECTABLE = 0x02000000; // Supports extended selection const long STATE_SYSTEM_ALERT_LOW = 0x04000000; // This information is of low priority const long STATE_SYSTEM_ALERT_MEDIUM = 0x08000000; // This information is of medium priority const long STATE_SYSTEM_ALERT_HIGH = 0x10000000; // This information is of high priority const long STATE_SYSTEM_PROTECTED = 0x20000000; const long STATE_SYSTEM_VALID = 0x7FFFFFFF; cpp_quote("#endif //STATE_SYSTEM_UNAVAILABLE") // winuser.h already defines the above, so anything within the // above ifdefs will be pulled from winuser.h, not oleacc.h. // New stuff has to be added outside those ifdefs, otherwise // anything that includes winuser won't see it. cpp_quote("#ifndef STATE_SYSTEM_HASPOPUP") const long STATE_SYSTEM_HASPOPUP = 0x40000000; cpp_quote("#endif //STATE_SYSTEM_HASPOPUP") // Output from DISPID_ACC_ROLE const long ROLE_SYSTEM_TITLEBAR = 0x00000001; const long ROLE_SYSTEM_MENUBAR = 0x00000002; const long ROLE_SYSTEM_SCROLLBAR = 0x00000003; const long ROLE_SYSTEM_GRIP = 0x00000004; const long ROLE_SYSTEM_SOUND = 0x00000005; const long ROLE_SYSTEM_CURSOR = 0x00000006; const long ROLE_SYSTEM_CARET = 0x00000007; const long ROLE_SYSTEM_ALERT = 0x00000008; const long ROLE_SYSTEM_WINDOW = 0x00000009; const long ROLE_SYSTEM_CLIENT = 0x0000000A; const long ROLE_SYSTEM_MENUPOPUP = 0x0000000B; const long ROLE_SYSTEM_MENUITEM = 0x0000000C; const long ROLE_SYSTEM_TOOLTIP = 0x0000000D; const long ROLE_SYSTEM_APPLICATION = 0x0000000E; const long ROLE_SYSTEM_DOCUMENT = 0x0000000F; const long ROLE_SYSTEM_PANE = 0x00000010; const long ROLE_SYSTEM_CHART = 0x00000011; const long ROLE_SYSTEM_DIALOG = 0x00000012; const long ROLE_SYSTEM_BORDER = 0x00000013; const long ROLE_SYSTEM_GROUPING = 0x00000014; const long ROLE_SYSTEM_SEPARATOR = 0x00000015; const long ROLE_SYSTEM_TOOLBAR = 0x00000016; const long ROLE_SYSTEM_STATUSBAR = 0x00000017; const long ROLE_SYSTEM_TABLE = 0x00000018; const long ROLE_SYSTEM_COLUMNHEADER = 0x00000019; const long ROLE_SYSTEM_ROWHEADER = 0x0000001A; const long ROLE_SYSTEM_COLUMN = 0x0000001B; const long ROLE_SYSTEM_ROW = 0x0000001C; const long ROLE_SYSTEM_CELL = 0x0000001D; const long ROLE_SYSTEM_LINK = 0x0000001E; const long ROLE_SYSTEM_HELPBALLOON = 0x0000001F; const long ROLE_SYSTEM_CHARACTER = 0x00000020; const long ROLE_SYSTEM_LIST = 0x00000021; const long ROLE_SYSTEM_LISTITEM = 0x00000022; const long ROLE_SYSTEM_OUTLINE = 0x00000023; const long ROLE_SYSTEM_OUTLINEITEM = 0x00000024; const long ROLE_SYSTEM_PAGETAB = 0x00000025; const long ROLE_SYSTEM_PROPERTYPAGE = 0x00000026; const long ROLE_SYSTEM_INDICATOR = 0x00000027; const long ROLE_SYSTEM_GRAPHIC = 0x00000028; const long ROLE_SYSTEM_STATICTEXT = 0x00000029; const long ROLE_SYSTEM_TEXT = 0x0000002A; // Editable, selectable, etc. const long ROLE_SYSTEM_PUSHBUTTON = 0x0000002B; const long ROLE_SYSTEM_CHECKBUTTON = 0x0000002C; const long ROLE_SYSTEM_RADIOBUTTON = 0x0000002D; const long ROLE_SYSTEM_COMBOBOX = 0x0000002E; const long ROLE_SYSTEM_DROPLIST = 0x0000002F; const long ROLE_SYSTEM_PROGRESSBAR = 0x00000030; const long ROLE_SYSTEM_DIAL = 0x00000031; const long ROLE_SYSTEM_HOTKEYFIELD = 0x00000032; const long ROLE_SYSTEM_SLIDER = 0x00000033; const long ROLE_SYSTEM_SPINBUTTON = 0x00000034; const long ROLE_SYSTEM_DIAGRAM = 0x00000035; const long ROLE_SYSTEM_ANIMATION = 0x00000036; const long ROLE_SYSTEM_EQUATION = 0x00000037; const long ROLE_SYSTEM_BUTTONDROPDOWN = 0x00000038; const long ROLE_SYSTEM_BUTTONMENU = 0x00000039; const long ROLE_SYSTEM_BUTTONDROPDOWNGRID = 0x0000003A; const long ROLE_SYSTEM_WHITESPACE = 0x0000003B; const long ROLE_SYSTEM_PAGETABLIST = 0x0000003C; const long ROLE_SYSTEM_CLOCK = 0x0000003D; const long ROLE_SYSTEM_SPLITBUTTON = 0x0000003E; const long ROLE_SYSTEM_IPADDRESS = 0x0000003F; const long ROLE_SYSTEM_OUTLINEBUTTON = 0x00000040; // Hierarchy Properties [hidden, propget, id(DISPID_ACC_PARENT)] HRESULT accParent([out, retval] IDispatch** ppdispParent); [hidden, propget, id(DISPID_ACC_CHILDCOUNT)] HRESULT accChildCount([out, retval] long* pcountChildren); [hidden, propget, id(DISPID_ACC_CHILD)] HRESULT accChild([in] VARIANT varChild, [out, retval] IDispatch** ppdispChild); // Description Properties [hidden, propget, id(DISPID_ACC_NAME)] HRESULT accName([in, optional] VARIANT varChild,[out, retval] BSTR* pszName); [hidden, propget, id(DISPID_ACC_VALUE)] HRESULT accValue([in, optional] VARIANT varChild,[out, retval] BSTR* pszValue); [hidden, propget, id(DISPID_ACC_DESCRIPTION)] HRESULT accDescription([in, optional] VARIANT varChild,[out, retval] BSTR* pszDescription); [hidden, propget, id(DISPID_ACC_ROLE)] HRESULT accRole([in, optional] VARIANT varChild,[out, retval] VARIANT * pvarRole); [hidden, propget, id(DISPID_ACC_STATE)] HRESULT accState([in, optional] VARIANT varChild,[out, retval] VARIANT * pvarState); [hidden, propget, id(DISPID_ACC_HELP)] HRESULT accHelp([in, optional] VARIANT varChild,[out, retval] BSTR * pszHelp); [hidden, propget, id(DISPID_ACC_HELPTOPIC)] HRESULT accHelpTopic([out] BSTR * pszHelpFile,[in, optional] VARIANT varChild,[out, retval] long * pidTopic); [hidden, propget, id(DISPID_ACC_KEYBOARDSHORTCUT)] HRESULT accKeyboardShortcut([in, optional] VARIANT varChild,[out, retval] BSTR * pszKeyboardShortcut); [hidden, propget, id(DISPID_ACC_FOCUS)] HRESULT accFocus([out, retval] VARIANT * pvarChild); [hidden, propget, id(DISPID_ACC_SELECTION)] HRESULT accSelection([out, retval] VARIANT * pvarChildren); [hidden, propget, id(DISPID_ACC_DEFAULTACTION)] HRESULT accDefaultAction([in, optional] VARIANT varChild,[out, retval] BSTR * pszDefaultAction); // Methods [hidden, id(DISPID_ACC_SELECT)] HRESULT accSelect([in] long flagsSelect,[in, optional] VARIANT varChild); [hidden, id(DISPID_ACC_LOCATION)] HRESULT accLocation([out] long * pxLeft,[out] long * pyTop,[out] long * pcxWidth,[out] long * pcyHeight, [in, optional] VARIANT varChild); [hidden, id(DISPID_ACC_NAVIGATE)] HRESULT accNavigate([in] long navDir,[in, optional] VARIANT varStart,[out, retval] VARIANT * pvarEndUpAt); [hidden, id(DISPID_ACC_HITTEST)] HRESULT accHitTest([in] long xLeft, [in] long yTop,[out, retval] VARIANT * pvarChild); [hidden, id(DISPID_ACC_DODEFAULTACTION)] HRESULT accDoDefaultAction([in, optional] VARIANT varChild); // Description Properties, puts [hidden, propput, id(DISPID_ACC_NAME)] HRESULT accName([in, optional] VARIANT varChild,[in] BSTR szName); [hidden, propput, id(DISPID_ACC_VALUE)] HRESULT accValue([in, optional] VARIANT varChild,[in] BSTR szValue); } [ object, uuid(03022430-ABC4-11d0-BDE2-00AA001A1953), hidden, oleautomation, pointer_default(unique) ] interface IAccessibleHandler : IUnknown { typedef [unique] IAccessibleHandler *LPACCESSIBLEHANDLER; HRESULT AccessibleObjectFromID( [in] long hwnd, [in] long lObjectID, [out] LPACCESSIBLE *pIAccessible ); } // // // Annotation interfaces // // typedef enum AnnoScope { ANNO_THIS = 0, // Just this object ANNO_CONTAINER = 1, // This object, plus immediate children } AnnoScope; typedef GUID MSAAPROPID; // This interface is used to expose an identity string that is used as a key // into the annotation database. [ object, uuid(7852b78d-1cfd-41c1-a615-9c0c85960b5f), pointer_default(unique) ] interface IAccIdentity: IUnknown { HRESULT GetIdentityString ( [in] DWORD dwIDChild, [out, size_is(, *pdwIDStringLen )] BYTE ** ppIDString, [out] DWORD * pdwIDStringLen ); }; [ object, uuid(76c0dbbb-15e0-4e7b-b61b-20eeea2001e0), pointer_default(unique) ] interface IAccPropServer: IUnknown { HRESULT GetPropValue ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp, [out] VARIANT * pvarValue, [out] BOOL * pfHasProp ); }; [ object, uuid(6e26e776-04f0-495d-80e4-3330352e3169), pointer_default(unique) ] interface IAccPropServices: IUnknown { HRESULT SetPropValue ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp, [in] VARIANT var ); HRESULT SetPropServer ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps, [in] IAccPropServer * pServer, [in] AnnoScope annoScope ); HRESULT ClearProps ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps ); // Quick OLEACC/HWND-based functionality HRESULT SetHwndProp ( [in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] VARIANT var ); HRESULT SetHwndPropStr ( [in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, [in] MSAAPROPID idProp, [in, string] LPCWSTR str ); HRESULT SetHwndPropServer ( [in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps, [in] IAccPropServer * pServer, [in] AnnoScope annoScope ); HRESULT ClearHwndProps ( [in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps ); // Methods for composing/decomposing HWND based identity strings... HRESULT ComposeHwndIdentityString ( [in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, [out, size_is(, *pdwIDStringLen )] BYTE ** ppIDString, [out] DWORD * pdwIDStringLen ); HRESULT DecomposeHwndIdentityString ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [out] HWND * phwnd, [out] DWORD * pidObject, [out] DWORD * pidChild ); // Quick OLEACC/HMENU-based functionality HRESULT SetHmenuProp ( [in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] VARIANT var ); HRESULT SetHmenuPropStr ( [in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in, string] LPCWSTR str ); HRESULT SetHmenuPropServer ( [in] HMENU hmenu, [in] DWORD idChild, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps, [in] IAccPropServer * pServer, [in] AnnoScope annoScope ); HRESULT ClearHmenuProps ( [in] HMENU hmenu, [in] DWORD idChild, [in, size_is(cProps)] const MSAAPROPID * paProps, [in] int cProps ); // Methods for composing/decomposing HMENU based identity strings... HRESULT ComposeHmenuIdentityString ( [in] HMENU hmenu, [in] DWORD idChild, [out, size_is(, *pdwIDStringLen )] BYTE ** ppIDString, [out] DWORD * pdwIDStringLen ); HRESULT DecomposeHmenuIdentityString ( [in, size_is(dwIDStringLen)] const BYTE * pIDString, [in] DWORD dwIDStringLen, [out] HMENU * phmenu, [out] DWORD * pidChild ); }; cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// Type Library Definitions") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") [ uuid(1ea4dbf0-3c3b-11cf-810c-00aa00389b71), lcid(0), version(1.1), hidden ] library Accessibility { importlib ("stdole2.tlb"); interface IAccessible; interface IAccessibleHandler; interface IAccIdentity; interface IAccPropServer; interface IAccPropServices; [ uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7) ] coclass CAccPropServices { interface IAccPropServices; } }