32#define DEFINE_EXPECT(func) \
33 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
35#define SET_EXPECT(func) \
36 do { called_ ## func = FALSE; expect_ ## func = TRUE; } while(0)
38#define CHECK_EXPECT2(func) \
40 ok(expect_ ##func, "unexpected call " #func "\n"); \
41 called_ ## func = TRUE; \
44#define CHECK_EXPECT(func) \
46 CHECK_EXPECT2(func); \
47 expect_ ## func = FALSE; \
50#define CHECK_CALLED(func) \
52 ok(called_ ## func, "expected " #func "\n"); \
53 expect_ ## func = called_ ## func = FALSE; \
67#define NAVDIR_INTERNAL_HWND 10
68DEFINE_GUID(SID_AccFromDAWrapper, 0x33f139ee, 0xe509, 0x47f7, 0xbf,0x39, 0x83,0x76,0x44,0xf7,0x45,0x76);
76 pGetProcessHandleFromHwnd = (
void*)
GetProcAddress(oleacc,
"GetProcessHandleFromHwnd");
77 if(!pGetProcessHandleFromHwnd) {
78 win_skip(
"GetProcessHandleFromHwnd not available\n");
93 IUnknown_Release(
unk1);
94 IUnknown_QueryInterface(iface2, &
IID_IUnknown, (
void**)&unk2);
95 IUnknown_Release(unk2);
123 IAccessible_AddRef(iface);
129 *ppvObject = &
This->IOleWindow_iface;
130 IOleWindow_AddRef(&
This->IOleWindow_iface);
157 ok(0,
"unexpected call\n");
164 ok(0,
"unexpected call\n");
171 ok(0,
"unexpected call\n");
177 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
179 ok(0,
"unexpected call\n");
196 (
void **)ppdispParent);
198 *ppdispParent =
NULL;
220 ok(
V_VT(&varChildID) ==
VT_I4,
"V_VT(&varChildID) = %d\n",
V_VT(&varChildID));
222 switch(
V_I4(&varChildID))
232 IDispatch_AddRef(*ppdispChild);
236 IDispatch_AddRef(*ppdispChild);
239 ok(0,
"unexpected call\n");
254 ok(!pszName,
"pszName != NULL\n");
261 ok(0,
"unexpected call\n");
268 ok(0,
"unexpected call\n");
275 ok(0,
"unexpected call\n");
282 ok(0,
"unexpected call\n");
289 ok(0,
"unexpected call\n");
296 ok(0,
"unexpected call\n");
303 ok(0,
"unexpected call\n");
309 ok(0,
"unexpected call\n");
316 ok(0,
"unexpected call\n");
323 ok(0,
"unexpected call\n");
330 ok(0,
"unexpected call\n");
337 ok(0,
"unexpected call\n");
367 ok(0,
"unexpected call\n");
374 ok(0,
"unexpected call\n");
381 ok(0,
"unexpected call\n");
388 ok(0,
"unexpected call\n");
431 return IAccessible_QueryInterface(&
This->IAccessible_iface,
riid,
obj);
437 return IAccessible_AddRef(&
This->IAccessible_iface);
443 return IAccessible_Release(&
This->IAccessible_iface);
456 ok(0,
"unexpected call\n");
489 WCHAR bufW[2], *buffW;
493 ok(
ret == 0,
"GetRoleTextA doesn't return zero on wrong role number, got %d\n",
ret);
496 ok(
ret == 0,
"GetRoleTextA doesn't return zero on wrong role number, got %d\n",
ret);
497 ok(
buf[0] == 0,
"GetRoleTextA doesn't return NULL char on wrong role number\n");
500 ok(
ret == 0,
"GetRoleTextA doesn't return zero on wrong role number, got %d\n",
ret);
501 ok(
buf[0] ==
'*',
"GetRoleTextA modified buffer on wrong role number\n");
504 ok(
ret == 0,
"GetRoleTextW doesn't return zero on wrong role number, got %d\n",
ret);
507 ok(
ret == 0,
"GetRoleTextW doesn't return zero on wrong role number, got %d\n",
ret);
508 ok(bufW[0] ==
'\0',
"GetRoleTextW doesn't return NULL char on wrong role number\n");
511 ok(
ret == 0,
"GetRoleTextW doesn't return zero on wrong role number, got %d\n",
ret);
515 ok(
ret > 0,
"GetRoleTextA doesn't return (>0) for zero role number, got %d\n",
ret);
517 ok(
ret > 0,
"GetRoleTextW doesn't return (>0) for zero role number, got %d\n",
ret);
521 ok(
ret > 0,
"GetRoleTextA doesn't return length on NULL buffer, got %d\n",
ret);
523 ok(
ret > 0,
"GetRoleTextA doesn't return length on NULL buffer, got %d\n",
ret);
525 ok(
ret > 0,
"GetRoleTextW doesn't return length on NULL buffer, got %d\n",
ret);
527 ok(
ret > 0,
"GetRoleTextW doesn't return length on NULL buffer, got %d\n",
ret);
532 ok(!
ret,
"GetRoleTextA doesn't return 0, got %d\n",
ret);
533 ok(
buf[0] ==
'*',
"GetRoleTextA modified buffer\n");
536 ok(
ret,
"GetRoleTextW doesn't return length\n");
537 ok(buffW !=
NULL,
"GetRoleTextW doesn't modify buffer\n");
540 ok(
ret == 0,
"GetRoleTextA returned wrong length\n");
541 ok(
buf[0] ==
'\0',
"GetRoleTextA returned not zero-length buffer\n");
544 ok(!
ret,
"GetRoleTextA returned wrong length, got %d, expected 0\n",
ret);
546 "GetRoleTextA returned not zero-length buffer : (%c)\n",
buf[0]);
550 ok(
ret == 0,
"GetRoleTextW returned wrong length, got %d, expected 1\n",
ret);
551 ok(bufW[0] ==
'\0',
"GetRoleTextW returned not zero-length buffer\n");
554 ok(
ret == 1,
"GetRoleTextW returned wrong length, got %d, expected 1\n",
ret);
555 ok(bufW[1] ==
'\0',
"GetRoleTextW returned not zero-length buffer\n");
562 ok(
buff[2*
ret-1] ==
'*',
"GetRoleTextA shouldn't modify this part of buffer\n");
567 buffW[2*
ret-1] =
'*';
569 ok(buffW[2*
ret-1] ==
'*',
"GetRoleTextW shouldn't modify this part of buffer\n");
573 for(
role = 0;
role <= ROLE_SYSTEM_OUTLINEBUTTON;
role++){
578 memset(buff2, 0,
sizeof(buff2));
581 ok(
ret > 0,
"Expected the role to be present\n");
585 "GetRoleTextA: returned length doesn't match returned buffer for role %d\n",
role);
588 memset(buff2W, 0,
sizeof(buff2W));
593 "GetRoleTextW: returned length doesn't match returned buffer for role %d\n",
role);
606 ok(ret2,
"GetStateText failed\n");
610 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2);
611 ok(
ptr !=
NULL,
"ptr was not changed\n");
614 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2);
619 ok(!
ret,
"got %d, expected 0\n",
ret);
620 ok(!
buf[0],
"buf[0] = '%c'\n",
buf[0]);
622 for(
i=0;
i<31;
i++) {
624 ok(
ret,
"%d) GetStateText failed\n",
i);
627 ok(!
ret,
"31) GetStateText succeeded: %d\n",
ret);
630 ok(
ret,
"GetStateText failed\n");
632 ok(ret2,
"GetStateText failed\n");
633 ok(
ret == ret2,
"got %d, expected %d\n", ret2,
ret);
635 "GetStateText(2,...) returned different data than GetStateText(3,...)\n");
638 ok(ret2,
"GetStateText failed\n");
646 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2);
649 ok(
ret == ret2,
"got %d, expected %d\n",
ret, ret2);
652 ok(!
ret,
"got %d, expected 0\n",
ret);
653 ok(!bufa[0],
"bufa[0] = '%c'\n", bufa[0]);
655 for(
i=0;
i<31;
i++) {
657 ok(
ret,
"%d) GetStateText failed\n",
i);
660 ok(!
ret,
"31) GetStateText succeeded: %d\n",
ret);
668 IUnknown_AddRef(iface);
718 ok(unk == &
Object,
"unk != &Object\n");
719 IUnknown_Release(unk);
738 if(
lparam == OBJID_QUERYCLASSNAMEIDX) {
753 ok(0,
"unexpected (%Id)\n",
lparam);
764 memset(&cls, 0,
sizeof(cls));
788 if(
hr ==
S_OK) IUnknown_Release(unk);
801 IUnknown_Release(unk);
830 IAccessible_Release(acc);
833 ok(acc ==
NULL,
"Unexpected acc %p\n", acc);
848 hr = IAccessible_QueryInterface(acc, &IID_IServiceProvider, (
void **)&
sp);
850 ok(!!
sp,
"sp == NULL\n");
852 hr = IServiceProvider_QueryService(
sp, &SID_AccFromDAWrapper, &IID_IAccessible,
856 IAccessible_Release(acc2);
857 IServiceProvider_Release(
sp);
865 hr = IAccessible_get_accName(acc,
cid,
NULL);
869 IAccessible_Release(acc);
881 hr = IAccessible_get_accName(acc,
cid,
NULL);
885 IAccessible_Release(acc);
896 hr = IAccessible_get_accName(acc,
cid,
NULL);
900 IAccessible_Release(acc);
910 hr = IAccessible_get_accName(acc,
cid,
NULL);
913 IAccessible_Release(acc);
925 proc = pGetProcessHandleFromHwnd(
NULL);
928 hwnd =
CreateWindowA(
"static",
"", 0, 0, 0, 0, 0,
NULL,
NULL,
NULL,
NULL);
931 proc = pGetProcessHandleFromHwnd(
hwnd);
959 ok(
hr ==
S_OK,
"AccessibleChildren returned %lx\n",
hr);
971 ok(
hr ==
S_OK,
"AccessibleChildren returned %lx\n",
hr);
978 memset(children, 0xfe,
sizeof(children));
986 ok(
hr ==
S_OK,
"AccessibleChildren returned %lx\n",
hr);
993 ok(
V_I4(children) == 1,
"V_I4(children) = %ld\n",
V_I4(children));
1013 ok(
V_I4(children) == 1,
"V_I4(children) = %ld\n",
V_I4(children));
1031#define check_acc_state(acc, state) _check_acc_state(__LINE__, acc, state)
1039 hr = IAccessible_get_accState(acc, vid, &
v);
1045#define check_acc_hwnd(unk, hwnd) _check_acc_hwnd(__LINE__, unk, hwnd)
1054 hr = IOleWindow_GetWindow(ow, &
hwnd);
1057 IOleWindow_Release(ow);
1069 hr = IOleWindow_GetWindow(ow, &
hwnd);
1071 IOleWindow_Release(ow);
1083 HWND chld, chld2, btn,
hwnd, hwnd2;
1098 ok(chld !=
NULL,
"CreateWindow failed\n");
1101 ok(btn !=
NULL,
"CreateWindow failed\n");
1104 ok(chld2 !=
NULL,
"CreateWindow failed\n");
1116 hr = IAccessible_get_accName(acc, vid, &
str);
1121 hr = IAccessible_get_accKeyboardShortcut(acc, vid, &
str);
1126 IAccessible_Release(acc);
1135 hr = IAccessible_get_accName(acc, vid, &
str);
1140 hr = IAccessible_get_accKeyboardShortcut(acc, vid, &
str);
1145 IAccessible_Release(acc);
1155 ok(
hwnd == hwnd2,
"hwnd2 = %p, expected %p\n", hwnd2,
hwnd);
1157 hr = IAccessible_get_accChildCount(acc, &
l);
1159 ok(
l == 2,
"l = %ld\n",
l);
1163 disp = (
void*)0xdeadbeef;
1164 hr = IAccessible_get_accChild(acc, vid, &disp);
1166 ok(disp ==
NULL,
"disp = %p\n", disp);
1169 disp = (
void*)0xdeadbeef;
1170 hr = IAccessible_get_accChild(acc, vid, &disp);
1172 ok(disp ==
NULL,
"disp = %p\n", disp);
1175 hr = IAccessible_get_accFocus(acc, &
v);
1183 skip(
"SetForegroundWindow failed\n");
1184 IAccessible_Release(acc);
1188 hr = IAccessible_get_accFocus(acc, &
v);
1196 hr = IAccessible_get_accFocus(acc, &
v);
1197 ok(
GetFocus() == btn,
"test window has no focus\n");
1203 hr = IDispatch_QueryInterface(
V_DISPATCH(&
v), &IID_IAccessible, (
void**)&
win);
1209 hr = IAccessible_get_accRole(
win, vid, &
v);
1213 IAccessible_Release(
win);
1216 hr = IAccessible_get_accFocus(acc, &
v);
1222 hr = IDispatch_QueryInterface(
V_DISPATCH(&
v), &IID_IAccessible, (
void**)&
win);
1226 hr = IAccessible_get_accRole(
win, vid, &
v);
1230 IAccessible_Release(
win);
1234 hr = IAccessible_get_accFocus(acc, &
v);
1240 hr = IDispatch_QueryInterface(
V_DISPATCH(&
v), &IID_IAccessible, (
void**)&
win);
1244 hr = IAccessible_get_accRole(
win, vid, &
v);
1248 IAccessible_Release(
win);
1252 hr = IAccessible_QueryInterface(acc, &IID_IEnumVARIANT, (
void**)&ev);
1255 hr = IEnumVARIANT_Skip(ev, 100);
1260 hr = IEnumVARIANT_Next(ev, 1, &
v, &fetched);
1263 ok(fetched == 0,
"fetched = %ld\n", fetched);
1265 hr = IEnumVARIANT_Reset(ev);
1270 hr = IEnumVARIANT_Next(ev, 1, &
v, &fetched);
1274 ok(fetched == 1,
"fetched = %ld\n", fetched);
1275 IEnumVARIANT_Release(ev);
1281 hr = IAccessible_get_accName(acc, vid, &
str);
1289 hr = IAccessible_get_accKeyboardShortcut(acc, vid, &
str);
1295 str = (
void*)0xdeadbeef;
1296 hr = IAccessible_get_accName(acc, vid, &
str);
1298 ok(!
str,
"str != NULL\n");
1301 str = (
void*)0xdeadbeef;
1302 hr = IAccessible_get_accValue(acc, vid, &
str);
1304 ok(!
str,
"str != NULL\n");
1306 str = (
void*)0xdeadbeef;
1307 hr = IAccessible_get_accDescription(acc, vid, &
str);
1309 ok(!
str,
"str != NULL\n");
1313 hr = IAccessible_get_accRole(acc, vid, &
v);
1316 ok(
V_I4(&
v) == ROLE_SYSTEM_CLIENT,
"V_I4(&v) = %ld\n",
V_I4(&
v));
1331 str = (
void*)0xdeadbeef;
1332 hr = IAccessible_get_accHelp(acc, vid, &
str);
1334 ok(!
str,
"str != NULL\n");
1336 str = (
void*)0xdeadbeef;
1337 hr = IAccessible_get_accDefaultAction(acc, vid, &
str);
1339 ok(!
str,
"str != NULL\n");
1343 hr = IAccessible_accHitTest(acc,
pt.x,
pt.y, &
v);
1350 hr = IAccessible_accHitTest(acc,
pt.x,
pt.y, &
v);
1358 hr = IAccessible_accHitTest(acc,
pt.x,
pt.y, &
v);
1365 hr = IAccessible_accHitTest(acc,
pt.x,
pt.y, &
v);
1374 hr = IAccessible_accHitTest(acc,
pt.x,
pt.y, &
v);
1379 hr = IAccessible_get_accParent(acc, &disp);
1381 ok(disp !=
NULL,
"disp == NULL\n");
1382 IDispatch_Release(disp);
1414 hr = IAccessible_get_accChildCount(acc, &
l);
1416 ok(
l == 0,
"l = %ld\n",
l);
1418 hr = IAccessible_get_accName(acc, vid, &
str);
1421 hr = IAccessible_get_accValue(acc, vid, &
str);
1424 hr = IAccessible_get_accRole(acc, vid, &
v);
1427 ok(
V_I4(&
v) == ROLE_SYSTEM_CLIENT,
"V_I4(&v) = %ld\n",
V_I4(&
v));
1429 hr = IAccessible_get_accState(acc, vid, &
v);
1434 hr = IAccessible_get_accFocus(acc, &
v);
1438 hr = IAccessible_accHitTest(acc, 200, 200, &
v);
1443 disp = (
void*)0xdeadbeef;
1444 hr = IAccessible_get_accParent(acc, &disp);
1446 ok(disp ==
NULL,
"disp = %p\n", disp);
1455 IAccessible_Release(acc);
1470 "SetWindowLongPtr failed\n");
1477 win_skip(
"test window not returned from WindowFromPoint\n");
1499 hr = IAccessible_get_accRole(acc,
cid, &
var);
1502 ok(
V_I4(&
var) == ROLE_SYSTEM_CLIENT,
"got %#lx, expected %#x\n",
1503 V_I4(&
var), ROLE_SYSTEM_CLIENT);
1504 IAccessible_Release(acc);
1512 win_skip(
"test window not returned from WindowFromPoint\n");
1522 hr = IAccessible_get_accRole(acc,
cid, &
var);
1525 ok(
V_I4(&
var) == ROLE_SYSTEM_TEXT,
"got %#lx, expected %#x\n",
1526 V_I4(&
var), ROLE_SYSTEM_TEXT);
1527 IAccessible_Release(acc);
1538 &IID_IAccPropServices, (
void**)&acc_prop_services);
1539 ok(
hres ==
S_OK,
"Could not create CAccPropServices instance: %08lx\n",
hres);
1541 IAccPropServices_Release(acc_prop_services);
1546 if (
msg != WM_GETOBJECT)
1555#define check_acc_proxy_service( acc ) \
1556 check_acc_proxy_service_( (acc), __LINE__)
1563 hr = IAccessible_QueryInterface(acc, &IID_IServiceProvider, (
void **)&service);
1566 hr = IServiceProvider_QueryService(service, &IIS_IsOleaccProxy, &
IID_IUnknown, (
void **)&unk);
1568 ok(!!unk,
"unk == NULL\n");
1570 IUnknown_Release(unk);
1575 ok(!unk,
"unk != NULL\n");
1576 IServiceProvider_Release(service);
1581 static const struct {
1593 {
L"#32770",
TRUE },
1594 {
L"#32769",
TRUE },
1630 ok(
hr ==
S_OK,
"CreateStdAccessibleObject failed %lx\n",
hr);
1634 IAccessible_Release(acc);
1639 ok(
hr ==
S_OK,
"CreateStdAccessibleObject failed %lx\n",
hr);
1643 IAccessible_Release(acc);
1671#define check_acc_vals( acc, vals) \
1672 check_acc_vals_( (acc), (vals), __LINE__)
1688 hr = IAccessible_get_accName(acc, vid, &
str);
1695 hr = IAccessible_get_accValue(acc, vid, &
str);
1696 ok_(__FILE__,
line) (
hr == vals->
value_hr,
"get_accValue returned %#lx, expected %#lx\n",
1702 hr = IAccessible_get_accDescription(acc, vid, &
str);
1709 hr = IAccessible_get_accHelp(acc, vid, &
str);
1716 hr = IAccessible_get_accKeyboardShortcut(acc, vid, &
str);
1723 hr = IAccessible_get_accDefaultAction(acc, vid, &
str);
1732 hr = IAccessible_get_accRole(acc, vid, &
var);
1735 ok_(__FILE__,
line) (
V_I4(&
var) == vals->
role,
"get_accRole returned %ld, expected %d\n",
1740 hr = IAccessible_get_accState(acc, vid, &
var);
1743 ok_(__FILE__,
line) (
V_I4(&
var) == vals->
state,
"get_accState returned %#lx, expected %#x\n",
1765 hr = IAccessible_get_accChildCount(acc, &child_count);
1766 ok_(__FILE__,
line) (
hr ==
S_OK,
"get_accChildCount returned %#lx\n",
hr);
1767 ok_(__FILE__,
line) (child_count == vals->
child_count,
"get_accChildCount returned %ld, expected %#lx\n",
1770 disp = (
void *)0xdeadbeef;
1773 hr = IAccessible_get_accChild(acc,
var, &disp);
1778 ok_(__FILE__,
line) (vals->
valid_child,
"get_accChild unexpectedly returned a child\n");
1779 IDispatch_Release(disp);
1782 ok_(__FILE__,
line) (!vals->
valid_child,
"get_accChild expected a valid child, none was returned\n");
1784 disp = (
void *)0xdeadbeef;
1785 hr = IAccessible_get_accParent(acc, &disp);
1786 ok_(__FILE__,
line) (
hr ==
S_OK,
"get_accParent returned %#lx\n",
hr);
1787 ok_(__FILE__,
line) (disp !=
NULL,
"get_accParent returned a NULL pareent\n");
1788 IDispatch_Release(disp);
1791 hr = IAccessible_get_accFocus(acc, &
var);
1817 .description =
NULL,
1819 .kbd_shortcut =
NULL,
1820 .default_action =
NULL,
1821 .role = ROLE_SYSTEM_TEXT,
1824 .valid_child =
FALSE,
1825 .valid_parent =
TRUE,
1829 { .name =
L"label0:",
1832 .description =
NULL,
1834 .kbd_shortcut =
L"Alt+l",
1835 .default_action =
NULL,
1836 .role = ROLE_SYSTEM_TEXT,
1839 .valid_child =
FALSE,
1840 .valid_parent =
TRUE,
1844 { .name =
L"label1:",
1845 .
value =
L"edit2-test\r\ntest-edit2\n",
1847 .description =
NULL,
1849 .kbd_shortcut =
L"Alt+e",
1850 .default_action =
NULL,
1851 .role = ROLE_SYSTEM_TEXT,
1854 .valid_child =
FALSE,
1855 .valid_parent =
TRUE,
1859 { .
name =
L"label1:",
1862 .description =
NULL,
1864 .kbd_shortcut =
L"Alt+l",
1865 .default_action =
NULL,
1866 .role = ROLE_SYSTEM_TEXT,
1869 .valid_child =
FALSE,
1870 .valid_parent =
TRUE,
1877 HWND hwnd, label0, label1, btn0, btn1;
1886 ok(!!
hwnd,
"CreateWindow failed\n");
1890 ok(!!edit[0],
"Failed to create edit[0] hwnd\n");
1894 ok(!!label0,
"Failed to create label0 hwnd\n");
1898 ok(!!edit[1],
"Failed to create edit[1] hwnd\n");
1902 ok(!!label1,
"Failed to create label1 hwnd\n");
1906 ok(!!btn0,
"Failed to create btn0 hwnd\n");
1910 ok(!!edit[2],
"Failed to create edit[2] hwnd\n");
1914 ok(!!edit[3],
"Failed to create edit[3] hwnd\n");
1919 ok(!!btn1,
"Failed to create btn1 hwnd\n");
1926 hr = IAccessible_put_accValue(acc,
v,
str);
1930 IAccessible_Release(acc);
1935 hr = IAccessible_put_accValue(acc,
v,
str);
1939 IAccessible_Release(acc);
1943 skip(
"SetForegroundWindow failed\n");
1950 hr = IAccessible_put_accValue(acc,
v,
str);
1954 IAccessible_Release(acc);
1966 IAccessible_Release(acc);
1981 ok(
hwnd == (
HWND)0xdeadf00d,
"hwnd != 0xdeadf00d!\n");
2013 ok(
hwnd == (
HWND)0xdeadf00d,
"hwnd != 0xdeadf00d!\n");
2041 IUnknown_Release(unk);
2048 skip(
"can't register test window class\n");
static void startup(void)
#define InterlockedIncrement
#define InterlockedDecrement
HRESULT WINAPI DECLSPEC_HOTPATCH CoInitializeEx(void *reserved, DWORD model)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#define GetProcAddress(x, y)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define HeapFree(x, y, z)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(const char *app_name, char *cmd_line, SECURITY_ATTRIBUTES *process_attr, SECURITY_ATTRIBUTES *thread_attr, BOOL inherit, DWORD flags, void *env, const char *cur_dir, STARTUPINFOA *startup_info, PROCESS_INFORMATION *info)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
static __int64 strtoll(const char *ptr, char **endptr, int base)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
LRESULT WINAPI LresultFromObject(REFIID riid, WPARAM wParam, LPUNKNOWN pAcc)
HRESULT WINAPI AccessibleObjectFromWindow(HWND hwnd, DWORD dwObjectID, REFIID riid, void **ppvObject)
HRESULT WINAPI AccessibleObjectFromPoint(POINT point, IAccessible **acc, VARIANT *child_id)
HRESULT WINAPI ObjectFromLresult(LRESULT result, REFIID riid, WPARAM wParam, void **ppObject)
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 AccessibleChildren(IAccessible *container, LONG start, LONG count, VARIANT *children, LONG *children_cnt)
UINT WINAPI GetRoleTextA(DWORD role, LPSTR lpRole, UINT rolemax)
#define NAVDIR_INTERNAL_HWND
HRESULT WINAPI WindowFromAccessibleObject(IAccessible *acc, HWND *phwnd)
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)
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
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
int WINAPI lstrlenA(LPCSTR lpString)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl void winetest_pop_context(void)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl winetest_push_context(const char *fmt,...) __WINE_PRINTF_ATTR(1
static struct test_info tests[]
static IHTMLWindow2 * window
static struct Accessible * impl_from_OleWindow(IOleWindow *iface)
static void test_GetProcessHandleFromHwnd(void)
static HRESULT WINAPI Accessible_accHitTest(IAccessible *iface, LONG xLeft, LONG yTop, VARIANT *pvarID)
static LRESULT WINAPI test_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
static void _check_acc_hwnd(unsigned line, IUnknown *unk, HWND exp)
static void check_acc_proxy_service_(IAccessible *acc, int line)
static HRESULT WINAPI Accessible_get_accParent(IAccessible *iface, IDispatch **ppdispParent)
static ULONG WINAPI Object_AddRef(IUnknown *iface)
static void test_LresultFromObject(const char *name)
static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2)
static HRESULT WINAPI Accessible_get_accChildCount(IAccessible *iface, LONG *pcountChildren)
static HRESULT WINAPI Accessible_accLocation(IAccessible *iface, LONG *pxLeft, LONG *pyTop, LONG *pcxWidth, LONG *pcyHeight, VARIANT varID)
static BOOL register_window_class(void)
static void test_WindowFromAccessibleObject(void)
#define CHECK_EXPECT(func)
static HRESULT WINAPI Accessible_get_accRole(IAccessible *iface, VARIANT varID, VARIANT *pvarRole)
#define DEFINE_EXPECT(func)
static DWORD WINAPI default_client_thread(LPVOID param)
static ULONG WINAPI Object_Release(IUnknown *iface)
static struct Accessible Accessible
static HRESULT WINAPI Accessible_get_accState(IAccessible *iface, VARIANT varID, VARIANT *pvarState)
static HRESULT WINAPI Accessible_put_accName(IAccessible *iface, VARIANT varID, BSTR pszName)
static void test_default_edit_accessible_object(void)
static HRESULT WINAPI Accessible_get_accHelpTopic(IAccessible *iface, BSTR *pszHelpFile, VARIANT varID, LONG *pidTopic)
static ULONG WINAPI OleWindow_AddRef(IOleWindow *iface)
static HRESULT WINAPI Accessible_get_accValue(IAccessible *iface, VARIANT varID, BSTR *pszValue)
static ULONG WINAPI Accessible_Release(IAccessible *iface)
static HRESULT WINAPI Accessible_get_accKeyboardShortcut(IAccessible *iface, VARIANT varID, BSTR *pszKeyboardShortcut)
static HRESULT WINAPI OleWindow_GetWindow(IOleWindow *iface, HWND *hwnd)
static HRESULT WINAPI Accessible_GetIDsOfNames(IAccessible *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI Accessible_put_accValue(IAccessible *iface, VARIANT varID, BSTR pszValue)
static IAccessibleVtbl AccessibleVtbl
#define check_acc_state(acc, state)
static void test_CAccPropServices(void)
static const acc_expected_vals edit_acc_vals[]
static HRESULT WINAPI Accessible_get_accFocus(IAccessible *iface, VARIANT *pvarID)
static HRESULT WINAPI Accessible_get_accName(IAccessible *iface, VARIANT varID, BSTR *pszName)
static ULONG WINAPI Accessible_AddRef(IAccessible *iface)
static IUnknownVtbl ObjectVtbl
static HRESULT WINAPI Object_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Accessible_GetTypeInfoCount(IAccessible *iface, UINT *pctinfo)
static void test_AccessibleObjectFromEvent(void)
static void test_default_client_accessible_object(void)
static HRESULT WINAPI Accessible_get_accChild(IAccessible *iface, VARIANT varChildID, IDispatch **ppdispChild)
static HRESULT WINAPI Accessible_GetTypeInfo(IAccessible *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI Accessible_QueryInterface(IAccessible *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI Accessible_accNavigate(IAccessible *iface, LONG navDir, VARIANT varStart, VARIANT *pvarEnd)
static struct Accessible Accessible_child
static void test_getroletext(void)
static HRESULT WINAPI Accessible_get_accHelp(IAccessible *iface, VARIANT varID, BSTR *pszHelp)
static HRESULT WINAPI Accessible_get_accDescription(IAccessible *iface, VARIANT varID, BSTR *pszDescription)
#define CHECK_CALLED(func)
static HRESULT WINAPI Accessible_get_accSelection(IAccessible *iface, VARIANT *pvarID)
static void test_AccessibleObjectFromPoint(void)
static void test_CreateStdAccessibleObject_classes(void)
static ULONG WINAPI OleWindow_Release(IOleWindow *iface)
static HRESULT WINAPI Accessible_get_accDefaultAction(IAccessible *iface, VARIANT varID, BSTR *pszDefaultAction)
static void test_AccessibleObjectFromWindow(void)
static HRESULT WINAPI Accessible_accSelect(IAccessible *iface, LONG flagsSelect, VARIANT varID)
static void _check_acc_state(unsigned line, IAccessible *acc, INT state)
static LRESULT WINAPI test_query_class(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
#define check_acc_hwnd(unk, hwnd)
static void test_AccessibleChildren(IAccessible *acc)
static HRESULT WINAPI Accessible_accDoDefaultAction(IAccessible *iface, VARIANT varID)
#define check_acc_vals(acc, vals)
static const IOleWindowVtbl OleWindowVtbl
static void check_acc_vals_(IAccessible *acc, const acc_expected_vals *vals, int line)
static void unregister_window_class(void)
static struct Accessible * impl_from_Accessible(IAccessible *iface)
#define check_acc_proxy_service(acc)
static void test_GetStateText(void)
static HRESULT WINAPI OleWindow_ContextSensitiveHelp(IOleWindow *iface, BOOL f_enter_mode)
static HRESULT WINAPI OleWindow_QueryInterface(IOleWindow *iface, REFIID riid, void **obj)
static HRESULT WINAPI Accessible_Invoke(IAccessible *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static VARIANTARG static DISPID
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IOleWindow
#define WS_OVERLAPPEDWINDOW
#define TOOLBARCLASSNAMEW
#define DATETIMEPICK_CLASSW
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualIID(riid1, riid2)
_In_opt_ LPCSTR _In_opt_ LPCSTR pszValue
int winetest_get_mainargs(char ***pargv)
#define wait_child_process
static const char *static const char const char DWORD void DWORD *static const char const char DWORD void DWORD *static const char DWORD DWORD void * buff
IAccessible IAccessible_iface
IOleWindow IOleWindow_iface
const WCHAR * kbd_shortcut
const WCHAR * description
const WCHAR * default_action
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
HWND WINAPI GetFocus(void)
#define SetWindowLongPtrA
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
HWND WINAPI GetForegroundWindow(void)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define STATE_SYSTEM_READONLY
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
#define STATE_SYSTEM_FOCUSED
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
#define STATE_SYSTEM_FOCUSABLE
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
#define STATE_SYSTEM_INVISIBLE
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
HWND WINAPI WindowFromPoint(_In_ POINT)
#define SetWindowLongPtrW
BOOL WINAPI DestroyWindow(_In_ HWND)
#define STATE_SYSTEM_PROTECTED