95 (*shortcut)[4] =
buf[
i+1];
115 *
ppv = &
This->IOleWindow_iface;
117 *
ppv = &
This->IEnumVARIANT_iface;
119 *
ppv = &
This->IServiceProvider_iface;
126 IAccessible_AddRef(iface);
171 rgszNames, cNames,
lcid, rgDispId);
177 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
181 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
189 TRACE(
"(%p)->(%p)\n",
This, ppdispParent);
200 TRACE(
"(%p)->(%p)\n",
This, pcountChildren);
227 if(
This->vtbl &&
This->vtbl->get_name)
243 if(
This->vtbl &&
This->vtbl->get_value)
258 *pszDescription =
NULL;
313 if(
This->vtbl &&
This->vtbl->get_state)
346 if(
This->vtbl &&
This->vtbl->get_kbd_shortcut)
347 return This->vtbl->get_kbd_shortcut(
This,
id, shortcut);
402 *pszDefaultAction =
NULL;
422 TRACE(
"(%p)->(%p %p %p %p %s)\n",
This, pxLeft, pyTop,
425 *pxLeft = *pyTop = *pcxWidth = *pcyHeight = 0;
441 *pcxWidth =
pt.x - *pxLeft;
442 *pcyHeight =
pt.y - *pyTop;
461 TRACE(
"(%p)->(%ld %ld %p)\n",
This, xLeft, yTop, pvarID);
500 if(
This->vtbl &&
This->vtbl->put_value)
547 return IAccessible_QueryInterface(&
This->IAccessible_iface,
riid,
ppv);
553 return IAccessible_AddRef(&
This->IAccessible_iface);
559 return IAccessible_Release(&
This->IAccessible_iface);
595 return IAccessible_QueryInterface(&
This->IAccessible_iface,
riid,
ppv);
601 return IAccessible_AddRef(&
This->IAccessible_iface);
607 return IAccessible_Release(&
This->IAccessible_iface);
618 TRACE(
"(%p)->(%lu %p %p)\n",
This, celt, rgVar, pCeltFetched);
656 *pCeltFetched = fetched;
717 return IAccessible_QueryInterface(&
This->IAccessible_iface,
riid,
ppv);
723 return IAccessible_AddRef(&
This->IAccessible_iface);
729 return IAccessible_Release(&
This->IAccessible_iface);
740 if (
IsEqualIID(guid_service, &IIS_IsOleaccProxy))
741 return IAccessible_QueryInterface(&
This->IAccessible_iface,
riid,
ppv);
755 client->role = ROLE_SYSTEM_TEXT;
788 WCHAR class_name[64];
844 buf = heap_alloc_zero((
len + 1) *
sizeof(*
buf));
874 {
L"#32768", 0x10001,
TRUE},
879 {
L"#32770", 0x10006,
TRUE},
880 {
L"#32771", 0x10007,
TRUE},
881 {
L"MDIClient", 0x10008,
TRUE},
882 {
L"#32769", 0x10009,
TRUE},
898 {
L"RICHEDIT", 0x1001c,
TRUE},
899 {
L"RichEdit20A", 0,
TRUE},
900 {
L"RichEdit20W", 0,
TRUE},
926 client->role = ROLE_SYSTEM_CLIENT;
933 hres = IAccessible_QueryInterface(&
client->IAccessible_iface, iid,
obj);
934 IAccessible_Release(&
client->IAccessible_iface);
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
struct tagVARIANT VARIANT
static ULONG WINAPI Client_EnumVARIANT_Release(IEnumVARIANT *iface)
static HRESULT WINAPI Client_get_accSelection(IAccessible *iface, VARIANT *pvarID)
static HRESULT WINAPI Client_get_accChild(IAccessible *iface, VARIANT varChildID, IDispatch **ppdispChild)
static HRESULT WINAPI Client_EnumVARIANT_Skip(IEnumVARIANT *iface, ULONG celt)
static ULONG WINAPI Client_OleWindow_Release(IOleWindow *iface)
static HRESULT WINAPI Client_accHitTest(IAccessible *iface, LONG xLeft, LONG yTop, VARIANT *pvarID)
static HRESULT WINAPI Client_get_accKeyboardShortcut(IAccessible *iface, VARIANT id, BSTR *shortcut)
static HRESULT WINAPI Client_ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guid_service, REFIID riid, void **ppv)
static HRESULT WINAPI Client_GetTypeInfo(IAccessible *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI Client_get_accHelpTopic(IAccessible *iface, BSTR *pszHelpFile, VARIANT varID, LONG *pidTopic)
static ULONG WINAPI Client_AddRef(IAccessible *iface)
HRESULT create_client_object(HWND hwnd, const IID *iid, void **obj)
static const IServiceProviderVtbl ClientServiceProviderVtbl
static void edit_init(Client *client)
static HRESULT WINAPI Client_accNavigate(IAccessible *iface, LONG navDir, VARIANT varStart, VARIANT *pvarEnd)
static Client * impl_from_Client_ServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI Client_get_accFocus(IAccessible *iface, VARIANT *focus)
static HRESULT WINAPI Client_get_accParent(IAccessible *iface, IDispatch **ppdispParent)
static HRESULT WINAPI Client_put_accValue(IAccessible *iface, VARIANT id, BSTR value)
static HRESULT WINAPI Client_accDoDefaultAction(IAccessible *iface, VARIANT varID)
static HRESULT WINAPI Client_OleWindow_QueryInterface(IOleWindow *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Client_EnumVARIANT_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Client_get_accChildCount(IAccessible *iface, LONG *pcountChildren)
static HRESULT WINAPI Client_QueryInterface(IAccessible *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Client_EnumVARIANT_Reset(IEnumVARIANT *iface)
static const IAccessibleVtbl ClientVtbl
static HRESULT edit_get_state(Client *client, VARIANT id, VARIANT *state)
static const win_class_vtbl edit_vtbl
static HRESULT WINAPI Client_get_accDescription(IAccessible *iface, VARIANT varID, BSTR *pszDescription)
static const struct win_class_data classes[]
static const IOleWindowVtbl ClientOleWindowVtbl
static HRESULT edit_get_name(Client *client, VARIANT id, BSTR *name)
static ULONG WINAPI Client_ServiceProvider_AddRef(IServiceProvider *iface)
static HRESULT WINAPI Client_EnumVARIANT_Next(IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
static Client * impl_from_Client(IAccessible *iface)
static Client * impl_from_Client_OleWindow(IOleWindow *iface)
static HRESULT WINAPI Client_GetTypeInfoCount(IAccessible *iface, UINT *pctinfo)
static HRESULT WINAPI Client_EnumVARIANT_Clone(IEnumVARIANT *iface, IEnumVARIANT **ppEnum)
static HRESULT client_get_state(Client *client, VARIANT id, VARIANT *state)
static HWND edit_find_label(HWND hwnd, BOOL visible)
static HRESULT edit_put_value(Client *client, VARIANT id, BSTR value)
static ULONG WINAPI Client_Release(IAccessible *iface)
static HRESULT WINAPI Client_GetIDsOfNames(IAccessible *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static const IEnumVARIANTVtbl ClientEnumVARIANTVtbl
static HRESULT WINAPI Client_OleWindow_ContextSensitiveHelp(IOleWindow *iface, BOOL fEnterMode)
static HRESULT WINAPI Client_get_accHelp(IAccessible *iface, VARIANT varID, BSTR *pszHelp)
static ULONG WINAPI Client_OleWindow_AddRef(IOleWindow *iface)
static HRESULT WINAPI Client_accSelect(IAccessible *iface, LONG flagsSelect, VARIANT varID)
static HRESULT WINAPI Client_accLocation(IAccessible *iface, LONG *pxLeft, LONG *pyTop, LONG *pcxWidth, LONG *pcyHeight, VARIANT varID)
static HRESULT WINAPI Client_OleWindow_GetWindow(IOleWindow *iface, HWND *phwnd)
static HRESULT WINAPI Client_get_accValue(IAccessible *iface, VARIANT id, BSTR *value)
static ULONG WINAPI Client_ServiceProvider_Release(IServiceProvider *iface)
static HRESULT WINAPI Client_get_accRole(IAccessible *iface, VARIANT varID, VARIANT *pvarRole)
static HRESULT win_get_kbd_shortcut(HWND hwnd, BSTR *shortcut)
static ULONG WINAPI Client_EnumVARIANT_AddRef(IEnumVARIANT *iface)
static HRESULT WINAPI Client_get_accName(IAccessible *iface, VARIANT id, BSTR *name)
static HRESULT win_get_name(HWND hwnd, BSTR *name)
static HRESULT WINAPI Client_get_accDefaultAction(IAccessible *iface, VARIANT varID, BSTR *pszDefaultAction)
static Client * impl_from_Client_EnumVARIANT(IEnumVARIANT *iface)
static HRESULT WINAPI Client_put_accName(IAccessible *iface, VARIANT varID, BSTR pszName)
static HRESULT WINAPI Client_ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
static HRESULT edit_get_value(Client *client, VARIANT id, BSTR *value_out)
static HRESULT WINAPI Client_Invoke(IAccessible *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static HRESULT edit_get_kbd_shortcut(Client *client, VARIANT id, BSTR *shortcut)
static HRESULT WINAPI Client_get_accState(IAccessible *iface, VARIANT id, VARIANT *state)
HRESULT WINAPI AccessibleObjectFromWindow(HWND hwnd, DWORD dwObjectID, REFIID riid, void **ppvObject)
int convert_child_id(VARIANT *v)
const struct win_class_data * find_class_data(HWND hwnd, const struct win_class_data *classes)
static const char * debugstr_variant(const VARIANT *var)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memmove(s1, s2, n)
static const WCHAR label[]
static VARIANTARG static DISPID
BSTR WINAPI SysAllocString(LPCOLESTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
const GUID IID_IOleWindow
#define TOOLBARCLASSNAMEW
#define DATETIMEPICK_CLASSW
#define IsEqualIID(riid1, riid2)
static unsigned __int64 next
const win_class_vtbl * vtbl
IEnumVARIANT IEnumVARIANT_iface
IOleWindow IOleWindow_iface
IAccessible IAccessible_iface
IServiceProvider IServiceProvider_iface
HRESULT(* get_state)(Client *, VARIANT, VARIANT *)
HRESULT(* get_kbd_shortcut)(Client *, VARIANT, BSTR *)
HRESULT(* put_value)(Client *, VARIANT, BSTR)
HRESULT(* get_value)(Client *, VARIANT, BSTR *)
HRESULT(* get_name)(Client *, VARIANT, BSTR *)
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
BOOL WINAPI GetGUIThreadInfo(DWORD, LPGUITHREADINFO)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define STATE_SYSTEM_READONLY
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
#define STATE_SYSTEM_FOCUSED
HWND WINAPI ChildWindowFromPointEx(_In_ HWND, _In_ POINT, _In_ UINT)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define STATE_SYSTEM_FOCUSABLE
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)
#define STATE_SYSTEM_INVISIBLE
#define STATE_SYSTEM_UNAVAILABLE
#define CWP_SKIPINVISIBLE
UINT WINAPI RealGetWindowClassW(_In_ HWND hwnd, _Out_writes_to_(cchClassNameMax, return) LPWSTR ptszClassName, _In_ UINT cchClassNameMax)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
BOOL WINAPI IsWindowVisible(_In_ HWND)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define STATE_SYSTEM_PROTECTED
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)