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
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)
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
#define sprintf(buf, format,...)
static const char * strw(LPCWSTR x)
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_SHSearchMapInt(void)
static HRESULT WINAPI SF_CreateViewObject(IShellFolder *iface, HWND owner, REFIID riid, void **out)
static void test_DllGetVersion(void)
static int strcmp_wa(LPCWSTR strw, const char *stra)
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 void test_SHFormatDateTimeA(void)
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)
static __inline const char * wine_dbgstr_guid(const GUID *id)
int winetest_get_mainargs(char ***pargv)
void winetest_wait_child_process(HANDLE 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)
#define FDTF_NOAUTOREADINGORDER
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
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[]
static LCIDTORFC1766A LcidToRfc1766A
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetCurrentProcessId(void)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define E_NOT_SUFFICIENT_BUFFER
#define DISP_E_BADVARTYPE
#define ERROR_INVALID_WINDOW_HANDLE
#define HRESULT_FROM_WIN32(x)
#define __HRESULT_FROM_WIN32(x)
#define ERROR_CANNOT_COPY
#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