36static const WCHAR lresult_atom_prefix[] = {
'w',
'i',
'n',
'e',
'_',
'o',
'l',
'e',
'a',
'c',
'c',
':'};
38#define NAVDIR_INTERNAL_HWND 10
39DEFINE_GUID(SID_AccFromDAWrapper, 0x33f139ee, 0xe509, 0x47f7, 0xbf,0x39, 0x83,0x76,0x44,0xf7,0x45,0x76);
54 FIXME(
"unhandled child ID variant type: %d\n",
V_VT(
v));
86 WARN(
"unhandled class name idx: %x\n",
idx);
93 REFIID riidInterface,
void** ppvObject )
104 FIXME(
"unhandled object id: %ld\n", idObject);
211 hr = IStream_Seek(
stream, seek_zero, STREAM_SEEK_SET,
NULL);
222 }
else if(
stat.cbSize.u.HighPart) {
223 FIXME(
"stream size to big\n");
249 hr = IStream_Seek(
stream, seek_zero, STREAM_SEEK_SET,
NULL);
263 hr = IStream_Seek(
stream, seek_zero, STREAM_SEEK_SET,
NULL);
289 if (!acc || !child_id)
312 IAccessible_Release(
cur);
324 IAccessible_Release(
cur);
326 hr = IDispatch_QueryInterface(
V_DISPATCH(&
v), &IID_IAccessible, (
void**)&
cur);
336 IAccessible_Release(
cur);
337 FIXME(
"unhandled variant type: %d\n",
V_VT(&
v));
353 TRACE(
"%p %ld %ld %p %p\n",
hwnd, object_id, child_id, acc_out, child_id_out);
365 hr = IAccessible_get_accChild(acc, child_id_variant, &
child);
367 TRACE(
"get_accChild failed with %#lx!\n",
hr);
371 IAccessible_Release(acc);
372 hr = IDispatch_QueryInterface(
child, &IID_IAccessible, (
void **)&acc);
373 IDispatch_Release(
child);
381 *child_id_out = child_id_variant;
389 TRACE(
"%p %ld %s %p\n",
hwnd, dwObjectID,
418 TRACE(
"%p %p\n", acc, phwnd);
422 hres = IOleWindow_GetWindow(ow, phwnd);
423 IOleWindow_Release(ow);
440 hres = IAccessible_QueryInterface(acc, &IID_IServiceProvider, (
void**)&
sp);
442 hres = IServiceProvider_QueryService(
sp, &SID_AccFromDAWrapper,
443 &IID_IAccessible, (
void**)&acc2);
444 IServiceProvider_Release(
sp);
448 IAccessible_AddRef(acc2);
454 hres = IOleWindow_GetWindow(ow, phwnd);
455 IOleWindow_Release(ow);
457 IAccessible_Release(acc2);
462 hres = IAccessible_get_accParent(acc, &
parent);
463 IAccessible_Release(acc2);
471 hres = IDispatch_QueryInterface(
parent, &IID_IAccessible, (
void**)&acc2);
472 IDispatch_Release(
parent);
544 TRACE(
"%lu %p %u\n", role, lpRole, rolemax);
552 if(rolemax > 0) lpRole[0] =
'\0';
564 TRACE(
"%lu %p %u\n", role, lpRole, rolemax);
566 if(lpRole && !rolemax)
571 if(lpRole && rolemax)
598 lpRole[rolemax-1] =
'\0';
611 TRACE(
"%lx %p %u\n", state_bit, state_str, state_str_len);
614 if(state_str && state_str_len)
627 if(!
ret && state_str_len)
641 TRACE(
"%lx %p %u\n", state_bit, state_str, state_str_len);
643 if(state_str && !state_str_len)
647 if(state_str && state_str_len)
660 if(!
ret && state_str_len)
678 if(!
container || !children || !children_cnt)
684 hr = IAccessible_QueryInterface(
container, &IID_IEnumVARIANT, (
void**)&ev);
686 hr = IEnumVARIANT_Reset(ev);
688 hr = IEnumVARIANT_Skip(ev,
start);
690 hr = IEnumVARIANT_Next(ev,
count, children, (
ULONG*)children_cnt);
691 IEnumVARIANT_Release(ev);
695 hr = IAccessible_get_accChildCount(
container, &child_no);
705 hr = IAccessible_get_accChild(
container, children[
i], &disp);
static DWORD const fdwReason
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
BOOL NTAPI DllMain(_In_ HINSTANCE hDll, _In_ ULONG dwReason, _In_opt_ PVOID pReserved)
HRESULT WINAPI DllRegisterServer(void)
HRESULT WINAPI DllUnregisterServer(void)
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL delete_on_release, IStream **stream)
HRESULT WINAPI CoMarshalInterface(IStream *stream, REFIID riid, IUnknown *unk, DWORD dest_context, void *pvDestContext, DWORD mshlFlags)
HRESULT WINAPI CoReleaseMarshalData(IStream *stream)
HRESULT WINAPI CoUnmarshalInterface(IStream *stream, REFIID riid, void **ppv)
#define DLL_PROCESS_ATTACH
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
#define WideCharToMultiByte
UINT WINAPI GlobalGetAtomNameW(ATOM nAtom, LPWSTR lpBuffer, int nSize)
ATOM WINAPI GlobalDeleteAtom(ATOM nAtom)
ATOM WINAPI GlobalAddAtomW(LPCWSTR lpString)
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
INT WINAPI DECLSPEC_HOTPATCH LoadStringA(HINSTANCE instance, UINT resource_id, LPSTR buffer, INT buflen)
_ACRTIMP __msvcrt_ulong __cdecl wcstoul(const wchar_t *, wchar_t **, int)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
HRESULT create_client_object(HWND hwnd, const IID *iid, void **obj)
static const struct win_class_data classes[]
static HINSTANCE oleacc_handle
HRESULT WINAPI OLEACC_DllRegisterServer(void)
HANDLE WINAPI GetProcessHandleFromHwnd(HWND hwnd)
LRESULT WINAPI LresultFromObject(REFIID riid, WPARAM wParam, LPUNKNOWN pAcc)
HRESULT WINAPI AccessibleObjectFromWindow(HWND hwnd, DWORD dwObjectID, REFIID riid, void **ppvObject)
BOOL WINAPI OLEACC_DllMain(HINSTANCE, DWORD, void *)
void WINAPI GetOleaccVersionInfo(DWORD *pVersion, DWORD *pBuild)
HRESULT WINAPI AccessibleObjectFromPoint(POINT point, IAccessible **acc, VARIANT *child_id)
HRESULT WINAPI ObjectFromLresult(LRESULT result, REFIID riid, WPARAM wParam, void **ppObject)
int convert_child_id(VARIANT *v)
UINT WINAPI GetStateTextW(DWORD state_bit, WCHAR *state_str, UINT state_str_len)
UINT WINAPI GetStateTextA(DWORD state_bit, CHAR *state_str, UINT state_str_len)
HRESULT WINAPI OLEACC_DllGetClassObject(REFCLSID, REFIID, void **)
HRESULT WINAPI AccessibleChildren(IAccessible *container, LONG start, LONG count, VARIANT *children, LONG *children_cnt)
static const WCHAR lresult_atom_prefix[]
UINT WINAPI GetRoleTextA(DWORD role, LPSTR lpRole, UINT rolemax)
#define NAVDIR_INTERNAL_HWND
HRESULT WINAPI WindowFromAccessibleObject(IAccessible *acc, HWND *phwnd)
HRESULT WINAPI OLEACC_DllUnregisterServer(void)
HRESULT WINAPI AccessibleObjectFromEvent(HWND hwnd, DWORD object_id, DWORD child_id, IAccessible **acc_out, VARIANT *child_id_out)
HRESULT WINAPI CreateStdAccessibleObject(HWND hwnd, LONG idObject, REFIID riidInterface, void **ppvObject)
UINT WINAPI GetRoleTextW(DWORD role, LPWSTR lpRole, UINT rolemax)
const struct win_class_data * find_class_data(HWND hwnd, const struct win_class_data *classes)
static void variant_init_i4(VARIANT *v, int val)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
GLenum GLenum GLenum GLenum mapping
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
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
#define PROCESS_VM_OPERATION
#define PROCESS_DUP_HANDLE
static IN DWORD IN LPVOID lpvReserved
#define memcpy(s1, s2, n)
HRESULT get_accpropservices_factory(REFIID, void **)
HRESULT create_window_object(HWND, const IID *, void **)
const GUID IID_IOleWindow
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
GUID const CLSID_PSFactoryBuffer
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
DWORD WINAPI GetCurrentProcessId(void)
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
BOOL WINAPI IsWindow(_In_opt_ HWND)
UINT WINAPI RealGetWindowClassW(_In_ HWND hwnd, _Out_writes_to_(cchClassNameMax, return) LPWSTR ptszClassName, _In_ UINT cchClassNameMax)
HWND WINAPI WindowFromPoint(_In_ POINT)
#define STATE_SYSTEM_VALID
HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define DUPLICATE_SAME_ACCESS
#define DUPLICATE_CLOSE_SOURCE