94 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
95 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
96 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
97 'I',
'n',
't',
'e',
'r',
'n',
'a',
't',
'i',
'o',
'n',
'a',
'l',0};
99 'A',
'c',
'c',
'e',
'p',
't',
'L',
'a',
'n',
'g',
'u',
'a',
'g',
'e',0};
132 const void *
arg1,
const void *
arg2,
const void *
arg3,
const void *arg4)
158 for (
i = 0;
i < texpected->
count;
i++)
166 for (
j = 0;
j < 5;
j++)
174 ok_(__FILE__,
line)(0,
"traces length mismatch\n");
177#define ok_trace(a, b) ok_trace_(a, b, __LINE__)
184 static LPCSTR table[] = {
"de,en-gb;q=0.7,en;q=0.3",
185 "de,en;q=0.3,en-gb;q=0.7",
213 len =
sizeof(original);
220 memset(language, 0,
sizeof(language));
232 memset(language, 0,
sizeof(language));
243 win_skip(
"GetAcceptLanguagesA failed with 0x%x\n",
hr);
244 goto restore_original;
251 ok(
hr ==
S_OK,
"LcidToRfc1766A returned 0x%x and %s\n",
hr, language);
255 "have '%s' (searching for '%s')\n", language,
buffer);
258 win_skip(
"no more ideas, how to build the default language '%s'\n",
buffer);
259 goto restore_original;
262 trace(
"detected default: %s\n", language);
268 ok(!lres,
"got %d for RegSetValueExA: %s\n", lres,
entry);
277 ((
len == exactsize) || (
len == exactsize+1)) &&
279 "+2_#%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
287 ((
len == exactsize) || (
len == exactsize+1)) &&
289 "+1_#%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
309 "==_#%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
321 "-1_#%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
333 "=1_#%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
340 ok( ((
hr ==
S_OK) && ((
len == exactsize) || (
len == exactsize + 1))) ||
342 "NULL,max #%d: got 0x%x with %d and %s\n",
i,
hr,
len,
buffer);
355 "max: got 0x%x with %d and %s (expected S_OK with %d and '%s'\n",
393 "got 0x%x (expected E_FAIL or E_INVALIDARG)\n",
hr);
399 "got 0x%x (expected E_FAIL or E_INVALIDARG)\n",
hr);
405 ok(!lres,
"RegSetValueEx(%s) failed: %d\n", original, lres);
419 if (!pSHSearchMapInt)
422 memset(keys, 0,
sizeof(keys));
424 keys[0] = 99;
values[0] = 101;
429 i = pSHSearchMapInt(keys,
values, 1, keys[0]);
433 i = pSHSearchMapInt(keys,
values, 1, 100);
434 ok(
i == -1,
"Len 1 - bad key, expected -1, got %d\n",
i);
437 i = pSHSearchMapInt(keys,
values, 0, keys[0]);
438 ok(
i == -1,
"Len 1 - passed len 0, expected -1, got %d\n",
i);
441 keys[1] = 98;
values[1] = 102;
442 i = pSHSearchMapInt(keys,
values, 1, keys[1]);
443 ok(
i == -1,
"Len 1 - array len 2, expected -1, got %d\n",
i);
446 i = pSHSearchMapInt(keys,
values, 2, keys[1]);
450 keys[2] = 99;
values[2] = 103;
451 i = pSHSearchMapInt(keys,
values, 3, keys[0]);
477 val.value = 0x12345678;
485 ok(
p->value == 0x12345678,
"Wrong value in shared memory: %d instead of %d\n",
p->value, 0x12345678);
486 ret = pSHUnlockShared(
p);
498 p = pSHLockShared(hmem,
procid);
502 ok(
p->value == 0x12345679,
"Wrong value in shared memory: %d instead of %d\n",
p->value, 0x12345679);
504 ok(hmem2 !=
NULL,
"Expected handle in shared memory\n");
506 ret = pSHUnlockShared(
p);
515 p = pSHLockShared(hmem2,
procid);
518 ok(
p->value == 0xDEADBEEF,
"Wrong value in shared memory: %d instead of %d\n",
p->value, 0xDEADBEEF);
519 ret = pSHUnlockShared(
p);
539 p = pSHLockShared(hmem,
procid);
543 win_skip(
"Subprocess failed to modify shared memory, skipping test\n");
547 ok(
p->value == 0x12345678,
"Wrong value in shared memory: %d instead of %d\n",
p->value, 0x12345678);
550 val.value = 0xDEADBEEF;
555 ret = pSHUnlockShared(
p);
561 ok(hmem2 ==
NULL,
"expected NULL, got new handle\n");
572 win_skip(
"Subprocess failed to map shared memory, skipping test\n");
580 ok(
p->value == 0x12345679,
"Wrong value in shared memory: %d instead of %d\n",
p->value, 0x12345679);
582 ret = pSHUnlockShared(
p);
595 DWORD blocks_alloced;
608 int block_size = 10, init_blocks = 4, inc = 2;
620 ok(pFDSA_Initialize(
block_size, inc, &
info,
mem, init_blocks),
"FDSA_Initialize rets FALSE\n");
621 ok(
info.num_items == 0,
"num_items = %d\n",
info.num_items);
623 ok(
info.blocks_alloced == init_blocks,
"blocks_alloced = %d\n",
info.blocks_alloced);
626 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
628 ret = pFDSA_InsertItem(&
info, 1234,
"1234567890");
630 ok(
info.num_items == 1,
"num_items = %d\n",
info.num_items);
632 ok(
info.blocks_alloced == init_blocks,
"blocks_alloced = %d\n",
info.blocks_alloced);
635 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
637 ret = pFDSA_InsertItem(&
info, 1234,
"abcdefghij");
640 ret = pFDSA_InsertItem(&
info, 1,
"klmnopqrst");
643 ret = pFDSA_InsertItem(&
info, 0,
"uvwxyzABCD");
646 ok(
info.flags == 0,
"flags = %d\n",
info.flags);
649 ret = pFDSA_InsertItem(&
info, 0,
"EFGHIJKLMN");
652 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %d\n",
info.blocks_alloced);
653 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
655 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCD1234567890klmnopqrstabcdefghij", 50),
"mem %s\n", (
char*)
info.mem);
657 ok(pFDSA_DeleteItem(&
info, 2),
"rets FALSE\n");
659 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %d\n",
info.blocks_alloced);
660 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
662 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCDklmnopqrstabcdefghij", 40),
"mem %s\n", (
char*)
info.mem);
664 ok(pFDSA_DeleteItem(&
info, 3),
"rets FALSE\n");
666 ok(
info.blocks_alloced == init_blocks + inc,
"blocks_alloced = %d\n",
info.blocks_alloced);
667 ok(
info.flags == 0x1,
"flags = %d\n",
info.flags);
669 ok(!
memcmp(
info.mem,
"EFGHIJKLMNuvwxyzABCDklmnopqrst", 30),
"mem %s\n", (
char*)
info.mem);
671 ok(!pFDSA_DeleteItem(&
info, 4),
"does not ret FALSE\n");
674 ok(!pFDSA_Destroy(&
info),
"FDSA_Destroy does not ret FALSE\n");
678 ok(pFDSA_Initialize(
block_size, 0, &
info,
mem, init_blocks),
"FDSA_Initialize rets FALSE\n");
683 ok(pFDSA_Destroy(&
info),
"FDSA_Destroy rets FALSE\n");
695#define MY_INHERITANCE 0xBE
701 &supCurrentUserFull, &supEveryoneDenied,
707 win_skip(
"GetShellSecurityDescriptor not available\n");
712 ok(psd==
NULL,
"GetShellSecurityDescriptor should fail\n");
714 ok(psd==
NULL,
"GetShellSecurityDescriptor should fail, got %p\n", psd);
718 ok(psd!=
NULL,
"GetShellSecurityDescriptor failed\n");
735 ok(bHasDacl,
"SD has no DACL\n");
738 ok(!bDefaulted,
"DACL should not be defaulted\n");
740 ok(pAcl !=
NULL,
"NULL DACL!\n");
750 ok(asiSize.
AceCount == 3,
"Incorrect number of ACEs: %d entries\n", asiSize.
AceCount);
793 memset(vars, 0xc0,
sizeof(vars));
797 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
798 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
801 ok(
V_I4(vars) == 0xdeadbeef,
"failed %x\n",
V_I4(vars));
807 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
808 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
811 memset(vars, 0xc0,
sizeof(vars));
817 ok(
params.cNamedArgs == 0,
"params.cNamedArgs = %d\n",
params.cArgs);
818 ok(
params.rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n",
params.rgdispidNamedArgs);
821 ok(
V_I4(vars) == 0xdeadbeef,
"V_I4(vars[0]) = %x\n",
V_I4(vars));
823 ok(
V_I4(vars+1) == 100,
"V_I4(vars[1]) = %x\n",
V_I4(vars+1));
825 ok(
V_I4(vars+2) == 10,
"V_I4(vars[2]) = %x\n",
V_I4(vars+2));
827 ok(
V_BSTR(vars+3) == (
void*)0xdeadbeef,
"V_BSTR(vars[3]) = %p\n",
V_BSTR(vars+3));
914 IDispatch_AddRef(
This);
918 trace(
"no interface\n");
972 DISPPARAMS *pDispParams,
974 EXCEPINFO *pExcepInfo,
978 pDispParams, pVarResult, pExcepInfo, puArgErr);
980 ok(dispIdMember == 0xa0 || dispIdMember == 0xa1,
"Unknown dispIdMember\n");
981 ok(pDispParams !=
NULL,
"Invoked with NULL pDispParams\n");
983 ok(lcid == 0,
"Wrong lcid %x\n",lcid);
984 if (dispIdMember == 0xa0)
986 ok(pDispParams->cArgs == 0,
"params.cArgs = %d\n", pDispParams->cArgs);
987 ok(pDispParams->cNamedArgs == 0,
"params.cNamedArgs = %d\n", pDispParams->cArgs);
988 ok(pDispParams->rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n", pDispParams->rgdispidNamedArgs);
989 ok(pDispParams->rgvarg ==
NULL,
"params.rgvarg = %p\n", pDispParams->rgvarg);
991 else if (dispIdMember == 0xa1)
993 ok(pDispParams->cArgs == 2,
"params.cArgs = %d\n", pDispParams->cArgs);
994 ok(pDispParams->cNamedArgs == 0,
"params.cNamedArgs = %d\n", pDispParams->cArgs);
995 ok(pDispParams->rgdispidNamedArgs ==
NULL,
"params.rgdispidNamedArgs = %p\n", pDispParams->rgdispidNamedArgs);
996 ok(
V_VT(pDispParams->rgvarg) ==
VT_BSTR,
"V_VT(var) = %d\n",
V_VT(pDispParams->rgvarg));
997 ok(
V_I4(pDispParams->rgvarg) == 0xdeadcafe ,
"failed %p\n",
V_BSTR(pDispParams->rgvarg));
998 ok(
V_VT(pDispParams->rgvarg+1) ==
VT_I4,
"V_VT(var) = %d\n",
V_VT(pDispParams->rgvarg+1));
999 ok(
V_I4(pDispParams->rgvarg+1) == 0xdeadbeef,
"failed %x\n",
V_I4(pDispParams->rgvarg+1));
1030 IEnumConnections_AddRef(
This);
1034 trace(
"no interface\n");
1065 rgcd->pUnk = iface->
pt->
sink[iface->
idx];
1066 IUnknown_AddRef(iface->
pt->
sink[iface->
idx]);
1067 rgcd->dwCookie=0xff;
1122 IConnectionPoint_AddRef(
This);
1126 trace(
"no interface\n");
1152 IUnknown_Release(iface->
sink[
i]);
1199 IUnknown_AddRef(pUnkSink);
1215 IUnknown_Release(iface->
sink[dwCookie-1]);
1263 IEnumConnectionPoints_AddRef(
This);
1267 trace(
"no interface\n");
1354 IConnectionPointContainer_AddRef(
This);
1358 trace(
"no interface\n");
1382 IConnectionPoint_Release(iface->
pt[
i]);
1421 pt->container = iface;
1428 iface->
pt[iface->
ptCount] = &
pt->IConnectionPoint_iface;
1431 *ppCP = &
pt->IConnectionPoint_iface;
1435 *ppCP = iface->
pt[0];
1473 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %x\n",rc);
1474 ok(
point !=
NULL,
"returned ConnectionPoint is NULL\n");
1475 ok(
cookie != 0xffffffff,
"invalid cookie returned\n");
1477 rc = pIConnectionPoint_SimpleInvoke(
point,0xa0,
NULL);
1478 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %x\n",rc);
1481 memset(vars, 0xc0,
sizeof(vars));
1483 ok(rc ==
S_OK,
"SHPackDispParams failed: %08x\n", rc);
1485 rc = pIConnectionPoint_SimpleInvoke(
point,0xa1,&
params);
1486 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %x\n",rc);
1489 ok(rc ==
S_OK,
"pConnectToConnectionPoint failed with %x\n",rc);
1495 ok(
ref == 0,
"leftover IConnectionPointContainer reference %i\n",
ref);
1497 ok(
ref == 0,
"leftover IDispatch reference %i\n",
ref);
1527 IPropertyBag_AddRef(
This);
1531 trace(
"no interface\n");
1556 LPCOLESTR pszPropName,
1567 LPCOLESTR pszPropName,
1588 static const WCHAR szName1[] = {
'n',
'a',
'm',
'e',
'1',0};
1595 rc = pSHPropertyBag_ReadLONG(
NULL, szName1, &
out);
1597 ok(
out == 0xfeedface,
"value should not have changed\n");
1600 ok(
out == 0xfeedface,
"value should not have changed\n");
1605 ok(
out == 0xfeedface ||
broken(
out == 0xfeedfa00),
"value should not have changed %x\n",
out);
1636 "expected ERROR_INVALID_WINDOW_HANDLE, got %d\n",
GetLastError());
1641 ok(styleold ==
style,
"expected old style\n");
1649 ok(
style == styleold,
"expected previous style, got %x\n",
style);
1655 ok(
style == styleold,
"expected previous style, got %x\n",
style);
1661 ok(
style == styleold,
"expected previous style, got %x\n",
style);
1669 ok(
style == styleold,
"expected previous style, got %x\n",
style);
1680 CHAR buff[100], buff2[100], buff3[100];
1708 ok(
buff[0] ==
'a',
"expected same string, got %s\n",
buff);
1784 "expected (%s), got (%s) for time part\n",
1789 ok(
lstrcmpA(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1798 "expected (%s), got (%s) for time part\n",
1803 ok(
lstrcmpA(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1832 WCHAR buff[100], buff2[100], buff3[100], *p1, *p2;
1837#define UNICODE_LTR_MARK 0x200e
1838#define UNICODE_RTL_MARK 0x200f
1854 ok(
ret == 0,
"expected 0, got %d\n",
ret);
1860 ok(
ret == 0,
"expected 0, got %d\n",
ret);
1862 ok(
buff[0] ==
'a',
"expected same string\n");
1948 "expected (%s), got (%s) for time part\n",
1964 ok(
lstrcmpW(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
1974 "expected (%s), got (%s) for time part\n",
1990 ok(
lstrcmpW(buff2,
buff) == 0,
"expected (%s) got (%s) for date part\n",
2020 struct compat_value {
2025 struct compat_value
values[] = {
2026 {
"OTNEEDSSFCACHE", 0x1 },
2027 {
"NO_WEBVIEW", 0x2 },
2028 {
"UNBINDABLE", 0x4 },
2030 {
"NEEDSFILESYSANCESTOR", 0x10 },
2031 {
"NOTAFILESYSTEM", 0x20 },
2032 {
"CTXMENU_NOVERBS", 0x40 },
2033 {
"CTXMENU_LIMITEDQI", 0x80 },
2034 {
"COCREATESHELLFOLDERONLY", 0x100 },
2035 {
"NEEDSSTORAGEANCESTOR", 0x200 },
2036 {
"NOLEGACYWEBVIEW", 0x400 },
2037 {
"CTXMENU_XPQCMFLAGS", 0x1000 },
2038 {
"NOIPROPERTYSTORE", 0x2000 }
2041 static const char compat_path[] =
"Software\\Microsoft\\Windows\\CurrentVersion\\ShellCompatibility\\Objects";
2054 skip(
"No compatibility class data found\n");
2083 pGUIDFromStringA(keyA, &
clsid);
2084 got = pSHGetObjectCompatFlags(
NULL, &
clsid);
2114 return &
obj->IOleCommandTarget_iface;
2129 IOleCommandTarget_AddRef(iface);
2163 const GUID *CmdGroup,
2214 return &
obj->IServiceProvider_iface;
2225 return &
obj->IProfferService_iface;
2240 IServiceProvider_AddRef(iface);
2280 if (
IsEqualIID(service, &IID_IProfferService))
2298 static const GUID dummy_serviceid = { 0xdeadbeef };
2299 static const GUID dummy_groupid = { 0xbeefbeef };
2306 hr = pIUnknown_QueryServiceExec(
NULL, &dummy_serviceid, &dummy_groupid, 0, 0, 0, 0);
2309 "got 0x%08x\n",
hr);
2319 add_call(&trace_expected, 1, provider, &IID_IServiceProvider, 0, 0, 0);
2320 add_call(&trace_expected, 2, provider, &dummy_serviceid, &IID_IOleCommandTarget, 0, 0);
2321 add_call(&trace_expected, 3, &dummy_groupid, (
void*)0x1, (
void*)0x2, (
void*)0x3, (
void*)0x4);
2324 hr = pIUnknown_QueryServiceExec((
IUnknown*)provider, &dummy_serviceid, &dummy_groupid, 0x1, 0x2, (
void*)0x3, (
void*)0x4);
2332 IServiceProvider_Release(provider);
2354 IProfferService_AddRef(iface);
2383 *pCookie = 0xdeadbeef;
2407 static const GUID dummy_serviceid = { 0xdeadbeef };
2416 hr = pIUnknown_ProfferService(
NULL, &dummy_serviceid, 0, 0);
2419 "got 0x%08x\n",
hr);
2433 add_call(&trace_expected, 1, proff, &IID_IServiceProvider, 0, 0, 0);
2434 add_call(&trace_expected, 2, &IID_IProfferService, &IID_IProfferService, 0, 0, 0);
2435 add_call(&trace_expected, 3, &dummy_serviceid, provider, &
cookie, 0, 0);
2439 hr = pIUnknown_ProfferService((
IUnknown*)proff, &dummy_serviceid, provider, &
cookie);
2450 add_call(&trace_expected, 1, proff, &IID_IServiceProvider, 0, 0, 0);
2451 add_call(&trace_expected, 2, &IID_IProfferService, &IID_IProfferService, 0, 0, 0);
2456 hr = pIUnknown_ProfferService((
IUnknown*)proff, &dummy_serviceid, 0, &
cookie);
2463 IServiceProvider_Release(provider);
2464 IProfferService_Release(proff);
2475 hwnd = pSHCreateWorkerWindowA(0,
NULL, 0, 0, 0, 0);
2476 ok(
hwnd != 0,
"expected window\n");
2479 ok(
lstrcmpA(classA,
"WorkerA") == 0,
"expected WorkerA class, got %s\n", classA);
2485 memset(&cliA, 0,
sizeof(cliA));
2487 ok(
res,
"failed to get class info\n");
2496 hwnd = pSHCreateWorkerWindowA(0,
NULL, 0, 0, 0, 0xdeadbeef);
2497 ok(
hwnd != 0,
"expected window\n");
2500 ok(
lstrcmpA(classA,
"WorkerA") == 0,
"expected WorkerA class, got %s\n", classA);
2503 ok(
ret == 0xdeadbeef,
"got %ld\n",
ret);
2524 "Unexpected QI for IShellFolder\n");
2542 ok(0,
"Didn't expect ParseDisplayName\n");
2556 ok(0,
"Didn't expect BindToObject\n");
2563 ok(0,
"Didn't expect BindToStorage\n");
2570 ok(0,
"Didn't expect CompareIDs\n");
2577 ok(0,
"Didn't expect CreateViewObject\n");
2588 ok(0,
"Didn't expect GetAttributesOf\n");
2600 ok(0,
"Didn't expect GetUIObjectOf\n");
2607 ok(0,
"Didn't expect GetDisplayNameOf\n");
2615 ok(0,
"Didn't expect SetNameOf\n");
2643 if(!pSHIShellFolder_EnumObjects){
2644 win_skip(
"SHIShellFolder_EnumObjects not available\n");
2656 ok(
hres ==
S_OK,
"SHIShellFolder_EnumObjects failed: 0x%08x\n",
hres);
2657 ok(enm == (
IEnumIDList*)0xcafebabe,
"Didn't get expected enumerator location, instead: %p\n", enm);
2665 ok(
hres ==
S_OK,
"SHIShellFolder_EnumObjects failed: 0x%08x\n",
hres);
2666 ok(enm !=
NULL,
"Didn't get an enumerator\n");
2668 IEnumIDList_Release(enm);
2670 IShellFolder_Release(
folder);
2678 static const char data[] =
2681 "AnotherKey=asdf\r\n";
2696#define verify_inifile(f, e) r_verify_inifile(__LINE__, f, e)
2722 static const WCHAR TestAppW[] = {
'T',
'e',
's',
't',
'A',
'p',
'p',0};
2723 static const WCHAR AKeyW[] = {
'A',
'K',
'e',
'y',0};
2724 static const WCHAR AnotherKeyW[] = {
'A',
'n',
'o',
't',
'h',
'e',
'r',
'K',
'e',
'y',0};
2725 static const WCHAR JunkKeyW[] = {
'J',
'u',
'n',
'k',
'K',
'e',
'y',0};
2726 static const WCHAR testpathW[] = {
'C',
':',
'\\',
't',
'e',
's',
't',
'.',
'i',
'n',
'i',0};
2741 ret = pSHGetIniStringW(TestAppW, AKeyW,
out, 0, pathW);
2742 ok(
ret == 0,
"SHGetIniStringW should have given 0, instead: %d\n",
ret);
2748 ok(
ret == 4,
"SHGetIniStringW should have given 4, instead: %d\n",
ret);
2753 ok(
ret == 1,
"SHGetIniStringW should have given 1, instead: %d\n",
ret);
2757 ok(
ret == 4,
"SHGetIniStringW should have given 4, instead: %d\n",
ret);
2762 ok(
ret == 0,
"SHGetIniStringW should have given 0, instead: %d\n",
ret);
2772 static const WCHAR TestAppW[] = {
'T',
'e',
's',
't',
'A',
'p',
'p',0};
2773 static const WCHAR AnotherAppW[] = {
'A',
'n',
'o',
't',
'h',
'e',
'r',
'A',
'p',
'p',0};
2774 static const WCHAR TestIniW[] = {
'C',
':',
'\\',
't',
'e',
's',
't',
'.',
'i',
'n',
'i',0};
2775 static const WCHAR AKeyW[] = {
'A',
'K',
'e',
'y',0};
2776 static const WCHAR NewKeyW[] = {
'N',
'e',
'w',
'K',
'e',
'y',0};
2777 static const WCHAR AValueW[] = {
'A',
'V',
'a',
'l',
'u',
'e',0};
2782 ret = pSHSetIniStringW(TestAppW, AKeyW, AValueW, TestIniW);
2783 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2785 verify_inifile(TestIniW,
"[TestApp]\r\nAKey=AValue\r\nAnotherKey=asdf\r\n");
2787 ret = pSHSetIniStringW(TestAppW, AKeyW,
NULL, TestIniW);
2788 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2791 ret = pSHSetIniStringW(AnotherAppW, NewKeyW, AValueW, TestIniW);
2792 ok(
ret ==
TRUE,
"SHSetIniStringW should not have failed\n");
2793 verify_inifile(TestIniW,
"[TestApp]\r\nAnotherKey=asdf\r\n[AnotherApp]\r\nNewKey=AValue\r\n");
2795 ret = pSHSetIniStringW(TestAppW,
NULL, AValueW, TestIniW);
2796 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 = %d\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%08x\n",
hr);
3106 memset(&clsid2, 0xab,
sizeof(clsid2));
3107 memset(&clsid3, 0xcc,
sizeof(clsid3));
3109 ok(
hr == 0x8fff2222,
"got 0x%08x\n",
hr);
3118 hr = pDllGetVersion(
NULL);
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
char * strcat(char *DstString, const char *SrcString)
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 WideCharToMultiByte
#define ERROR_ACCESS_DENIED