91 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
92 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
93 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
94 'I',
'n',
't',
'e',
'r',
'n',
'a',
't',
'i',
'o',
'n',
'a',
'l',0};
96 'A',
'c',
'c',
'e',
'p',
't',
'L',
'a',
'n',
'g',
'u',
'a',
'g',
'e',0};
122 const void *
arg1,
const void *
arg2,
const void *
arg3,
const void *arg4)
148 for (
i = 0;
i < texpected->
count;
i++)
156 for (
j = 0;
j < 5;
j++)
164 ok_(__FILE__,
line)(0,
"traces length mismatch\n");
167#define ok_trace(a, b) ok_trace_(a, b, __LINE__)
174 static LPCSTR table[] = {
"de,en-gb;q=0.7,en;q=0.3",
175 "de,en;q=0.3,en-gb;q=0.7",
203 len =
sizeof(original);
210 memset(language, 0,
sizeof(language));
222 memset(language, 0,
sizeof(language));
233 win_skip(
"GetAcceptLanguagesA failed with 0x%lx\n",
hr);
234 goto restore_original;
241 ok(
hr ==
S_OK,
"LcidToRfc1766A returned 0x%lx and %s\n",
hr, language);
245 "have '%s' (searching for '%s')\n", language,
buffer);
248 win_skip(
"no more ideas, how to build the default language '%s'\n",
buffer);
249 goto restore_original;
252 trace(
"detected default: %s\n", language);
258 ok(!lres,
"got %ld for RegSetValueExA: %s\n", lres,
entry);
267 ((
len == exactsize) || (
len == exactsize+1)) &&
269 "+2_#%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
277 ((
len == exactsize) || (
len == exactsize+1)) &&
279 "+1_#%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
299 "==_#%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
311 "-1_#%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
323 "=1_#%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
330 ok( ((
hr ==
S_OK) && ((
len == exactsize) || (
len == exactsize + 1))) ||
332 "NULL,max #%d: got 0x%lx with %ld and %s\n",
i,
hr,
len,
buffer);
345 "max: got 0x%lx with %ld and %s (expected S_OK with %d and '%s'\n",
355 "=2: got 0x%lx with %ld and %s\n",
hr,
len,
buffer);
368 "=1: got 0x%lx with %ld and %s\n",
hr,
len,
buffer);
383 "got 0x%lx (expected E_FAIL or E_INVALIDARG)\n",
hr);
389 "got 0x%lx (expected E_FAIL or E_INVALIDARG)\n",
hr);
395 ok(!lres,
"RegSetValueEx(%s) failed: %ld\n", original, lres);
409 if (!pSHSearchMapInt)
424 ok(
i == -1,
"Len 1 - bad key, expected -1, got %d\n",
i);
428 ok(
i == -1,
"Len 1 - passed len 0, expected -1, got %d\n",
i);
433 ok(
i == -1,
"Len 1 - array len 2, expected -1, got %d\n",
i);
467 val.value = 0x12345678;
475 ok(
p->value == 0x12345678,
"Wrong value in shared memory: %ld instead of %d\n",
p->value, 0x12345678);
476 ret = pSHUnlockShared(
p);
488 p = pSHLockShared(hmem,
procid);
492 ok(
p->value == 0x12345679,
"Wrong value in shared memory: %ld instead of %d\n",
p->value, 0x12345679);
494 ok(hmem2 !=
NULL,
"Expected handle in shared memory\n");
496 ret = pSHUnlockShared(
p);
505 p = pSHLockShared(hmem2,
procid);
508 ok(
p->value == 0xDEADBEEF,
"Wrong value in shared memory: %ld instead of %d\n",
p->value, 0xDEADBEEF);
509 ret = pSHUnlockShared(
p);
529 p = pSHLockShared(hmem,
procid);
533 win_skip(
"Subprocess failed to modify shared memory, skipping test\n");
537 ok(
p->value == 0x12345678,
"Wrong value in shared memory: %ld instead of %d\n",
p->value, 0x12345678);
540 val.value = 0xDEADBEEF;
545 ret = pSHUnlockShared(
p);
551 ok(hmem2 ==
NULL,
"expected NULL, got new handle\n");
562 win_skip(
"Subprocess failed to map shared memory, skipping test\n");
570 ok(
p->value == 0x12345679,
"Wrong value in shared memory: %ld instead of %d\n",
p->value, 0x12345679);
572 ret = pSHUnlockShared(
p);
585 DWORD blocks_alloced;
598 int block_size = 10, init_blocks = 4, inc = 2;
610 ok(pFDSA_Initialize(
block_size, inc, &
info,
mem, init_blocks),
"FDSA_Initialize rets FALSE\n");
611 ok(
info.num_items == 0,
"num_items = %ld\n",
info.num_items);
613 ok(
info.blocks_alloced == init_blocks,
"blocks_alloced = %ld\n",
info.blocks_alloced);
616 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
618 ret = pFDSA_InsertItem(&
info, 1234,
"1234567890");
620 ok(
info.num_items == 1,
"num_items = %ld\n",
info.num_items);
622 ok(
info.blocks_alloced == init_blocks,
"blocks_alloced = %ld\n",
info.blocks_alloced);
625 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
627 ret = pFDSA_InsertItem(&
info, 1234,
"abcdefghij");
630 ret = pFDSA_InsertItem(&
info, 1,
"klmnopqrst");
633 ret = pFDSA_InsertItem(&
info, 0,
"uvwxyzABCD");
636 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
639 ret = pFDSA_InsertItem(&
info, 0,
"EFGHIJKLMN");
642 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %ld\n",
info.blocks_alloced);
643 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
645 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCD1234567890klmnopqrstabcdefghij", 50),
"mem %s\n", (
char*)
info.mem);
647 ok(pFDSA_DeleteItem(&
info, 2),
"rets FALSE\n");
649 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %ld\n",
info.blocks_alloced);
650 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
652 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCDklmnopqrstabcdefghij", 40),
"mem %s\n", (
char*)
info.mem);
654 ok(pFDSA_DeleteItem(&
info, 3),
"rets FALSE\n");
656 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %ld\n",
info.blocks_alloced);
657 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
659 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCDklmnopqrst", 30),
"mem %s\n", (
char*)
info.mem);
661 ok(!pFDSA_DeleteItem(&
info, 4),
"does not ret FALSE\n");
664 ok(!pFDSA_Destroy(&
info),
"FDSA_Destroy does not ret FALSE\n");
668 ok(pFDSA_Initialize(
block_size, 0, &
info,
mem, init_blocks),
"FDSA_Initialize rets FALSE\n");
673 ok(pFDSA_Destroy(&
info),
"FDSA_Destroy rets FALSE\n");
685#define MY_INHERITANCE 0xBE
691 &supCurrentUserFull, &supEveryoneDenied,
697 win_skip(
"GetShellSecurityDescriptor not available\n");
702 ok(psd==
NULL,
"GetShellSecurityDescriptor should fail\n");
704 ok(psd==
NULL,
"GetShellSecurityDescriptor should fail, got %p\n", psd);
708 ok(psd!=
NULL,
"GetShellSecurityDescriptor failed\n");
725 ok(bHasDacl,
"SD has no DACL\n");
728 ok(!bDefaulted,
"DACL should not be defaulted\n");
730 ok(pAcl !=
NULL,
"NULL DACL!\n");
740 ok(asiSize.
AceCount == 3,
"Incorrect number of ACEs: %ld entries\n", asiSize.
AceCount);
783 memset(vars, 0xc0,
sizeof(vars));
787 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
788 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
791 ok(
V_I4(vars) == 0xdeadbeef,
"failed %lx\n",
V_I4(vars));
797 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
798 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
801 memset(vars, 0xc0,
sizeof(vars));
807 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
808 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
811 ok(
V_I4(vars) == 0xdeadbeef,
"V_I4(vars[0]) = %lx\n",
V_I4(vars));
813 ok(
V_I4(vars+1) == 100,
"V_I4(vars[1]) = %lx\n",
V_I4(vars+1));
815 ok(
V_I4(vars+2) == 10,
"V_I4(vars[2]) = %lx\n",
V_I4(vars+2));
817 ok(
V_BSTR(vars+3) == (
void*)0xdeadbeef,
"V_BSTR(vars[3]) = %p\n",
V_BSTR(vars+3));
904 IDispatch_AddRef(
This);
908 trace(
"no interface\n");
962 DISPPARAMS *pDispParams,
964 EXCEPINFO *pExcepInfo,
968 pDispParams, pVarResult, pExcepInfo, puArgErr);
970 ok(dispIdMember == 0xa0 || dispIdMember == 0xa1,
"Unknown dispIdMember\n");
971 ok(pDispParams !=
NULL,
"Invoked with NULL pDispParams\n");
974 if (dispIdMember == 0xa0)
976 ok(pDispParams->cArgs == 0,
"params.cArgs = %d\n", pDispParams->cArgs);
977 ok(pDispParams->cNamedArgs == 0,
"params.cNamedArgs = %d\n", pDispParams->cArgs);
978 ok(pDispParams->rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n", pDispParams->rgdispidNamedArgs);
979 ok(pDispParams->rgvarg ==
NULL,
"params.rgvarg = %p\n", pDispParams->rgvarg);
981 else if (dispIdMember == 0xa1)
983 ok(pDispParams->cArgs == 2,
"params.cArgs = %d\n", pDispParams->cArgs);
984 ok(pDispParams->cNamedArgs == 0,
"params.cNamedArgs = %d\n", pDispParams->cArgs);
985 ok(pDispParams->rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n", pDispParams->rgdispidNamedArgs);
986 ok(
V_VT(pDispParams->rgvarg) ==
VT_BSTR,
"V_VT(var) = %d\n",
V_VT(pDispParams->rgvarg));
987 ok(
V_I4(pDispParams->rgvarg) == 0xdeadcafe ,
"failed %p\n",
V_BSTR(pDispParams->rgvarg));
988 ok(
V_VT(pDispParams->rgvarg+1) ==
VT_I4,
"V_VT(var) = %d\n",
V_VT(pDispParams->rgvarg+1));
989 ok(
V_I4(pDispParams->rgvarg+1) == 0xdeadbeef,
"failed %lx\n",
V_I4(pDispParams->rgvarg+1));
1020 IEnumConnections_AddRef(
This);
1024 trace(
"no interface\n");
1055 rgcd->pUnk = iface->
pt->
sink[iface->
idx];
1056 IUnknown_AddRef(iface->
pt->
sink[iface->
idx]);
1057 rgcd->dwCookie=0xff;
1112 IConnectionPoint_AddRef(
This);
1116 trace(
"no interface\n");
1142 IUnknown_Release(iface->
sink[
i]);
1189 IUnknown_AddRef(pUnkSink);
1205 IUnknown_Release(iface->
sink[dwCookie-1]);
1253 IEnumConnectionPoints_AddRef(
This);
1257 trace(
"no interface\n");
1344 IConnectionPointContainer_AddRef(
This);
1348 trace(
"no interface\n");
1372 IConnectionPoint_Release(iface->
pt[
i]);
1411 pt->container = iface;
1418 iface->
pt[iface->
ptCount] = &
pt->IConnectionPoint_iface;
1421 *ppCP = &
pt->IConnectionPoint_iface;
1425 *ppCP = iface->
pt[0];
1426 IConnectionPoint_AddRef(*ppCP);
1464 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %lx\n",rc);
1465 ok(
point !=
NULL,
"returned ConnectionPoint is NULL\n");
1466 ok(
cookie != 0xffffffff,
"invalid cookie returned\n");
1468 rc = pIConnectionPoint_SimpleInvoke(
point,0xa0,
NULL);
1469 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %lx\n",rc);
1472 memset(vars, 0xc0,
sizeof(vars));
1474 ok(rc ==
S_OK,
"SHPackDispParams failed: %08lx\n", rc);
1476 rc = pIConnectionPoint_SimpleInvoke(
point,0xa1,&
params);
1477 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %lx\n",rc);
1481 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %lx\n",rc);
1486 ref = IConnectionPointContainer_Release(&
container->IConnectionPointContainer_iface);
1487 ok(
ref == 0,
"leftover IConnectionPointContainer reference %li\n",
ref);
1488 ref = IDispatch_Release(&
dispatch->IDispatch_iface);
1489 ok(
ref == 0,
"leftover IDispatch reference %li\n",
ref);
1519 IPropertyBag_AddRef(
This);
1523 trace(
"no interface\n");
1548 LPCOLESTR pszPropName,
1559 LPCOLESTR pszPropName,
1580 static const WCHAR szName1[] = {
'n',
'a',
'm',
'e',
'1',0};
1587 rc = pSHPropertyBag_ReadLONG(
NULL, szName1, &
out);
1589 ok(
out == 0xfeedface,
"value should not have changed\n");
1592 ok(
out == 0xfeedface,
"value should not have changed\n");
1597 ok(
out == 0xfeedface ||
broken(
out == 0xfeedfa00),
"value should not have changed %lx\n",
out);
1628 "expected ERROR_INVALID_WINDOW_HANDLE, got %ld\n",
GetLastError());
1633 ok(styleold ==
style,
"expected old style\n");
1641 ok(
style == styleold,
"expected previous style, got %lx\n",
style);
1647 ok(
style == styleold,
"expected previous style, got %lx\n",
style);
1653 ok(
style == styleold,
"expected previous style, got %lx\n",
style);
1661 ok(
style == styleold,
"expected previous style, got %lx\n",
style);
1674 CHAR buff[100], buff2[100], buff3[100];
1697 ok(
buff[0] ==
'a',
"expected same string, got %s\n",
buff);
1743 "expected (%s), got (%s)\n", buff2,
buff);
1751 "expected (%s), got (%s)\n", buff2,
buff);
1760 "expected (%s), got (%s)\n", buff2,
buff);
1791 "expected (%s), got (%s) for time part\n",
1796 ok(
lstrcmpA(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1805 "expected (%s), got (%s) for time part\n",
1810 ok(
lstrcmpA(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1823 "expected (%s), got (%s)\n", buff2,
buff);
1835 "expected (%s), got (%s)\n", buff2,
buff);
1842 WCHAR buff[100], buff2[100], buff3[100], *p1, *p2;
1847#define UNICODE_LTR_MARK 0x200e
1848#define UNICODE_RTL_MARK 0x200f
1864 ok(
ret == 0,
"expected 0, got %d\n",
ret);
1870 ok(
ret == 0,
"expected 0, got %d\n",
ret);
1872 ok(
buff[0] ==
'a',
"expected same string\n");
1958 "expected (%s), got (%s) for time part\n",
1974 ok(
lstrcmpW(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1984 "expected (%s), got (%s) for time part\n",
2000 ok(
lstrcmpW(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
2030 struct compat_value {
2035 struct compat_value
values[] = {
2036 {
"OTNEEDSSFCACHE", 0x1 },
2037 {
"NO_WEBVIEW", 0x2 },
2038 {
"UNBINDABLE", 0x4 },
2040 {
"NEEDSFILESYSANCESTOR", 0x10 },
2041 {
"NOTAFILESYSTEM", 0x20 },
2042 {
"CTXMENU_NOVERBS", 0x40 },
2043 {
"CTXMENU_LIMITEDQI", 0x80 },
2044 {
"COCREATESHELLFOLDERONLY", 0x100 },
2045 {
"NEEDSSTORAGEANCESTOR", 0x200 },
2046 {
"NOLEGACYWEBVIEW", 0x400 },
2047 {
"CTXMENU_XPQCMFLAGS", 0x1000 },
2048 {
"NOIPROPERTYSTORE", 0x2000 }
2051 static const char compat_path[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\ShellCompatibility\\Objects";
2064 skip(
"No compatibility class data found\n");
2093 pGUIDFromStringA(keyA, &
clsid);
2094 got = pSHGetObjectCompatFlags(
NULL, &
clsid);
2124 return &
obj->IOleCommandTarget_iface;
2139 IOleCommandTarget_AddRef(iface);
2173 const GUID *CmdGroup,
2224 return &
obj->IServiceProvider_iface;
2235 return &
obj->IProfferService_iface;
2250 IServiceProvider_AddRef(iface);
2290 if (
IsEqualIID(service, &IID_IProfferService))
2308 static const GUID dummy_serviceid = { 0xdeadbeef };
2309 static const GUID dummy_groupid = { 0xbeefbeef };
2316 hr = pIUnknown_QueryServiceExec(
NULL, &dummy_serviceid, &dummy_groupid, 0, 0, 0, 0);
2319 "got 0x%08lx\n",
hr);
2329 add_call(&trace_expected, 1, provider, &IID_IServiceProvider, 0, 0, 0);
2330 add_call(&trace_expected, 2, provider, &dummy_serviceid, &IID_IOleCommandTarget, 0, 0);
2331 add_call(&trace_expected, 3, &dummy_groupid, (
void*)0x1, (
void*)0x2, (
void*)0x3, (
void*)0x4);
2334 hr = pIUnknown_QueryServiceExec((
IUnknown*)provider, &dummy_serviceid, &dummy_groupid, 0x1, 0x2, (
void*)0x3, (
void*)0x4);
2342 IServiceProvider_Release(provider);
2364 IProfferService_AddRef(iface);
2393 *pCookie = 0xdeadbeef;
2417 static const GUID dummy_serviceid = { 0xdeadbeef };
2426 hr = pIUnknown_ProfferService(
NULL, &dummy_serviceid, 0, 0);
2429 "got 0x%08lx\n",
hr);
2443 add_call(&trace_expected, 1, proff, &IID_IServiceProvider, 0, 0, 0);
2444 add_call(&trace_expected, 2, &IID_IProfferService, &IID_IProfferService, 0, 0, 0);
2445 add_call(&trace_expected, 3, &dummy_serviceid, provider, &
cookie, 0, 0);
2449 hr = pIUnknown_ProfferService((
IUnknown*)proff, &dummy_serviceid, provider, &
cookie);
2460 add_call(&trace_expected, 1, proff, &IID_IServiceProvider, 0, 0, 0);
2461 add_call(&trace_expected, 2, &IID_IProfferService, &IID_IProfferService, 0, 0, 0);
2466 hr = pIUnknown_ProfferService((
IUnknown*)proff, &dummy_serviceid, 0, &
cookie);
2473 IServiceProvider_Release(provider);
2474 IProfferService_Release(proff);
2485 hwnd = pSHCreateWorkerWindowA(0,
NULL, 0, 0, 0, 0);
2486 ok(
hwnd != 0,
"expected window\n");
2489 ok(
lstrcmpA(classA,
"WorkerA") == 0,
"expected WorkerA class, got %s\n", classA);
2495 memset(&cliA, 0,
sizeof(cliA));
2497 ok(
res,
"failed to get class info\n");
2506 hwnd = pSHCreateWorkerWindowA(0,
NULL, 0, 0, 0, 0xdeadbeef);
2507 ok(
hwnd != 0,
"expected window\n");
2510 ok(
lstrcmpA(classA,
"WorkerA") == 0,
"expected WorkerA class, got %s\n", classA);
2513 ok(
ret == 0xdeadbeef,
"got %Id\n",
ret);
2534 "Unexpected QI for IShellFolder\n");
2552 ok(0,
"Didn't expect ParseDisplayName\n");
2566 ok(0,
"Didn't expect BindToObject\n");
2573 ok(0,
"Didn't expect BindToStorage\n");
2580 ok(0,
"Didn't expect CompareIDs\n");
2587 ok(0,
"Didn't expect CreateViewObject\n");
2594 ok(0,
"Didn't expect GetAttributesOf\n");
2602 ok(0,
"Didn't expect GetUIObjectOf\n");
2609 ok(0,
"Didn't expect GetDisplayNameOf\n");
2617 ok(0,
"Didn't expect SetNameOf\n");
2645 if(!pSHIShellFolder_EnumObjects){
2646 win_skip(
"SHIShellFolder_EnumObjects not available\n");
2658 ok(
hres ==
S_OK,
"SHIShellFolder_EnumObjects failed: 0x%08lx\n",
hres);
2659 ok(enm == (
IEnumIDList*)0xcafebabe,
"Didn't get expected enumerator location, instead: %p\n", enm);
2667 ok(
hres ==
S_OK,
"SHIShellFolder_EnumObjects failed: 0x%08lx\n",
hres);
2668 ok(enm !=
NULL,
"Didn't get an enumerator\n");
2670 IEnumIDList_Release(enm);
2672 IShellFolder_Release(
folder);
2680 static const char data[] =
2683 "AnotherKey=asdf\r\n";
2698#define verify_inifile(f, e) r_verify_inifile(__LINE__, f, e)
2724 static const WCHAR TestAppW[] = {
'T',
'e',
's',
't',
'A',
'p',
'p',0};
2725 static const WCHAR AKeyW[] = {
'A',
'K',
'e',
'y',0};
2726 static const WCHAR AnotherKeyW[] = {
'A',
'n',
'o',
't',
'h',
'e',
'r',
'K',
'e',
'y',0};
2727 static const WCHAR JunkKeyW[] = {
'J',
'u',
'n',
'k',
'K',
'e',
'y',0};
2728 static const WCHAR testpathW[] = {
'C',
':',
'\\',
't',
'e',
's',
't',
'.',
'i',
'n',
'i',0};
2743 ret = pSHGetIniStringW(TestAppW, AKeyW,
out, 0, pathW);
2744 ok(
ret == 0,
"SHGetIniStringW should have given 0, instead: %ld\n",
ret);
2750 ok(
ret == 4,
"SHGetIniStringW should have given 4, instead: %ld\n",
ret);
2755 ok(
ret == 1,
"SHGetIniStringW should have given 1, instead: %ld\n",
ret);
2759 ok(
ret == 4,
"SHGetIniStringW should have given 4, instead: %ld\n",
ret);
2764 ok(
ret == 0,
"SHGetIniStringW should have given 0, instead: %ld\n",
ret);
2774 static const WCHAR TestAppW[] = {
'T',
'e',
's',
't',
'A',
'p',
'p',0};
2775 static const WCHAR AnotherAppW[] = {
'A',
'n',
'o',
't',
'h',
'e',
'r',
'A',
'p',
'p',0};
2776 static const WCHAR TestIniW[] = {
'C',
':',
'\\',
't',
'e',
's',
't',
'.',
'i',
'n',
'i',0};
2777 static const WCHAR AKeyW[] = {
'A',
'K',
'e',
'y',0};
2778 static const WCHAR NewKeyW[] = {
'N',
'e',
'w',
'K',
'e',
'y',0};
2779 static const WCHAR AValueW[] = {
'A',
'V',
'a',
'l',
'u',
'e',0};
2784 ret = pSHSetIniStringW(TestAppW, AKeyW, AValueW, TestIniW);
2785 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2787 verify_inifile(TestIniW,
"[TestApp]\r\nAKey=AValue\r\nAnotherKey=asdf\r\n");
2789 ret = pSHSetIniStringW(TestAppW, AKeyW,
NULL, TestIniW);
2790 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2793 ret = pSHSetIniStringW(AnotherAppW, NewKeyW, AValueW, TestIniW);
2794 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2795 verify_inifile(TestIniW,
"[TestApp]\r\nAnotherKey=asdf\r\n[AnotherApp]\r\nNewKey=AValue\r\n");
2797 ret = pSHSetIniStringW(TestAppW,
NULL, AValueW, TestIniW);
2798 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2822 static const WCHAR ShellFoldersW[] = {
'S',
'h',
'e',
'l',
'l',
' ',
'F',
'o',
'l',
'd',
'e',
'r',
's',0 };
2823 static const WCHAR WineTestW[] = {
'W',
'i',
'n',
'e',
'T',
'e',
's',
't',0 };
2838 ok(hkey !=
NULL,
"hkey = NULL\n");
2843 ok(hkey !=
NULL,
"hkey = NULL\n");
2847 ok(hkey !=
NULL,
"hkey = NULL\n");
2851 ok(hkey ==
NULL,
"hkey != NULL\n");
2854 ok(hkey !=
NULL,
"Can't open key\n");
2861 skip(
"Not authorized to create keys\n");
2864 ok(hkey !=
NULL,
"Can't create key\n");
2891 ok(*alloc_data == 1234,
"*alloc_data = %ld\n", *alloc_data);
2905 ok(hkey !=
NULL,
"Can't create key\n");
2912#define MAKEFUNC(f, ord) (p##f = (void*)GetProcAddress(hShlwapi, (LPSTR)(ord)))
2954 hwnd =
CreateWindowA(
"Button",
"",
WS_VISIBLE, 0, 0, 10, 10,
NULL,
NULL,
NULL,
NULL);
2957 hwnd2 =
CreateWindowA(
"Button",
"",
WS_VISIBLE |
WS_CHILD, 0, 0, 10, 10,
hwnd,
NULL,
NULL,
NULL);
2958 ok(hwnd2 !=
NULL,
"got %p\n", hwnd2);
2979 ret = pSHSetParentHwnd(hwnd2,
NULL);
2992 ret = pSHSetParentHwnd(hwnd2,
hwnd);
3004 ret = pSHSetParentHwnd(hwnd2,
hwnd);
3014 ret = pSHSetParentHwnd(hwnd2,
hwnd);
3029 IPersist_AddRef(iface);
3041 IPersist_AddRef(iface);
3091 memset(&clsid3, 0xcc,
sizeof(clsid3));
3098 memset(&clsid2, 0xab,
sizeof(clsid2));
3100 ok(
hr == 0x8fff2222,
"got 0x%08lx\n",
hr);
3106 memset(&clsid2, 0xab,
sizeof(clsid2));
3107 memset(&clsid3, 0xcc,
sizeof(clsid3));
3109 ok(
hr == 0x8fff2222,
"got 0x%08lx\n",
hr);
3118 hr = pDllGetVersion(
NULL);
3125 static const SYSTEMTIME february = {2023, 2, 2, 14, 12, 0, 0, 0};
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
int strcmp(const char *String1, const char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define InterlockedIncrement
#define InterlockedDecrement
void dispatch(HANDLE hStopEvent)
#define RegCloseKey(hKey)
IProfferService IProfferService_iface
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegEnumValueA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpdwReserved, _Out_opt_ LPDWORD lpdwType, _Out_opt_ LPBYTE lpData, _Inout_opt_ LPDWORD lpcbData)
LONG WINAPI RegDeleteValueA(HKEY hKey, LPCSTR lpValueName)
LONG WINAPI RegEnumKeyA(HKEY hKey, DWORD dwIndex, LPSTR lpName, DWORD cbName)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
BOOL WINAPI GetAclInformation(PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass)
BOOL WINAPI GetAce(PACL pAcl, DWORD dwAceIndex, LPVOID *pAce)
BOOL WINAPI IsValidAcl(PACL pAcl)
#define ReadFile(a, b, c, d, e)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define ERROR_ACCESS_DENIED
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessA(LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
BOOL WINAPI LocalFileTimeToFileTime(IN CONST FILETIME *lpLocalFileTime, OUT LPFILETIME lpFileTime)
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformation, LPSYSTEMTIME lpLocalTime, LPSYSTEMTIME lpUniversalTime)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
INT WINAPI GetLocaleInfoA(LCID lcid, LCTYPE lctype, LPSTR buffer, INT len)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
LCID WINAPI GetUserDefaultLCID(void)
HANDLE WINAPI SHAllocShared(LPCVOID lpvData, DWORD dwSize, DWORD dwProcId)
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut)
BOOL WINAPI GUIDFromStringA(LPCSTR idstr, CLSID *id)
BOOL WINAPI SHSetIniStringW(LPCWSTR appName, LPCWSTR keyName, LPCWSTR str, LPCWSTR filename)
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT mask, UINT flags)
HRESULT WINAPI GetAcceptLanguagesA(LPSTR langbuf, LPDWORD buflen)
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
HANDLE WINAPI SHMapHandle(HANDLE hShared, DWORD dwSrcProcId, DWORD dwDstProcId, DWORD dwAccess, DWORD dwOptions)
HRESULT WINAPI IConnectionPoint_InvokeWithCancel(IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams, DWORD unknown1, DWORD unknown2)
DWORD WINAPI SHGetIniStringW(LPCWSTR appName, LPCWSTR keyName, LPWSTR out, DWORD outLen, LPCWSTR filename)
HRESULT WINAPI IUnknown_ProfferService(IUnknown *lpUnknown, REFGUID service, IServiceProvider *pService, DWORD *pCookie)
HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL fConnect, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP)
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid)
INT WINAPI SHFormatDateTimeW(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
HRESULT WINAPI SKAllocValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, LPVOID *data, DWORD *count)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
PVOID WINAPI SHLockShared(HANDLE hShared, DWORD dwProcId)
INT WINAPI SHFormatDateTimeA(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPSTR buf, UINT size)
HRESULT WINAPI SHIShellFolder_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum)
HRESULT WINAPI SKGetValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, void *data, DWORD *count)
HRESULT WINAPIV SHPackDispParams(DISPPARAMS *params, VARIANTARG *args, UINT cnt,...)
struct SHELL_USER_SID SHELL_USER_SID
struct SHELL_USER_PERMISSION SHELL_USER_PERMISSION
BOOL WINAPI SHFreeShared(HANDLE hShared, DWORD dwProcId)
HRESULT WINAPI IConnectionPoint_SimpleInvoke(IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams)
struct SHELL_USER_SID * PSHELL_USER_SID
struct SHELL_USER_PERMISSION * PSHELL_USER_PERMISSION
HKEY WINAPI SHGetShellKey(DWORD flags, LPCWSTR sub_key, BOOL create)
HRESULT WINAPI SKSetValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD type, void *data, DWORD count)
PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor(const PSHELL_USER_PERMISSION *apUserPerm, int cUserPerm)
int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey)
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent)
BOOL WINAPI SHUnlockShared(LPVOID lpView)
HRESULT WINAPI SHPropertyBag_ReadLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
HRESULT WINAPI SKDeleteValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value)
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
static unsigned char buff[32768]
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLenum GLenum GLvoid * values
GLuint GLsizei GLsizei * length
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
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 GLint GLint j
HLOCAL NTAPI LocalFree(HLOCAL hMem)
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
static DWORD block_size(DWORD block)
WORD SECURITY_DESCRIPTOR_CONTROL
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
LPSTR WINAPI lstrcatA(LPSTR lpString1, LPCSTR lpString2)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
static ULONG WINAPI IServiceProviderImpl_Release(IServiceProvider *iface)
static void test_IUnknown_ProfferService(void)
static IUnknown IConnectionPoint **static LPLONG
static IServiceProviderImpl * impl_from_IServiceProvider(IServiceProvider *iface)
static HRESULT WINAPI Disp_GetTypeInfoCount(IDispatch *This, UINT *pctinfo)
static void test_alloc_shared_remote(DWORD procid, HANDLE hmem)
static ULONG WINAPI Contain_AddRef(IConnectionPointContainer *This)
static ULONG WINAPI IProfferServiceImpl_AddRef(IProfferService *iface)
static ULONG WINAPI EnumPt_Release(IEnumConnectionPoints *This)
static void test_IConnectionPoint(void)
static HRESULT WINAPI IProfferServiceImpl_RevokeService(IProfferService *iface, DWORD cookie)
static HRESULT WINAPI IOleCommandTargetImpl_QueryStatus(IOleCommandTarget *iface, const GUID *group, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
static ULONG WINAPI IOleCommandTargetImpl_AddRef(IOleCommandTarget *iface)
static IServiceProvider * IServiceProviderImpl_Construct(void)
static ULONG WINAPI EnumPt_AddRef(IEnumConnectionPoints *This)
static HRESULT WINAPI Enum_Next(IEnumConnections *This, ULONG cConnections, LPCONNECTDATA rgcd, ULONG *pcFetched)
static HRESULT WINAPI EnumPt_Skip(IEnumConnectionPoints *This, ULONG cConnections)
static HRESULT WINAPI IProfferServiceImpl_ProfferService(IProfferService *iface, REFGUID service, IServiceProvider *pService, DWORD *pCookie)
static void r_verify_inifile(unsigned l, LPCWSTR filename, LPCSTR exp)
static void test_SHCreateWorkerWindowA(void)
static HRESULT WINAPI Enum_QueryInterface(IEnumConnections *This, REFIID riid, void **ppvObject)
static ULONG WINAPI Enum_Release(IEnumConnections *This)
static HRESULT WINAPI SF_QueryInterface(IShellFolder *iface, REFIID riid, void **ppv)
#define verify_inifile(f, e)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static ConPt * impl_from_IConnectionPoint(IConnectionPoint *iface)
static HRESULT WINAPI ConPt_EnumConnections(IConnectionPoint *This, IEnumConnections **ppEnum)
static HRESULT WINAPI ConPt_Advise(IConnectionPoint *This, IUnknown *pUnkSink, DWORD *pdwCookie)
static void test_alloc_shared(int argc, char **argv)
static ULONG WINAPI IServiceProviderImpl_AddRef(IServiceProvider *iface)
static ULONG WINAPI Prop_AddRef(IPropertyBag *This)
static void test_SHSetIniString(void)
static const CHAR ie_international[]
static const IServiceProviderVtbl IServiceProviderImpl_Vtbl
static void free_call_trace(const call_trace_t *ctrace)
@ SHKEY_Subkey_Associations
@ SHKEY_Subkey_ResourceName
static void test_SHSetParentHwnd(void)
static const IProfferServiceVtbl IProfferServiceImpl_Vtbl
static IPersistVtbl testpersist2vtbl
static HRESULT WINAPI Enum_Clone(IEnumConnections *This, IEnumConnections **ppEnum)
static void test_IUnknown_QueryServiceExec(void)
static void test_GetShellSecurityDescriptor(void)
static IProfferService * IProfferServiceImpl_Construct(void)
static IPersist testpersist2
static HRESULT WINAPI IProfferServiceImpl_QueryInterface(IProfferService *iface, REFIID riid, void **ppvObj)
static IPersistVtbl testpersistvtbl
static ULONG WINAPI IProfferServiceImpl_Release(IProfferService *iface)
static HRESULT WINAPI Prop_QueryInterface(IPropertyBag *This, REFIID riid, void **ppvObject)
static PropBag * impl_from_IPropertyBag(IPropertyBag *iface)
static ULONG WINAPI Disp_Release(IDispatch *This)
static VARIANTARG static DISPID
static HRESULT WINAPI EnumPt_Reset(IEnumConnectionPoints *This)
static ULONG WINAPI ConPt_Release(IConnectionPoint *This)
static Contain * impl_from_IConnectionPointContainer(IConnectionPointContainer *iface)
static const CHAR acceptlanguage[]
static void test_GetAcceptLanguagesA(void)
static HRESULT WINAPI SF_BindToStorage(IShellFolder *iface, LPCITEMIDLIST idl, LPBC reserved, REFIID riid, void **obj)
static Disp * impl_from_IDispatch(IDispatch *iface)
static void test_SHFormatDateTimeA(const SYSTEMTIME *st)
static void test_SHSearchMapInt(void)
static HRESULT WINAPI SF_CreateViewObject(IShellFolder *iface, HWND owner, REFIID riid, void **out)
static void test_DllGetVersion(void)
static void test_SHFormatDateTimeW(void)
static const IConnectionPointVtbl point_vtbl
static call_trace_t trace_got
static void test_SHIShellFolder_EnumObjects(void)
static IOleCommandTarget * IOleCommandTargetImpl_Construct(void)
static HRESULT WINAPI Disp_Invoke(IDispatch *This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static void test_SHGetIniString(void)
static HRESULT WINAPI Contain_QueryInterface(IConnectionPointContainer *This, REFIID riid, void **ppvObject)
static IOleCommandTargetImpl * impl_from_IOleCommandTarget(IOleCommandTarget *iface)
static HRESULT WINAPI IOleCommandTargetImpl_QueryInterface(IOleCommandTarget *iface, REFIID riid, void **ppvObj)
static void test_SHGetShellKey(void)
static const IEnumConnectionsVtbl enum_vtbl
static HRESULT WINAPI ConPt_GetConnectionPointContainer(IConnectionPoint *This, IConnectionPointContainer **ppCPC)
static HRESULT WINAPI SF_SetNameOf(IShellFolder *iface, HWND hwnd, LPCITEMIDLIST idl, LPCOLESTR name, SHGDNF flags, LPITEMIDLIST *idlOut)
static EnumCon * impl_from_IEnumConnections(IEnumConnections *iface)
static const IOleCommandTargetVtbl IOleCommandTargetImpl_Vtbl
static HRESULT WINAPI SF_GetUIObjectOf(IShellFolder *iface, HWND owner, UINT cidl, LPCITEMIDLIST *idls, REFIID riid, UINT *inOut, void **out)
static HRESULT WINAPI EnumPt_Clone(IEnumConnectionPoints *This, IEnumConnectionPoints **ppEnumPt)
static HRESULT WINAPI SF_GetDisplayNameOf(IShellFolder *iface, LPCITEMIDLIST idl, SHGDNF flags, STRRET *name)
static HRESULT WINAPI Disp_GetIDsOfNames(IDispatch *This, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static EnumPt * impl_from_IEnumConnectionPoints(IEnumConnectionPoints *iface)
static ULONG WINAPI SF_AddRef(IShellFolder *iface)
static IProfferServiceImpl * impl_from_IProfferService(IProfferService *iface)
static HRESULT WINAPI Contain_FindConnectionPoint(IConnectionPointContainer *This, REFIID riid, IConnectionPoint **ppCP)
static HRESULT WINAPI Disp_QueryInterface(IDispatch *This, REFIID riid, void **ppvObject)
static void ok_trace_(call_trace_t *texpected, call_trace_t *tgot, int line)
static HRESULT WINAPI Prop_Write(IPropertyBag *This, LPCOLESTR pszPropName, VARIANT *pVar)
static IUnknown IConnectionPoint **static LPCWSTR
static const IPropertyBagVtbl prop_vtbl
static void test_SHGetObjectCompatFlags(void)
static HRESULT WINAPI testpersist_QI(IPersist *iface, REFIID riid, void **obj)
static void test_fdsa(void)
static IPersist testpersist
static IShellFolderVtbl ShellFolderVtbl
static void init_call_trace(call_trace_t *ctrace)
static void test_SHPackDispParams(void)
static void test_SHPropertyBag_ReadLONG(void)
static void test_IUnknown_GetClassID(void)
static HRESULT WINAPI IServiceProviderImpl_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppvObj)
static HRESULT WINAPI SF_EnumObjects(IShellFolder *iface, HWND owner, SHCONTF flags, IEnumIDList **enm)
static HRESULT WINAPI ConPt_QueryInterface(IConnectionPoint *This, REFIID riid, void **ppvObject)
static HRESULT WINAPI testpersist_GetClassID(IPersist *iface, CLSID *clsid)
static void test_SHSetWindowBits(void)
static HRESULT WINAPI SF_CompareIDs(IShellFolder *iface, LPARAM lparam, LPCITEMIDLIST idl1, LPCITEMIDLIST idl2)
static ULONG WINAPI Contain_Release(IConnectionPointContainer *This)
static HRESULT WINAPI Disp_GetTypeInfo(IDispatch *This, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI EnumPt_QueryInterface(IEnumConnectionPoints *This, REFIID riid, void **ppvObject)
static HRESULT WINAPI IServiceProviderImpl_QueryService(IServiceProvider *iface, REFGUID service, REFIID riid, void **ppv)
static HRESULT WINAPI EnumPt_Next(IEnumConnectionPoints *This, ULONG cConnections, IConnectionPoint **rgcd, ULONG *pcFetched)
static ULONG WINAPI ConPt_AddRef(IConnectionPoint *This)
static ULONG WINAPI testpersist_Release(IPersist *iface)
static HRESULT WINAPI Prop_Read(IPropertyBag *This, LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog)
static const IConnectionPointContainerVtbl contain_vtbl
static void init_pointers(void)
static HRESULT WINAPI ConPt_GetConnectionInterface(IConnectionPoint *This, IID *pIID)
static ULONG WINAPI IOleCommandTargetImpl_Release(IOleCommandTarget *iface)
static const IDispatchVtbl disp_vtbl
static ULONG WINAPI testpersist_AddRef(IPersist *iface)
static ULONG WINAPI Enum_AddRef(IEnumConnections *This)
static ULONG WINAPI Prop_Release(IPropertyBag *This)
static HRESULT WINAPI Enum_Reset(IEnumConnections *This)
static HRESULT WINAPI IOleCommandTargetImpl_Exec(IOleCommandTarget *iface, const GUID *CmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static REFGUID
static HRESULT WINAPI Contain_EnumConnectionPoints(IConnectionPointContainer *This, IEnumConnectionPoints **ppEnum)
static HRESULT WINAPI ConPt_Unadvise(IConnectionPoint *This, DWORD dwCookie)
static const IEnumConnectionPointsVtbl enumpt_vtbl
static BOOL write_inifile(LPCWSTR filename)
static HRESULT WINAPI testpersist_QI2(IPersist *iface, REFIID riid, void **obj)
static HRESULT WINAPI SF_BindToObject(IShellFolder *iface, LPCITEMIDLIST idl, LPBC reserved, REFIID riid, void **obj)
static ULONG WINAPI SF_Release(IShellFolder *iface)
static void add_call(call_trace_t *ctrace, int id, const void *arg0, const void *arg1, const void *arg2, const void *arg3, const void *arg4)
static HRESULT WINAPI Enum_Skip(IEnumConnections *This, ULONG cConnections)
static ULONG WINAPI Disp_AddRef(IDispatch *This)
static SECURITY_DESCRIPTOR *WINAPI * pGetShellSecurityDescriptor(const SHELL_USER_PERMISSION **, int)
static HRESULT WINAPI SF_ParseDisplayName(IShellFolder *iface, HWND owner, LPBC reserved, LPOLESTR displayName, ULONG *eaten, LPITEMIDLIST *idl, ULONG *attr)
static HRESULT WINAPI SF_GetAttributesOf(IShellFolder *iface, UINT cidl, LPCITEMIDLIST *idl, SFGAOF *inOut)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HWND
static const WCHAR spaceW[]
#define LOCALE_USER_DEFAULT
interface IBindCtx * LPBC
const GUID IID_IEnumConnections
const GUID IID_IConnectionPointContainer
const GUID IID_IConnectionPoint
const GUID IID_IPropertyBag
const GUID IID_IEnumConnectionPoints
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2)
#define FDTF_NOAUTOREADINGORDER
static __inline const char * wine_dbgstr_guid(const GUID *id)
int winetest_get_mainargs(char ***pargv)
#define wait_child_process
BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor)
BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision)
BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL *pDacl, LPBOOL lpbDaclDefaulted)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
IOleCommandTarget IOleCommandTarget_iface
DWORD dwInheritAccessMask
SID_IDENTIFIER_AUTHORITY sidAuthority
IShellFolder smart pointer.
IConnectionPoint IConnectionPoint_iface
IConnectionPointContainer IConnectionPointContainer_iface
IDispatch IDispatch_iface
IEnumConnections IEnumConnections_iface
IEnumConnectionPoints IEnumConnectionPoints_iface
IPropertyBag IPropertyBag_iface
#define CONTAINING_RECORD(address, type, field)
static const WCHAR procid[]
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
static LCIDTORFC1766A LcidToRfc1766A
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetCurrentProcessId(void)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define E_NOT_SUFFICIENT_BUFFER
#define DISP_E_BADVARTYPE
#define ERROR_INVALID_WINDOW_HANDLE
#define __HRESULT_FROM_WIN32(x)
#define ERROR_CANNOT_COPY
#define LOCALE_USE_CP_ACP
#define LOCALE_SISO639LANGNAME
#define LOCALE_SISO3166CTRYNAME
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
BOOL WINAPI IsWindow(_In_opt_ HWND)
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
LONG WINAPI GetWindowLongA(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
LONG WINAPI SetWindowLongA(_In_ HWND, _In_ int, _In_ LONG)
int WINAPI GetClassNameA(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPSTR lpClassName, _In_ int nMaxCount)
#define GetWindowLongPtrA
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
BOOL WINAPI GetClassInfoA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSA)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
#define SECURITY_WORLD_SID_AUTHORITY
#define SECURITY_WORLD_RID
#define ACCESS_ALLOWED_ACE_TYPE
#define ACCESS_DENIED_ACE_TYPE
#define SECURITY_NULL_SID_AUTHORITY
static unsigned int block