[PSDK]
[reactos.git] / reactos / include / psdk / oleacc.idl
index 5333285..97b7858 100644 (file)
 
 import "oaidl.idl";
 
+#ifndef __WIDL__
+#define threading(model)
+#endif
+
+cpp_quote("#define NAVDIR_MIN        0")
 cpp_quote("#define NAVDIR_UP         1")
 cpp_quote("#define NAVDIR_DOWN       2")
 cpp_quote("#define NAVDIR_LEFT       3")
@@ -26,6 +31,7 @@ cpp_quote("#define NAVDIR_NEXT       5")
 cpp_quote("#define NAVDIR_PREVIOUS   6")
 cpp_quote("#define NAVDIR_FIRSTCHILD 7")
 cpp_quote("#define NAVDIR_LASTCHILD  8")
+cpp_quote("#define NAVDIR_MAX        9")
 
 cpp_quote("#define ROLE_SYSTEM_TITLEBAR     1")
 cpp_quote("#define ROLE_SYSTEM_MENUBAR      2")
@@ -100,6 +106,53 @@ cpp_quote("#define SELFLAG_ADDSELECTION    0x08")
 cpp_quote("#define SELFLAG_REMOVESELECTION 0x10")
 cpp_quote("#define SELFLAG_VALID           0x1f")
 
+cpp_quote("#ifndef STATE_SYSTEM_UNAVAILABLE")
+cpp_quote("#define STATE_SYSTEM_NORMAL          0x00000000")
+cpp_quote("#define STATE_SYSTEM_UNAVAILABLE     0x00000001")
+cpp_quote("#define STATE_SYSTEM_SELECTED        0x00000002")
+cpp_quote("#define STATE_SYSTEM_FOCUSED         0x00000004")
+cpp_quote("#define STATE_SYSTEM_PRESSED         0x00000008")
+cpp_quote("#define STATE_SYSTEM_CHECKED         0x00000010")
+cpp_quote("#define STATE_SYSTEM_MIXED           0x00000020")
+cpp_quote("#define STATE_SYSTEM_INDETERMINATE   STATE_SYSTEM_MIXED")
+cpp_quote("#define STATE_SYSTEM_READONLY        0x00000040")
+cpp_quote("#define STATE_SYSTEM_HOTTRACKED      0x00000080")
+cpp_quote("#define STATE_SYSTEM_DEFAULT         0x00000100")
+cpp_quote("#define STATE_SYSTEM_EXPANDED        0x00000200")
+cpp_quote("#define STATE_SYSTEM_COLLAPSED       0x00000400")
+cpp_quote("#define STATE_SYSTEM_BUSY            0x00000800")
+cpp_quote("#define STATE_SYSTEM_FLOATING        0x00001000")
+cpp_quote("#define STATE_SYSTEM_MARQUEED        0x00002000")
+cpp_quote("#define STATE_SYSTEM_ANIMATED        0x00004000")
+cpp_quote("#define STATE_SYSTEM_INVISIBLE       0x00008000")
+cpp_quote("#define STATE_SYSTEM_OFFSCREEN       0x00010000")
+cpp_quote("#define STATE_SYSTEM_SIZEABLE        0x00020000")
+cpp_quote("#define STATE_SYSTEM_MOVEABLE        0x00040000")
+cpp_quote("#define STATE_SYSTEM_SELFVOICING     0x00080000")
+cpp_quote("#define STATE_SYSTEM_FOCUSABLE       0x00100000")
+cpp_quote("#define STATE_SYSTEM_SELECTABLE      0x00200000")
+cpp_quote("#define STATE_SYSTEM_LINKED          0x00400000")
+cpp_quote("#define STATE_SYSTEM_TRAVERSED       0x00800000")
+cpp_quote("#define STATE_SYSTEM_MULTISELECTABLE 0x01000000")
+cpp_quote("#define STATE_SYSTEM_EXTSELECTABLE   0x02000000")
+cpp_quote("#define STATE_SYSTEM_ALERT_LOW       0x04000000")
+cpp_quote("#define STATE_SYSTEM_ALERT_MEDIUM    0x08000000")
+cpp_quote("#define STATE_SYSTEM_ALERT_HIGH      0x10000000")
+cpp_quote("#define STATE_SYSTEM_PROTECTED       0x20000000")
+cpp_quote("#define STATE_SYSTEM_VALID           0x7FFFFFFF")
+cpp_quote("#endif")
+cpp_quote("#ifndef STATE_SYSTEM_HASPOPUP")
+cpp_quote("#define STATE_SYSTEM_HASPOPUP        0x40000000")
+cpp_quote("#endif")
+
+typedef GUID MSAAPROPID;
+
+typedef enum AnnoScope
+{
+    ANNO_THIS,
+    ANNO_CONTAINER
+} AnnoScope;
+
 [
   local,
   object,
@@ -154,7 +207,115 @@ interface IAccessible : IDispatch
     [hidden, propput, id(DISPID_ACC_VALUE)] HRESULT accValue([in]VARIANT varID, [out, retval]BSTR pszValue);
 }
 
-cpp_quote("DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);")
+[
+    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 );
+}
+
+[
+    object,
+    uuid(7852b78d-1cfd-41c1-a615-9c0c85960b5f),
+    pointer_default(unique)
+]
+interface IAccIdentity : IUnknown
+{
+    HRESULT GetIdentityString ([in] DWORD dwIDChild, [out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);
+}
+
+[
+    object,
+    uuid(76c0dbbb-15e0-4e7b-b61b-20eeea2001e0),
+    pointer_default(unique)
+]
+interface IAccPropServer: IUnknown
+{
+    HRESULT GetPropValue ([in] 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] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp, [in] VARIANT var);
+
+    HRESULT SetPropServer([in] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps,
+                    [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
+
+    HRESULT ClearProps([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps, [in] int cProps);
+
+    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] LPWSTR str);
+
+    HRESULT SetHwndPropServer([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
+                    [in] const MSAAPROPID* paProps, [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
+
+    HRESULT ClearHwndProps([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
+                    [in] const MSAAPROPID* paProps, [in] int cProps);
+
+    HRESULT ComposeHwndIdentityString([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
+                    [out] BYTE **ppIDString, [out] DWORD* pdwIDStringLen);
+
+    HRESULT DecomposeHwndIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
+                    [out] HWND* phwnd, [out] DWORD* pidObject, [out] DWORD* pidChild);
+
+    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] LPWSTR str);
+
+    HRESULT SetHmenuPropServer([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps,
+                    [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
+
+    HRESULT ClearHmenuProps([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps, [in] int cProps);
+
+    HRESULT ComposeHmenuIdentityString([in] HMENU hmenu, [in] DWORD idChild,
+                    [out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);
+
+    HRESULT DecomposeHmenuIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
+                    [out] HMENU *phmenu, [out] DWORD *pidChild);
+}
+
+[
+    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),
+        threading(apartment)
+    ]
+    coclass CAccPropServices
+    {
+        interface IAccPropServices;
+    }
+};
+
 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);")