43#include "shdeprecated.h"
53#include "wine/unicode.h"
105 TRACE(
"(%p,%d,%d,%08x,%08x)\n", hShared, dwDstProcId, dwSrcProcId,
110 TRACE(
"Returning handle NULL\n");
115 if (dwDstProcId == dwMyProcId)
123 if (dwSrcProcId == dwMyProcId)
135 if (dwSrcProcId != dwMyProcId)
139 if (dwDstProcId != dwMyProcId)
143 TRACE(
"Returning handle %p\n", hRet);
227 TRACE(
"(%p %d %d)\n", hShared, dwProcId, bWriteAccess);
240 return (
char *) pMapped +
sizeof(
DWORD);
267 TRACE(
"(%p %d)\n", hShared, dwProcId);
277 return (
char *) pMapped +
sizeof(
DWORD);
297 TRACE(
"(%p)\n", lpView);
319 TRACE(
"(%p %d)\n", hShared, dwProcId);
350 static const WCHAR szProperty[] = {
'{',
'D',
'0',
'F',
'C',
'A',
'4',
'2',
'0',
351 '-',
'D',
'3',
'F',
'5',
'-',
'1',
'1',
'C',
'F',
'-',
'B',
'2',
'1',
'1',
'-',
'0',
352 '0',
'A',
'A',
'0',
'0',
'4',
'A',
'E',
'8',
'3',
'7',
'}',
'\0' };
357 IWebBrowserApp* pBrowser;
359 TRACE(
"(%p, %p)\n", lpBC, lpUnknown);
376 char szKeyBuff[128], szValueBuff[128];
377 DWORD dwKeySize, dwValueSize, dwRet = 0, dwCount = 0, dwNumValues, dwType;
378 FORMATETC* formatList, *
format;
381 TRACE(
"Registering formats and creating IEnumFORMATETC instance\n");
384 "Version\\Internet Settings\\Accepted Documents", &hDocs))
393 dwKeySize =
sizeof(szKeyBuff);
394 dwRet =
RegEnumValueA(hDocs,dwCount,szKeyBuff,&dwKeySize,0,&dwType,0,0);
398 dwNumValues = dwCount;
417 while(!dwRet && dwCount < dwNumValues)
419 dwKeySize =
sizeof(szKeyBuff);
420 dwValueSize =
sizeof(szValueBuff);
421 dwRet =
RegEnumValueA(hDocs, dwCount, szKeyBuff, &dwKeySize, 0, &dwType,
422 (
PBYTE)szValueBuff, &dwValueSize);
465 IEnumFORMATETC_Release(pIEnumFormatEtc);
476 TRACE(
"Retrieved IEnumFORMATETC property\n");
479 pIEnumFormatEtc =
NULL;
481 if (
hr ==
S_OK && pIEnumFormatEtc)
484 hr = IEnumFORMATETC_Clone(pIEnumFormatEtc, &pClone);
489 IEnumFORMATETC_Release(pClone);
492 IUnknown_Release(pIUnknown);
498 IWebBrowserApp_Release(pBrowser);
520 static const WCHAR szkeyW[] = {
521 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
522 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
523 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
524 'I',
'n',
't',
'e',
'r',
'n',
'a',
't',
'i',
'o',
'n',
'a',
'l',0};
526 'A',
'c',
'c',
'e',
'p',
't',
'L',
'a',
'n',
'g',
'u',
'a',
'g',
'e',0};
527 DWORD mystrlen, mytype;
534 TRACE(
"(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
536 if(!langbuf || !buflen || !*buflen)
539 mystrlen = (*buflen > 20) ? *buflen : 20 ;
548 if (!lres && (*buflen >
len)) {
580 DWORD buflenW, convlen;
583 TRACE(
"(%p, %p) *%p: %d\n", langbuf, buflen, buflen, buflen ? *buflen : -1);
585 if(!langbuf || !buflen || !*buflen)
return E_FAIL;
599 if (convlen < *buflen)
601 langbuf[convlen] = 0;
609 *buflen = buflenW ? convlen : 0;
635 sprintf(xguid,
"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
665 static const WCHAR wszFormat[] = {
'{',
'%',
'0',
'8',
'l',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
666 '%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'-',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
667 'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'}',0};
936 static const WCHAR szIEKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
937 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
938 ' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\0' };
939 static const WCHAR szWinNtKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
940 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
' ',
941 'N',
'T',
'\\',
'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\0' };
942 static const WCHAR szWinKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
943 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
944 'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\0' };
945 static const WCHAR szRegKey[] = {
'S',
'O',
'F',
'T',
'W',
'A',
'R',
'E',
'\\',
946 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
947 ' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
948 'R',
'e',
'g',
'i',
's',
't',
'r',
'a',
't',
'i',
'o',
'n',
'\0' };
949 static const WCHAR szVersion[] = {
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\0' };
950 static const WCHAR szCustomized[] = {
'C',
'u',
's',
't',
'o',
'm',
'i',
'z',
'e',
'd',
951 'V',
'e',
'r',
's',
'i',
'o',
'n',
'\0' };
952 static const WCHAR szOwner[] = {
'R',
'e',
'g',
'i',
's',
't',
'e',
'r',
'e',
'd',
953 'O',
'w',
'n',
'e',
'r',
'\0' };
954 static const WCHAR szOrg[] = {
'R',
'e',
'g',
'i',
's',
't',
'e',
'r',
'e',
'd',
955 'O',
'r',
'g',
'a',
'n',
'i',
'z',
'a',
't',
'i',
'o',
'n',
'\0' };
956 static const WCHAR szProduct[] = {
'P',
'r',
'o',
'd',
'u',
'c',
't',
'I',
'd',
'\0' };
957 static const WCHAR szUpdate[] = {
'I',
'E',
'A',
'K',
958 'U',
'p',
'd',
'a',
't',
'e',
'U',
'r',
'l',
'\0' };
959 static const WCHAR szHelp[] = {
'I',
'E',
'A',
'K',
960 'H',
'e',
'l',
'p',
'S',
't',
'r',
'i',
'n',
'g',
'\0' };
983 dwLen = 30 - dwStrLen;
985 szCustomized, &dwType,
buff+dwStrLen, &dwLen);
1049 ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText)
1053 TRACE(
"(%p,%p,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, cCmds, prgCmds, pCmdText);
1059 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1064 hRet = IOleCommandTarget_QueryStatus(lpOle, pguidCmdGroup, cCmds,
1066 IOleCommandTarget_Release(lpOle);
1093 TRACE(
"(%p,%p,%d,%d,%p,%p)\n",lpUnknown, pguidCmdGroup, nCmdID,
1094 nCmdexecopt, pvaIn, pvaOut);
1100 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleCommandTarget,
1104 hRet = IOleCommandTarget_Exec(lpOle, pguidCmdGroup, nCmdID,
1105 nCmdexecopt, pvaIn, pvaOut);
1106 IOleCommandTarget_Release(lpOle);
1137 if (new_flags !=
ret)
1201 if(!lpUnknown || (fConnect && !lpUnkSink))
1208 (
void**)&lpContainer);
1211 hRet = IConnectionPointContainer_FindConnectionPoint(lpContainer,
riid, &lpCP);
1216 hRet = IConnectionPoint_Unadvise(lpCP, *lpCookie);
1218 hRet = IConnectionPoint_Advise(lpCP, lpUnkSink, lpCookie);
1226 IConnectionPoint_Release(lpCP);
1229 IConnectionPointContainer_Release(lpContainer);
1247 TRACE(
"(%p)\n", lpUnknown);
1249 if(!lpUnknown || !*lpUnknown)
return;
1251 TRACE(
"doing Release\n");
1253 IUnknown_Release(*lpUnknown);
1271 if (lpszSrc && lpszSrc[0] ==
'/' && lpszSrc[1] ==
'/')
1294 TRACE(
"(%p %p)\n", lpInt1, lpInt2);
1296 if (!lpInt1 || !lpInt2)
1299 if (lpInt1 == lpInt2)
1302 if (IUnknown_QueryInterface(lpInt1, &
IID_IUnknown, (
void**)&lpUnknown1) !=
S_OK)
1305 if (IUnknown_QueryInterface(lpInt2, &
IID_IUnknown, (
void**)&lpUnknown2) !=
S_OK)
1307 IUnknown_Release(lpUnknown1);
1311 ret = lpUnknown1 == lpUnknown2;
1313 IUnknown_Release(lpUnknown1);
1314 IUnknown_Release(lpUnknown2);
1341 TRACE(
"(%p,%p)\n", lpUnknown, lphWnd);
1346 hRet = IUnknown_QueryInterface(lpUnknown, &
IID_IOleWindow, (
void**)&lpOle);
1350 hRet = IUnknown_QueryInterface(lpUnknown,&IID_IShellView, (
void**)&lpOle);
1354 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInternetSecurityMgrSite,
1364 hRet = IOleWindow_GetWindow((
IOleWindow*)lpOle, lphWnd);
1365 IUnknown_Release(lpOle);
1367 TRACE(
"Returning HWND=%p\n", *lphWnd);
1392 if (!iface)
return E_FAIL;
1394 hr = IUnknown_QueryInterface(iface, &IID_IShellService, (
void**)&service);
1397 hr = IShellService_SetOwner(service,
pUnk);
1398 IShellService_Release(service);
1422 TRACE(
"IID_IObjectWithSite QI ret=%08x, %p\n",
hr, iobjwithsite);
1425 hr = IObjectWithSite_SetSite(iobjwithsite,
site);
1426 TRACE(
"done IObjectWithSite_SetSite ret=%08x\n",
hr);
1427 IObjectWithSite_Release(iobjwithsite);
1431 hr = IUnknown_QueryInterface(
obj, &IID_IInternetSecurityManager, (
LPVOID *)&isecmgr);
1432 TRACE(
"IID_IInternetSecurityManager QI ret=%08x, %p\n",
hr, isecmgr);
1436 TRACE(
"done IInternetSecurityManager_SetSecuritySite ret=%08x\n",
hr);
1437 IInternetSecurityManager_Release(isecmgr);
1470 hr = IUnknown_QueryInterface(lpUnknown, &
IID_IPersist, (
void**)&persist);
1473 hr = IUnknown_QueryInterface(lpUnknown, &IID_IPersistFolder, (
void**)&persist);
1478 hr = IPersist_GetClassID(persist,
clsid);
1479 IPersist_Release(persist);
1515 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IServiceProvider,
1518 if (hRet ==
S_OK && pService)
1520 TRACE(
"QueryInterface returned (IServiceProvider*)%p\n", pService);
1523 hRet = IServiceProvider_QueryService(pService,
sid,
riid, lppOut);
1525 TRACE(
"(IServiceProvider*)%p returned (IUnknown*)%p\n", pService, *lppOut);
1527 IServiceProvider_Release(pService);
1565 hr = IOleCommandTarget_Exec(
target,
group, cmdId, cmdOpt, pIn, pOut);
1566 IOleCommandTarget_Release(
target);
1603 hr = IProfferService_ProfferService(proffer, service, pService, pCookie);
1606 hr = IProfferService_RevokeService(proffer, *pCookie);
1610 IProfferService_Release(proffer);
1635 IInputObject*
object =
NULL;
1642 ret = IUnknown_QueryInterface(
unknown, &IID_IInputObject, (
LPVOID*) &
object);
1727 data.uiMsgId = uiMsgId;
1756 TRACE(
"%p\n", hMenu);
1758 while (iItemCount >= 0)
1802 TRACE(
"%p, %u, %d\n", hMenu, uID, bCheck);
1831 DWORD dwEffect = DROPEFFECT_LINK | DROPEFFECT_MOVE | DROPEFFECT_COPY;
1834 TRACE(
"%p %p 0x%08x %p %p\n", pDrop, pDataObj, grfKeyState, lpPt, pdwEffect);
1840 pdwEffect = &dwEffect;
1842 IDropTarget_DragEnter(pDrop, pDataObj, grfKeyState, *lpPt, pdwEffect);
1844 if (*pdwEffect != DROPEFFECT_NONE)
1845 return IDropTarget_Drop(pDrop, pDataObj, grfKeyState, *lpPt, pdwEffect);
1847 IDropTarget_DragLeave(pDrop);
1869 TRACE(
"(%p,%p)\n", lpUnknown, lpPropBag);
1877 hRet = IPersistPropertyBag_Load(lpPPBag, lpPropBag,
NULL);
1878 IPersistPropertyBag_Release(lpPPBag);
1903 TRACE(
"(%p,%p,0x%08x)\n", lpUnknown, lpMsg, dwModifiers);
1910 hRet = IOleControlSite_TranslateAccelerator(lpCSite, lpMsg, dwModifiers);
1911 IOleControlSite_Release(lpCSite);
1936 TRACE(
"(%p, %d)\n", lpUnknown, fGotFocus);
1943 hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus);
1944 IOleControlSite_Release(lpCSite);
1957 static const DWORD service_id[] = { 0xd12f26b2, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1959 static const DWORD function_id[] = { 0xd12f26b1, 0x11d0d90a, 0xaa000d83, 0x83435b00 };
1963 TRACE(
"(%p,%p,%p,%p,%p)\n", lpUnknown, lpArg1, lpArg2, lpArg3, lpArg4);
1965 if (lpUnknown && lpArg4)
1968 (
REFGUID)function_id, (
void**)&lpUnkInner);
1977 hRet = IParseDisplayName_ParseDisplayName((LPPARSEDISPLAYNAME)lpUnkInner,
1978 lpArg1, lpArg2, lpArg3, lpArg4);
1979 IUnknown_Release(lpUnkInner);
2001 TRACE(
"(%p,%u)\n", hMenu, uID);
2093 if (lpFolder && pidl)
2095 hRet = IShellFolder_GetUIObjectOf(lpFolder,
NULL, 1, &pidl, &IID_IQueryInfo,
2096 NULL, (
void**)&lpInfo);
2163 if (lpKeys && lpValues)
2169 if (lpKeys[
i] == iKey)
2192 TRACE(
"(%p,%p)\n", lppDest, lpUnknown);
2198 IUnknown_AddRef(lpUnknown);
2199 *lppDest = lpUnknown;
2209 OLECMD *prgCmds, OLECMDTEXT* pCmdText)
2211 FIXME(
"(%p,%p,%p,%d,%p,%p) - stub\n",
2212 lpUnknown,
lpReserved, riidCmdGrp, cCmds, prgCmds, pCmdText);
2226 FIXME(
"(%p,%d,%p,%d,%d,%p,%p) - stub!\n", lpUnknown, iUnk, pguidCmdGroup,
2227 nCmdID, nCmdexecopt, pvaIn, pvaOut);
2237 FIXME(
"(%p,%d,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
2260 else if(hParent ==
hChild)
2279#define FDSA_FLAG_INTERNAL_ALLOC 0x01
2297 info->num_items = 0;
2300 info->blocks_alloced = init_blocks;
2333 if(where >
info->num_items)
2334 where =
info->num_items;
2336 if(
info->num_items >=
info->blocks_alloced)
2339 if(
info->flags & 0x1)
2343 void *old_mem =
info->mem;
2351 if(where < info->num_items)
2354 (
char*)
info->mem + where *
info->block_size,
2355 (
info->num_items - where) *
info->block_size);
2372 if(where >=
info->num_items)
2375 if(where < info->num_items - 1)
2378 (
char*)
info->mem + (where + 1) *
info->block_size,
2379 (
info->num_items - where - 1) *
info->block_size);
2382 0,
info->block_size);
2409 while (xmove->
piid) {
2413 TRACE(
"matched, returning (%p)\n", a_vtbl);
2415 IUnknown_AddRef(a_vtbl);
2423 TRACE(
"returning first for IUnknown (%p)\n", a_vtbl);
2425 IUnknown_AddRef(a_vtbl);
2461 HFONT hOldFont, hNewFont;
2468 GetObjectW(hOldFont,
sizeof(lfOldFont), &lfOldFont);
2483 hNewFont = hOldFont;
2486 if (hOldFont != hNewFont)
2543 strcpy(
string,
"CLSID\\");
2545 strcat(
string,
"\\InProcServer32");
2587 TRACE(
"(%p,%p,%d)\n",
hInst, lppClasses, iCount);
2607 TRACE(
"(%p,%p,%d)\n",
hInst, lppClasses, iCount);
2645 LPOBJECTWITHSITE lpSite =
NULL;
2649 if (lpUnknown && iid && lppSite)
2655 hRet = IObjectWithSite_GetSite(lpSite, iid, lppSite);
2656 IObjectWithSite_Release(lpSite);
2682 static const char szClass[] =
"WorkerA";
2686 TRACE(
"(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
2722#define SHELL_NO_POLICY 0xffffffff
2725static const WCHAR strRegistryPolicyW[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
'M',
'i',
'c',
'r',
'o',
2726 's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
2727 'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
2728 '\\',
'P',
'o',
'l',
'i',
'c',
'i',
'e',
's',0};
2753 lpSubKey =
L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies";
2757 dwSize =
sizeof(dwValue);
2761 dwSize =
sizeof(dwValue);
2821 if (!polTable || !polArr)
2826 for (;polTable->
appstr; polTable++, polArr++)
2828 for (;polTable->
policy; polTable++, polArr++)
2871 if(
pUnk && pInner) {
2872 hret = IUnknown_QueryInterface(pInner,
riid,
ppv);
2875 TRACE(
"-- 0x%08x\n", hret);
2893 TRACE(
"(%p,%p)\n", lpDest, lppUnknown);
2898 IUnknown_AddRef(lpDest);
2953 static const char szIntegratedBrowser[] =
"IntegratedBrowser";
2954 static DWORD dwState = 0;
2969 dwState = pDllGetVersion ? 2 : 1;
2975 "Software\\Microsoft\\Internet Explorer", 0,
2982 if (!dwRet && dwState == 1)
2987 else if (dwRet && dwState == 2)
3007 static const WCHAR szClass[] = {
'W',
'o',
'r',
'k',
'e',
'r',
'W', 0 };
3011 TRACE(
"(%p, %p, 0x%08x, 0x%08x, %p, 0x%08lx)\n",
3062 TRACE(
"%p %p %p\n",
hWnd, lpFolder, lpApidl);
3088 while(iter-- >
args) {
3096 switch(
V_VT(iter)) {
3149 DISPPARAMS* dispParams)
3154 DISPPARAMS*
params = dispParams;
3156 HRESULT result = IConnectionPoint_EnumConnections(iCP, &enumerator);
3164 while(IEnumConnections_Next(enumerator, 1, &rgcd,
NULL)==
S_OK)
3167 if ((iid &&
SUCCEEDED(IUnknown_QueryInterface(rgcd.pUnk, iid, (
LPVOID*)&dispIface))) ||
3171 IDispatch_Release(dispIface);
3173 IUnknown_Release(rgcd.pUnk);
3176 IEnumConnections_Release(enumerator);
3185 DISPID dispId, DISPPARAMS* dispParams,
3191 FIXME(
"(%p)->(0x%x %p %x %x) partial stub\n", iCP, dispId, dispParams, unknown1, unknown2);
3193 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3211 DISPPARAMS* dispParams)
3216 TRACE(
"(%p)->(0x%x %p)\n",iCP,dispId,dispParams);
3218 result = IConnectionPoint_GetConnectionInterface(iCP, &iid);
3246 TRACE(
"(%p,0x%8X)\n", lpCP, dispID);
3250 hRet = IConnectionPoint_EnumConnections(lpCP, &lpEnum);
3255 CONNECTDATA connData;
3259 while (IEnumConnections_Next(lpEnum, 1, &connData, &ulFetched) ==
S_OK)
3264 IPropertyNotifySink_OnChanged(lpSink, dispID);
3265 IPropertyNotifySink_Release(lpSink);
3267 IUnknown_Release(connData.pUnk);
3270 IEnumConnections_Release(lpEnum);
3290 DISPPARAMS dispParams = {
buffer,
NULL, cParams, 0};
3300 result = IConnectionPointContainer_FindConnectionPoint(iCPC,
riid, &iCP);
3301 IConnectionPointContainer_Release(iCPC);
3310 IConnectionPoint_Release(iCP);
3334 TRACE(
"(%p,0x%8X)\n", lpUnknown, dispID);
3344 IConnectionPointContainer_Release(lpCPC);
3347 IConnectionPoint_Release(lpCP);
3538#define IsIface(type) SUCCEEDED((hRet = IUnknown_QueryInterface(lpUnknown, &IID_##type, (void**)&lpObj)))
3539#define IShellBrowser_EnableModeless IShellBrowser_EnableModelessSB
3540#define EnableModeless(type) type##_EnableModeless((type*)lpObj, bModeless)
3566 TRACE(
"(%p,%d)\n", lpUnknown, bModeless);
3584 IUnknown_Release(lpObj);
3638 TRACE(
"(%p, %p, %p, %u)\n",
hWnd, lpFolder, lpApidl, dwCommandId);
3644 hRet = IShellFolder_GetUIObjectOf(lpFolder,
hWnd, 1, &lpApidl,
3645 &IID_IContextMenu, 0, (
void**)&iContext);
3654 hQuery = IContextMenu_QueryContextMenu(iContext, hMenu, 0, 1, 0x7FFF,
3655 dwCommandId ? CMF_NORMAL : CMF_DEFAULTONLY);
3661 if (dwCommandId != (
UINT)-1)
3663 CMINVOKECOMMANDINFO cmIci;
3665 memset(&cmIci,0,
sizeof(cmIci));
3666 cmIci.cbSize =
sizeof(cmIci);
3667 cmIci.fMask = CMIC_MASK_ASYNCOK;
3676 hRet = IContextMenu_InvokeCommand(iContext, &cmIci);
3681 IContextMenu_Release(iContext);
3736 FIXME(
"(%s,%p,%d) semi-stub!\n",
debugstr_a(new_mod), inst_hwnd, dwCrossCodePage);
3738 if (!
len ||
len >=
sizeof(mod_path))
return NULL;
3760 FIXME(
"(%s,%p,%d) semi-stub!\n",
debugstr_w(new_mod), inst_hwnd, dwCrossCodePage);
3788 TRACE(
"(0x%8x,%d,%d)\n", cRGB, dwLuma, bUnknown);
3796 FIXME(
"Ignoring luma adjustment\n");
3833 return WNetGetLastErrorW(lpError, lpErrorBuf, nErrorBufSize, lpNameBuf, nNameBufSize);
3883 return IShellFolder_EnumObjects(lpFolder,
hwnd,
flags, ppenum);
3889 wHue = wHue > 240 ? wHue - 240 : wHue < 0 ? wHue + 240 : wHue;
3893 else if (wHue > 120)
3898 return ((wHue * (wMid2 - wMid1) + 20) / 40) + wMid1;
3902#define GET_RGB(h) (ConvertHue(h, wMid1, wMid2) * 255 + 120) / 240
3926 WORD wGreen, wBlue, wMid1, wMid2;
3928 if (wLuminosity > 120)
3929 wMid2 = wSaturation + wLuminosity - (wSaturation * wLuminosity + 120) / 240;
3931 wMid2 = ((wSaturation + 240) * wLuminosity + 120) / 240;
3933 wMid1 = wLuminosity * 2 - wMid2;
3939 return RGB(wRed, wGreen, wBlue);
3942 wRed = wLuminosity * 255 / 240;
3943 return RGB(wRed, wRed, wRed);
4050 FIXME(
"(0x%08x)stub\n",
x);
4119 ERR(
"GetVersionEx failed\n");
4123 osvi.wSuiteMask = 0;
4131 ERR(
"GetVersionEx failed\n");
4139#define ISOS_RETURN(x) \
4140 TRACE("(0x%x) ret=%d\n",feature,(x)); \
4171 FIXME(
"(OS_EMBEDDED) What should we return here?\n");
4174 FIXME(
"(OS_TERMINALCLIENT) What should we return here?\n");
4177 FIXME(
"(OS_TERMINALREMOTEADMIN) What should we return here?\n");
4200 FIXME(
"(OS_FASTUSERSWITCHING) What should we return here?\n");
4203 FIXME(
"(OS_WELCOMELOGONUI) What should we return here?\n");
4206 FIXME(
"(OS_DOMAINMEMBER) What should we return here?\n");
4225 FIXME(
"(OS_TABLETPC) What should we return here?\n");
4228 FIXME(
"(OS_SERVERADMINUI) What should we return here?\n");
4231 FIXME(
"(OS_MEDIACENTER) What should we return here?\n");
4234 FIXME(
"(OS_APPLIANCE) What should we return here?\n");
4302 IInputObject* lpInput =
NULL;
4305 TRACE(
"(%p,%p)\n", lpUnknown, lpMsg);
4308 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4334 IInputObject* lpInput =
NULL;
4337 TRACE(
"(%p)\n", lpUnknown);
4340 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObject,
4373 int wR, wG, wB, wMax, wMin, wHue, wLuminosity, wSaturation;
4375 TRACE(
"(%08x,%p,%p,%p)\n", cRGB, pwHue, pwLuminance, pwSaturation);
4381 wMax =
max(wR,
max(wG, wB));
4382 wMin =
min(wR,
min(wG, wB));
4385 wLuminosity = ((wMax + wMin) * 240 + 255) / 510;
4397 int wDelta = wMax - wMin, wRNorm, wGNorm, wBNorm;
4400 if (wLuminosity <= 120)
4401 wSaturation = ((wMax + wMin)/2 + wDelta * 240) / (wMax + wMin);
4403 wSaturation = ((510 - wMax - wMin)/2 + wDelta * 240) / (510 - wMax - wMin);
4406 wRNorm = (wDelta/2 + wMax * 40 - wR * 40) / wDelta;
4407 wGNorm = (wDelta/2 + wMax * 40 - wG * 40) / wDelta;
4408 wBNorm = (wDelta/2 + wMax * 40 - wB * 40) / wDelta;
4411 wHue = wBNorm - wGNorm;
4412 else if (wG == wMax)
4413 wHue = 80 + wRNorm - wBNorm;
4415 wHue = 160 + wGNorm - wRNorm;
4418 else if (wHue > 240)
4424 *pwLuminance = wLuminosity;
4426 *pwSaturation = wSaturation;
4463 FIXME(
" - returning bogus address for SHGetInverseCMAP\n");
4487 static int is_low = -1;
4488 TRACE(
"(0x%08x)\n", dwType);
4489 if (dwType == 0 && is_low == -1)
4492 is_low = (
status.dwTotalPhys <= 0x1000000);
4496 FIXME(
"(0x%08x) stub\n", dwType);
4519 TRACE(
"%p %u\n", hMenu, wID);
4521 while (nIter < nCount)
4527 TRACE(
"ret %d\n", nIter);
4543 TRACE(
"%p %u\n", hMenu, uID);
4567 FIXME(
"(0x%08x) stub\n", dwUnknown);
4597 static WCHAR szSkipBinding[] = {
'S',
'k',
'i',
'p',
' ',
4598 'B',
'i',
'n',
'd',
'i',
'n',
'g',
' ',
'C',
'L',
'S',
'I',
'D',
'\0' };
4605 if (
SUCCEEDED(IBindCtx_GetObjectParam(pbc, szSkipBinding, &lpUnk)))
4613 IUnknown_Release(lpUnk);
4642 static const WCHAR explorerW[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
4643 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
4644 'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\\',
4645 'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\'};
4646 static const WCHAR shellW[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
4647 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
4648 'S',
'h',
'e',
'l',
'l',
'\\'};
4649 static const WCHAR shell_no_roamW[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
4650 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
4651 'S',
'h',
'e',
'l',
'l',
'N',
'o',
'R',
'o',
'a',
'm',
'\\'};
4652 static const WCHAR classesW[] = {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
4653 'C',
'l',
'a',
's',
's',
'e',
's',
'\\'};
4655 static const WCHAR localized_resource_nameW[] = {
'L',
'o',
'c',
'a',
'l',
'i',
'z',
'e',
'd',
4656 'R',
'e',
's',
'o',
'u',
'r',
'c',
'e',
'N',
'a',
'm',
'e',
'\\'};
4657 static const WCHAR handlersW[] = {
'H',
'a',
'n',
'd',
'l',
'e',
'r',
's',
'\\'};
4658 static const WCHAR associationsW[] = {
'A',
's',
's',
'o',
'c',
'i',
'a',
't',
'i',
'o',
'n',
's',
'\\'};
4659 static const WCHAR volatileW[] = {
'V',
'o',
'l',
'a',
't',
'i',
'l',
'e',
'\\'};
4660 static const WCHAR mui_cacheW[] = {
'M',
'U',
'I',
'C',
'a',
'c',
'h',
'e',
'\\'};
4661 static const WCHAR file_extsW[] = {
'F',
'i',
'l',
'e',
'E',
'x',
't',
's',
'\\'};
4665 int size_key, size_subkey, size_user;
4671 if(
flags == 0x1ffff)
4674 switch(
flags&0xff0) {
4677 size_key =
sizeof(explorerW);
4681 size_key =
sizeof(shellW);
4684 key = shell_no_roamW;
4685 size_key =
sizeof(shell_no_roamW);
4689 size_key =
sizeof(classesW);
4692 FIXME(
"unsupported flags (0x%08x)\n",
flags);
4696 switch(
flags&0xff000) {
4702 subkey = localized_resource_nameW;
4703 size_subkey =
sizeof(localized_resource_nameW);
4707 size_subkey =
sizeof(handlersW);
4710 subkey = associationsW;
4711 size_subkey =
sizeof(associationsW);
4715 size_subkey =
sizeof(volatileW);
4718 subkey = mui_cacheW;
4719 size_subkey =
sizeof(mui_cacheW);
4722 subkey = file_extsW;
4723 size_subkey =
sizeof(file_extsW);
4726 FIXME(
"unsupported flags (0x%08x)\n",
flags);
4737 ERR(
"Out of memory\n");
4745 memcpy(
path+(size_key+size_subkey)/
sizeof(
WCHAR), sub_key, size_user);
4746 path[(size_key+size_subkey+size_user)/
sizeof(
WCHAR)] =
'\0';
4766 TRACE(
"(%p, %p, %d, %lx, %p, %s, %08x)\n", pfnCallback, pContext,
4769 if(lPriority || dwTag || pdwId || pszModule ||
dwFlags)
4770 FIXME(
"Unsupported arguments\n");
4795 dwDueTime, dwPeriod,
dwFlags))
4806 IInputObjectSite *pIOS =
NULL;
4809 TRACE(
"(%p, %p, %s)\n", lpUnknown, pFocusObject, bFocus ?
"TRUE" :
"FALSE");
4813 hRet = IUnknown_QueryInterface(lpUnknown, &IID_IInputObjectSite,
4994 pszTitle = lpCaption;
5008 WARN(
"Failed to load id %d\n",
LOWORD(lpText));
5089 TRACE(
"%p %d\n", apUserPerm, cUserPerm);
5091 if (apUserPerm ==
NULL || cUserPerm <= 0)
5098 acl_size =
sizeof(
ACL);
5100 for(sid_count = 0; sid_count < cUserPerm; sid_count++)
5125 }
else if (
sid->dwUserID==0)
5127 0, 0, 0, 0, 0, 0, &
pSid);
5130 0, 0, 0, 0, 0, 0, &
pSid);
5134 sidlist[sid_count] =
pSid;
5151 for(
i = 0;
i < sid_count;
i++)
5186 for(
i = 0;
i < sid_count;
i++)
5188 if (!cur_user || sidlist[
i] != cur_user)
5272#define SHFORMATDT_UNSUPPORTED_FLAGS (FDTF_RELATIVE | FDTF_LTRDATE | FDTF_RTLDATE | FDTF_NOAUTOREADINGORDER)
5292 static const WCHAR sep1[] = {
',',
' ',0};
5293 static const WCHAR sep2[] = {
' ',0};
5325#undef SHFORMATDT_UNSUPPORTED_FLAGS
5372 FIXME(
"(%s,%p,%x,%x,%x,%x,%x,%x) STUB\n",
debugstr_w(szURL),
pUnknown, dwUnknown2,
5373 dwUnknown3, dwUnknown4, dwUnknown5, dwUnknown6, dwUnknown7);
5393 FIXME(
"(%s, %p, %p, %i) STUB\n",verb,
pUnknown, pUnknown2, dwUnknown3);
5483VariantArrayToBuffer(
5489 LONG LowerBound, UpperBound;
5501 ((
LONG)cbSize <= UpperBound - LowerBound + 1) &&
5525 hr = IPropertyBag_Read(ppb, pszPropName, pvarg,
NULL);
5533 return VariantChangeTypeForRead(pvarg,
vt);
5548 if (!ppb || !pszPropName || !pbValue)
5556 *pbValue = (
V_BOOL(&varg) == VARIANT_TRUE);
5577 return V_BOOL(&varg) == VARIANT_TRUE;
5592 if (!ppb || !pszPropName || !psValue)
5600 *psValue =
V_UI2(&varg);
5630 if (!ppb || !pszPropName || !
pValue)
5643 if (!pszPropName || !ppb || !
pValue)
5646 hr = IPropertyBag_Read(ppb, pszPropName, &
var,
NULL);
5671 if (!ppb || !pszPropName || !pdwValue)
5679 *pdwValue =
V_UI4(&varg);
5696 if (!ppb || !pszPropName || !pbstr)
5723 if (!ppb || !pszPropName || !pszDst)
5751 if (!ppb || !pszPropName || !
pptl)
5790 if (!ppb || !pszPropName || !ppts)
5818 if (!ppb || !pszPropName || !
prcl)
5868 if (!ppb || !pszPropName || !pguid)
5882 bRet = VariantArrayToBuffer(&vari, pguid,
sizeof(*pguid));
5886#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
5911 if (!ppb || !pszPropName || !ppStream)
5921 hr = IUnknown_QueryInterface(
V_UNKNOWN(&vari), &IID_IStream, (
void **)ppStream);
5938 if (!ppb || !pszPropName)
5945 return IPropertyBag_Write(ppb, pszPropName, &vari);
5959 if (!ppb || !pszPropName)
5966 V_BOOL(&vari) = (bValue ? VARIANT_TRUE : VARIANT_FALSE);
5967 return IPropertyBag_Write(ppb, pszPropName, &vari);
5981 if (!ppb || !pszPropName)
5988 V_UI2(&vari) = sValue;
5989 return IPropertyBag_Write(ppb, pszPropName, &vari);
6005 if (!ppb || !pszPropName)
6012 V_I4(&vari) = lValue;
6013 return IPropertyBag_Write(ppb, pszPropName, &vari);
6027 if (!ppb || !pszPropName)
6034 V_UI4(&vari) = dwValue;
6035 return IPropertyBag_Write(ppb, pszPropName, &vari);
6052 if (!ppb || !pszPropName)
6063 hr = IPropertyBag_Write(ppb, pszPropName, &vari);
6080 if (!ppb || !pszPropName || !pguid)
6101 if (!ppb || !pszPropName || !pStream)
6109 return IPropertyBag_Write(ppb, pszPropName, &vari);
6125 if (!ppb || !pszPropName || !
pptl)
6170 if (!ppb || !pszPropName || !ppts)
6194 if (!ppb || !pszPropName || !
prcl)
6252#define OBJCOMPAT_OTNEEDSSFCACHE 0x00000001
6253#define OBJCOMPAT_NO_WEBVIEW 0x00000002
6254#define OBJCOMPAT_UNBINDABLE 0x00000004
6255#define OBJCOMPAT_PINDLL 0x00000008
6256#define OBJCOMPAT_NEEDSFILESYSANCESTOR 0x00000010
6257#define OBJCOMPAT_NOTAFILESYSTEM 0x00000020
6258#define OBJCOMPAT_CTXMENU_NOVERBS 0x00000040
6259#define OBJCOMPAT_CTXMENU_LIMITEDQI 0x00000080
6260#define OBJCOMPAT_COCREATESHELLFOLDERONLY 0x00000100
6261#define OBJCOMPAT_NEEDSSTORAGEANCESTOR 0x00000200
6262#define OBJCOMPAT_NOLEGACYWEBVIEW 0x00000400
6263#define OBJCOMPAT_CTXMENU_XPQCMFLAGS 0x00001000
6264#define OBJCOMPAT_NOIPROPERTYSTORE 0x00002000
6274 { {
'C',
'O',
'C',
'R',
'E',
'A',
'T',
'E',
'S',
'H',
'E',
'L',
'L',
'F',
'O',
'L',
'D',
'E',
'R',
'O',
'N',
'L',
'Y',0},
6276 { {
'C',
'T',
'X',
'M',
'E',
'N',
'U',
'_',
'L',
'I',
'M',
'I',
'T',
'E',
'D',
'Q',
'I',0},
6278 { {
'C',
'T',
'X',
'M',
'E',
'N',
'U',
'_',
'N',
'O',
'V',
'E',
'R',
'B',
'S',0},
6280 { {
'C',
'T',
'X',
'M',
'E',
'N',
'U',
'_',
'X',
'P',
'Q',
'C',
'M',
'F',
'L',
'A',
'G',
'S',0},
6282 { {
'N',
'E',
'E',
'D',
'S',
'F',
'I',
'L',
'E',
'S',
'Y',
'S',
'A',
'N',
'C',
'E',
'S',
'T',
'O',
'R',0},
6284 { {
'N',
'E',
'E',
'D',
'S',
'S',
'T',
'O',
'R',
'A',
'G',
'E',
'A',
'N',
'C',
'E',
'S',
'T',
'O',
'R',0},
6286 { {
'N',
'O',
'I',
'P',
'R',
'O',
'P',
'E',
'R',
'T',
'Y',
'S',
'T',
'O',
'R',
'E',0},
6288 { {
'N',
'O',
'L',
'E',
'G',
'A',
'C',
'Y',
'W',
'E',
'B',
'V',
'I',
'E',
'W',0},
6290 { {
'N',
'O',
'T',
'A',
'F',
'I',
'L',
'E',
'S',
'Y',
'S',
'T',
'E',
'M',0},
6292 { {
'N',
'O',
'_',
'W',
'E',
'B',
'V',
'I',
'E',
'W',0},
6294 { {
'O',
'T',
'N',
'E',
'E',
'D',
'S',
'S',
'F',
'C',
'A',
'C',
'H',
'E',0},
6296 { {
'P',
'I',
'N',
'D',
'L',
'L',0},
6298 { {
'U',
'N',
'B',
'I',
'N',
'D',
'A',
'B',
'L',
'E',0},
6317 static const WCHAR compatpathW[] =
6318 {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
6319 'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\\',
6320 'S',
'h',
'e',
'l',
'l',
'C',
'o',
'm',
'p',
'a',
't',
'i',
'b',
'i',
'l',
'i',
't',
'y',
'\\',
6321 'O',
'b',
'j',
'e',
'c',
't',
's',
'\\',
'%',
's',0};
6334 FIXME(
"iface not handled\n");
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
static DWORD const LPVOID const lpReserved
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
static const TCHAR helpfile[]
static void free_sids(PSID *sids, int count)
#define RegCloseKey(hKey)
EXTERN_C LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi)
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
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 RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
BOOL WINAPI AddAccessDeniedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid)
BOOL WINAPI InitializeAcl(PACL pAcl, DWORD nAclLength, DWORD dwAclRevision)
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
BOOL WINAPI AddAccessAllowedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
BOOL WINAPI AddAccessAllowedAceEx(PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid)
DWORD WINAPI GetLengthSid(PSID pSid)
PVOID WINAPI FreeSid(PSID pSid)
BOOL WINAPI AddAccessDeniedAce(PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid)
INT WINAPI StrCmpNIA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
INT WINAPI StrCmpNW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
INT WINAPI StrCmpNA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
BOOL WINAPI GetOpenFileNameW(OPENFILENAMEW *ofn)
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW ofn)
BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd)
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW setupdlg)
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
static const WCHAR empty[]
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define GetCurrentProcess()
#define HeapFree(x, y, z)
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR version[]
static const WCHAR valueW[]
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
BOOL WINAPI QueueUserWorkItem(IN LPTHREAD_START_ROUTINE Function, IN PVOID Context, IN ULONG Flags)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
DWORD WINAPI GetTickCount(VOID)
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
BOOL WINAPI CreateTimerQueueTimer(OUT PHANDLE phNewTimer, IN HANDLE TimerQueue, IN WAITORTIMERCALLBACK Callback, IN PVOID Parameter, IN DWORD DueTime, IN DWORD Period, IN ULONG Flags)
BOOL WINAPI GetVersionExA(IN LPOSVERSIONINFOA lpVersionInformation)
BOOL WINAPI WritePrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR string, LPCWSTR filename)
INT WINAPI GetPrivateProfileStringW(LPCWSTR section, LPCWSTR entry, LPCWSTR def_val, LPWSTR buffer, UINT len, LPCWSTR filename)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpA(LPCSTR str1, LPCSTR str2)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
LCID WINAPI GetUserDefaultLCID(void)
HRESULT WINAPI LcidToRfc1766W(LCID lcid, LPWSTR pszRfc1766, INT nChar)
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY *psa, UINT nDim, LONG *plUbound)
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
UINT WINAPI SafeArrayGetDim(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayGetLBound(SAFEARRAY *psa, UINT nDim, LONG *plLbound)
UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszwFile, UINT lLength)
#define OBJCOMPAT_NOIPROPERTYSTORE
HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg)
HANDLE WINAPI SHRemoveDefaultDialogFont(HWND hWnd)
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 IsCharXDigitW(WCHAR wc)
HMODULE WINAPI MLLoadLibraryW(LPCWSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
static const WCHAR strRegistryPolicyW[]
#define OBJCOMPAT_CTXMENU_XPQCMFLAGS
BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD *pdwEffect)
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
BOOL WINAPI GUIDFromStringA(LPCSTR idstr, CLSID *id)
BOOL WINAPI SHIsLowMemoryMachine(DWORD dwType)
BOOL WINAPI SHSetIniStringW(LPCWSTR appName, LPCWSTR keyName, LPCWSTR str, LPCWSTR filename)
HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers)
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown *lpUnknown, LPMSG lpMsg)
#define OBJCOMPAT_NOLEGACYWEBVIEW
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT mask, UINT flags)
HRESULT WINAPI IUnknown_CPContainerOnChanged(IUnknown *lpUnknown, DISPID dispID)
HPALETTE WINAPI SHCreateShellPalette(HDC hdc)
DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len)
HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds)
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4)
DWORD WINAPI SHSendMessageBroadcastA(UINT uMsg, WPARAM wParam, LPARAM lParam)
HRESULT WINAPI GetAcceptLanguagesA(LPSTR langbuf, LPDWORD buflen)
HRESULT WINAPI SHLoadRegUIStringW(HKEY hkey, LPCWSTR value, LPWSTR buf, DWORD size)
DWORD WINAPI SHSendMessageBroadcastW(UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI GUIDFromStringW(LPCWSTR idstr, CLSID *id)
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
BOOL WINAPI IsOS(DWORD feature)
DWORD WINAPI FDSA_InsertItem(FDSA_info *info, DWORD where, const void *block)
DWORD WINAPI SHRegisterClassW(WNDCLASSW *lpWndClass)
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
BOOL WINAPI GetSaveFileNameWrapW(LPOPENFILENAMEW ofn)
HRESULT WINAPI SHSetDefaultDialogFont(HWND hWnd, INT id)
INT WINAPI GetMenuPosFromID(HMENU hMenu, UINT wID)
DWORD WINAPI MLClearMLHInstance(DWORD x)
#define EnableModeless(type)
DWORD WINAPI GetUIVersion(void)
HANDLE WINAPI SHMapHandle(HANDLE hShared, DWORD dwSrcProcId, DWORD dwDstProcId, DWORD dwAccess, DWORD dwOptions)
VOID WINAPI SHWeakReleaseInterface(IUnknown *lpDest, IUnknown **lppUnknown)
DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp)
BOOL WINAPI SHFlushSFCacheWrap(void)
HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, __ms_va_list valist)
DWORD WINAPI SHGetAppCompatFlags(DWORD dwUnknown)
struct tagPOLICYDATA * LPPOLICYDATA
HRESULT WINAPIV IUnknown_CPContainerInvokeParam(IUnknown *container, REFIID riid, DISPID dispId, VARIANTARG *buffer, DWORD cParams,...)
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
DWORD WINAPI SHGetFileInfoWrapW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
HRESULT WINAPI SHWeakQueryInterface(IUnknown *pUnk, IUnknown *pInner, IID *riid, LPVOID *ppv)
BOOL WINAPI GetStringType3ExW(LPWSTR src, INT count, LPWORD type)
#define OBJCOMPAT_OTNEEDSSFCACHE
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
#define OBJCOMPAT_NEEDSFILESYSANCESTOR
HRESULT WINAPI IConnectionPoint_InvokeWithCancel(IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams, DWORD unknown1, DWORD unknown2)
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown *lpUnknown)
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 IUnknown_EnableModeless(IUnknown *lpUnknown, BOOL bModeless)
WORD WINAPI VerQueryValueWrapW(LPVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, UINT *puLen)
HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL fConnect, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP)
BOOL WINAPI PageSetupDlgWrapW(LPPAGESETUPDLGW pagedlg)
DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout)
HRESULT WINAPI CLSIDFromStringWrap(LPCWSTR idstr, CLSID *id)
DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef)
BOOL WINAPI SHGetPathFromIDListWrapW(LPCITEMIDLIST pidl, LPWSTR pszPath)
LRESULT CALLBACK SHDefWindowProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
LPCSTR WINAPI PathSkipLeadingSlashesA(LPCSTR lpszSrc)
INT WINAPIV ShellMessageBoxWrapW(HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType,...)
HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus)
DWORD WINAPI SHGetObjectCompatFlags(IUnknown *pUnk, const CLSID *clsid)
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
#define OBJCOMPAT_CTXMENU_LIMITEDQI
DWORD WINAPI SHGetMachineInfo(DWORD dwFlags)
BOOL WINAPI MLIsMLHInstance(HINSTANCE hInst)
INT WINAPI SHFileOperationWrapW(LPSHFILEOPSTRUCTW lpFileOp)
HRESULT WINAPI SHCreatePropertyBagOnRegKey(HKEY hKey, LPCWSTR subkey, DWORD grfMode, REFIID riid, void **ppv)
INT WINAPI SHFormatDateTimeW(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPWSTR buf, UINT size)
HRESULT WINAPI SHCoCreateInstanceAC(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl)
BOOL WINAPI PlaySoundWrapW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound)
struct tagPOLICYDATA POLICYDATA
HRESULT WINAPI SKAllocValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, LPVOID *data, DWORD *count)
BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild)
DWORD WINAPI WhichPlatform(void)
DWORD SHLWAPI_ThreadRef_index
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
HRESULT WINAPI IUnknown_Exec(IUnknown *lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
DWORD WINAPI SHGetCurColorRes(void)
BOOL WINAPI MLFreeLibrary(HMODULE hModule)
INT WINAPI SHStringFromGUIDW(REFGUID guid, LPWSTR lpszDest, INT cchMax)
BOOL WINAPI IsCharCntrlW(WCHAR wc)
PVOID WINAPI SHInterlockedCompareExchange(PVOID *dest, PVOID xchg, PVOID compare)
DWORD WINAPI SHWinHelpOnDemandW(HWND hwnd, LPCWSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
UINT WINAPI SHDefExtractIconWrapW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
BOOL WINAPI FDSA_Destroy(FDSA_info *info)
HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder *lpFolder, LPCITEMIDLIST lpApidl)
PVOID WINAPI SHLockShared(HANDLE hShared, DWORD dwProcId)
HRESULT WINAPI SHInvokeCommand(HWND, IShellFolder *, LPCITEMIDLIST, DWORD)
BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2)
INT WINAPI SHFormatDateTimeA(const FILETIME UNALIGNED *fileTime, DWORD *flags, LPSTR buf, UINT size)
DWORD WINAPI SHRestrictionLookup(DWORD policy, LPCWSTR initial, LPPOLICYDATA polTable, LPDWORD polArr)
BOOL WINAPI ShellExecuteExWrapW(LPSHELLEXECUTEINFOW lpExecInfo)
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle, DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra)
HRESULT WINAPI IUnknown_SetOwner(IUnknown *iface, IUnknown *pUnk)
HRESULT WINAPI SHGetInverseCMAP(LPDWORD dest, DWORD dwSize)
HRESULT WINAPI IUnknown_GetSite(LPUNKNOWN lpUnknown, REFIID iid, PVOID *lppSite)
#define OBJCOMPAT_NOTAFILESYSTEM
DWORD WINAPI SHGetRestriction(LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
HRESULT WINAPI SHIShellFolder_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags, IEnumIDList **ppenum)
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
BOOL WINAPI GetOpenFileNameWrapW(LPOPENFILENAMEW ofn)
VOID WINAPI FixSlashesAndColonW(LPWSTR lpwstr)
HRESULT WINAPI QISearch(void *base, const QITAB *table, REFIID riid, void **ppv)
#define SHFORMATDT_UNSUPPORTED_FLAGS
HANDLE WINAPI SHSetTimerQueueTimer(HANDLE hQueue, WAITORTIMERCALLBACK pfnCallback, LPVOID pContext, DWORD dwDueTime, DWORD dwPeriod, LPCSTR lpszLibrary, DWORD dwFlags)
#define OBJCOMPAT_UNBINDABLE
HICON WINAPI ExtractIconWrapW(HINSTANCE hInstance, LPCWSTR lpszExeFileName, UINT nIconIndex)
#define OBJCOMPAT_NEEDSSTORAGEANCESTOR
DWORD WINAPI SHLoadFromPropertyBag(IUnknown *lpUnknown, IPropertyBag *lpPropBag)
HRESULT(WINAPI * DllGetVersion_func)(DLLVERSIONINFO *)
DWORD WINAPI GetFileVersionInfoSizeWrapW(LPCWSTR filename, LPDWORD handle)
BOOL WINAPI FDSA_DeleteItem(FDSA_info *info, DWORD where)
BOOL WINAPI IsCharDigitW(WCHAR wc)
HRESULT WINAPI SKGetValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type, void *data, DWORD *count)
HRESULT WINAPIV SHPackDispParams(DISPPARAMS *params, VARIANTARG *args, UINT cnt,...)
BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
struct SHELL_USER_SID SHELL_USER_SID
static const struct objcompat_entry objcompat_table[]
struct _enumWndData enumWndData
struct SHELL_USER_PERMISSION SHELL_USER_PERMISSION
BOOL WINAPI SHFreeShared(HANDLE hShared, DWORD dwProcId)
static HRESULT SHLWAPI_InvokeByIID(IConnectionPoint *iCP, REFIID iid, DISPID dispId, DISPPARAMS *dispParams)
DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu)
HMODULE WINAPI SHPinDllOfCLSID(REFIID refiid)
BOOL WINAPI IsCharBlankW(WCHAR wc)
DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp)
HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
#define OBJCOMPAT_NO_WEBVIEW
HRESULT WINAPI IConnectionPoint_SimpleInvoke(IConnectionPoint *iCP, DISPID dispId, DISPPARAMS *dispParams)
UINT WINAPI ZoneComputePaneSize(HWND hwnd)
COLORREF WINAPI ColorAdjustLuma(COLORREF cRGB, int dwLuma, BOOL bUnknown)
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
DWORD WINAPI WNetGetLastErrorWrapW(LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize)
static WORD ConvertHue(int wHue, WORD wMid1, WORD wMid2)
HRESULT WINAPI MayQSForward(IUnknown *lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
HINSTANCE shlwapi_hInstance
#define FDSA_FLAG_INTERNAL_ALLOC
struct SHELL_USER_SID * PSHELL_USER_SID
DWORD WINAPI WNetRestoreConnectionWrapW(HWND hwndOwner, LPWSTR lpszDevice)
UINT WINAPI DragQueryFileWrapW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength)
struct SHELL_USER_PERMISSION * PSHELL_USER_PERMISSION
BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName)
static BOOL CALLBACK SHLWAPI_EnumChildProc(HWND hWnd, LPARAM lParam)
HRESULT WINAPI MayExecForward(IUnknown *lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
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)
#define OBJCOMPAT_COCREATESHELLFOLDERONLY
PSECURITY_DESCRIPTOR WINAPI GetShellSecurityDescriptor(const PSHELL_USER_PERMISSION *apUserPerm, int cUserPerm)
BOOL WINAPI SHAboutInfoW(LPWSTR, DWORD)
int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey)
DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len)
DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len)
HRESULT WINAPI IUnknown_QueryServiceForWebBrowserApp(IUnknown *lpUnknown, REFGUID riid, LPVOID *lppOut)
INT WINAPI ZoneCheckUrlExW(LPWSTR szURL, PVOID pUnknown, DWORD dwUnknown2, DWORD dwUnknown3, DWORD dwUnknown4, DWORD dwUnknown5, DWORD dwUnknown6, DWORD dwUnknown7)
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent)
DWORD WINAPI StrCmpICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
void WINAPI SHChangeNotifyWrap(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
void WINAPI SHUnregisterClassesA(HINSTANCE hInst, LPCSTR *lppClasses, INT iCount)
LPITEMIDLIST WINAPI SHBrowseForFolderWrapW(LPBROWSEINFOW lpBi)
BOOL WINAPI SHGetNewLinkInfoWrapW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
BOOL WINAPI GetFileVersionInfoWrapW(LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data)
INT WINAPI SHVerbExistsNA(LPSTR verb, PVOID pUnknown, PVOID pUnknown2, DWORD dwUnknown3)
HMODULE WINAPI MLLoadLibraryA(LPCSTR new_mod, HMODULE inst_hwnd, DWORD dwCrossCodePage)
DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
BOOL WINAPI PrintDlgWrapW(LPPRINTDLGW printdlg)
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len)
BOOL WINAPI FDSA_Initialize(DWORD block_size, DWORD inc, FDSA_info *info, void *mem, DWORD init_blocks)
BOOL WINAPI IsCharPunctW(WCHAR wc)
BOOL WINAPI SHUnlockShared(LPVOID lpView)
void WINAPI SHUnregisterClassesW(HINSTANCE hInst, LPCWSTR *lppClasses, INT iCount)
HRESULT WINAPI RegisterDefaultAcceptHeaders(LPBC lpBC, IUnknown *lpUnknown)
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
DWORD WINAPI MLSetMLHInstance(HINSTANCE hInst, HANDLE hHeap)
HRESULT WINAPI GetAcceptLanguagesW(LPWSTR langbuf, LPDWORD buflen)
INT WINAPI SHStringFromGUIDA(REFGUID guid, LPSTR lpszDest, INT cchMax)
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen)
BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback, LPVOID pContext, LONG lPriority, DWORD_PTR dwTag, DWORD_PTR *pdwId, LPCSTR pszModule, DWORD dwFlags)
HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint *lpCP, DISPID dispID)
HRESULT WINAPI SHPropertyBag_ReadLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LPLONG pValue)
HRESULT WINAPI SKDeleteValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value)
DWORD WINAPI SHWinHelpOnDemandA(HWND hwnd, LPCSTR helpfile, DWORD flags1, VOID *ptr1, DWORD flags2)
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHQueryValueExW(HKEY hKey, LPCWSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
BOOL WINAPI StrToIntExW(LPCWSTR lpszStr, DWORD dwFlags, int *lpiRet)
LPWSTR WINAPI StrCatBuffW(LPWSTR lpszStr, LPCWSTR lpszCat, INT cchMax)
LPWSTR WINAPI StrCpyNW(LPWSTR dst, LPCWSTR src, int count)
HRESULT WINAPI SHLoadIndirectString(LPCWSTR src, LPWSTR dst, UINT dst_len, void **reserved)
EXTERN_C HRESULT WINAPI SHInvokeCommandWithFlagsAndSite(_In_opt_ HWND hWnd, _In_opt_ IUnknown *pUnk, _In_ IShellFolder *pShellFolder, _In_ LPCITEMIDLIST pidl, _In_ UINT fCMIC, _In_opt_ LPCSTR pszVerb)
BOOL WINAPI GetFileVersionInfoW(LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data)
BOOL WINAPI VerQueryValueW(LPCVOID pBlock, LPCWSTR lpSubBlock, LPVOID *lplpBuffer, PUINT puLen)
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR filename, LPDWORD handle)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
static unsigned char buff[32768]
HANDLE NTAPI CreateFileMappingA(IN HANDLE hFile, IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes, IN DWORD flProtect, IN DWORD dwMaximumSizeHigh, IN DWORD dwMaximumSizeLow, IN LPCSTR lpName)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLenum GLuint GLsizei bufsize
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
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
VOID NTAPI GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA lpHwProfileInfo)
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
static LRESULT WINAPI wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
#define PROCESS_DUP_HANDLE
#define InterlockedCompareExchangePointer
static DWORD block_size(DWORD block)
const char * appName(const char *argv0)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
TCHAR szTitle[MAX_LOADSTRING]
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
#define sprintf(buf, format,...)
static PEXPLICIT_ACCESSW *static HMODULE hmod
const IID IID_IObjectWithSite
static DWORD DWORD void LPSTR DWORD cch
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HANDLE ULONG_PTR dwData
static WAITORTIMERCALLBACK
static IActiveScriptSite * site
static const struct access_res create[16]
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
@ SHKEY_Subkey_Associations
@ SHKEY_Subkey_ResourceName
static VARIANTARG static DISPID
INTERNETFEATURELIST feature
struct _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR
struct _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE
#define VER_PLATFORM_WIN32_NT
#define VER_PLATFORM_WIN32_WINDOWS
#define VER_PLATFORM_WIN32s
#define LOCALE_USER_DEFAULT
interface IBindCtx * LPBC
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IConnectionPointContainer
const GUID IID_IPropertyNotifySink
const GUID IID_IOleWindow
const GUID IID_IEnumFORMATETC
const GUID IID_IOleControlSite
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)
static const WCHAR szName[]
const GUID IID_IPersistPropertyBag
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
DWORD WINAPI GetVersion()
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
HICON WINAPI ExtractIconW(HINSTANCE hInstance, LPCWSTR lpszFile, UINT nIconIndex)
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
_In_ LPCSTR _Out_ BOOL * pfMustCopy
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
#define IInputObjectSite_Release(p)
#define IInputObject_TranslateAcceleratorIO(p, a)
#define IInputObject_HasFocusIO(p)
#define IQueryInfo_Release(p)
#define IInputObject_Release(p)
#define IQueryInfo_GetInfoFlags(p, a)
#define IInputObjectSite_OnFocusChangeIS(p, a, b)
#define IInputObject_UIActivateIO(p, a, b)
#define OS_WIN2000TERMINAL
#define OS_WIN95ORGREATER
#define OS_WIN2000ORGREATER_ALT
#define OS_SMALLBUSINESSSERVER
#define OS_WIN98ORGREATER
#define OS_WIN2000ADVSERVER
#define OS_WIN2000ORGREATER
#define OS_TERMINALSERVER
#define OS_TERMINALCLIENT
#define OS_WIN32SORGREATER
#define OS_WIN2000DATACENTER
#define OS_TERMINALREMOTEADMIN
#define OS_FASTUSERSWITCHING
#define OS_PERSONALTERMINALSERVER
#define OS_WELCOMELOGONUI
struct _DllVersionInfo DLLVERSIONINFO
HRESULT WINAPI SHPropertyBag_WriteRECTL(IPropertyBag *ppb, LPCWSTR pszPropName, const RECTL *prcl)
HRESULT WINAPI SHPropertyBag_ReadDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD *pdwValue)
HRESULT WINAPI SHPropertyBag_ReadSHORT(IPropertyBag *ppb, LPCWSTR pszPropName, SHORT *psValue)
HRESULT WINAPI SHPropertyBag_ReadGUID(IPropertyBag *ppb, LPCWSTR pszPropName, GUID *pguid)
BOOL WINAPI SHPropertyBag_ReadBOOLOld(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL bDefValue)
HRESULT WINAPI SHPropertyBag_ReadPOINTS(IPropertyBag *ppb, LPCWSTR pszPropName, POINTS *ppts)
HRESULT WINAPI SHPropertyBag_WriteBOOL(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL bValue)
HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag *ppb, LPCWSTR pszPropName, POINTL *pptl)
HRESULT WINAPI SHPropertyBag_WriteGUID(IPropertyBag *ppb, LPCWSTR pszPropName, const GUID *pguid)
HRESULT WINAPI SHPropertyBag_WriteSHORT(IPropertyBag *ppb, LPCWSTR pszPropName, SHORT sValue)
HRESULT WINAPI SHPropertyBag_ReadStr(IPropertyBag *ppb, LPCWSTR pszPropName, LPWSTR pszDst, int cchMax)
HRESULT WINAPI SHPropertyBag_ReadBSTR(IPropertyBag *ppb, LPCWSTR pszPropName, BSTR *pbstr)
HRESULT WINAPI SHPropertyBag_ReadRECTL(IPropertyBag *ppb, LPCWSTR pszPropName, RECTL *prcl)
HRESULT WINAPI SHPropertyBag_Delete(IPropertyBag *ppb, LPCWSTR pszPropName)
PVOID WINAPI SHLockSharedEx(HANDLE hData, DWORD dwProcessId, BOOL bWriteAccess)
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream **ppStream)
HRESULT WINAPI SHPropertyBag_ReadBOOL(IPropertyBag *ppb, LPCWSTR pszPropName, BOOL *pbValue)
HRESULT WINAPI SHLoadRegUIStringA(HKEY hkey, LPCSTR value, LPSTR buf, DWORD size)
HRESULT WINAPI SHPropertyBag_WriteStr(IPropertyBag *ppb, LPCWSTR pszPropName, LPCWSTR pszValue)
HRESULT WINAPI SHPropertyBag_WriteStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream *pStream)
HRESULT WINAPI SHPropertyBag_WritePOINTL(IPropertyBag *ppb, LPCWSTR pszPropName, const POINTL *pptl)
HRESULT WINAPI SHPropertyBag_WritePOINTS(IPropertyBag *ppb, LPCWSTR pszPropName, const POINTS *ppts)
HRESULT WINAPI SHPropertyBag_WriteLONG(IPropertyBag *ppb, LPCWSTR pszPropName, LONG lValue)
HRESULT WINAPI SHPropertyBag_ReadType(IPropertyBag *ppb, LPCWSTR pszPropName, VARIANTARG *pvarg, VARTYPE vt)
HRESULT WINAPI SHPropertyBag_WriteDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD dwValue)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
DWORD dwInheritAccessMask
SID_IDENTIFIER_AUTHORITY sidAuthority
ULONG dwOSVersionInfoSize
TW_UINT32 TW_UINT16 TW_UINT16 MSG
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
#define FORMAT_MESSAGE_FROM_STRING
#define FILE_MAP_ALL_ACCESS
DWORD WINAPI GetCurrentProcessId(void)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
#define DOCKINFO_UNDOCKED
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
_In_ ULONG _In_opt_ PVOID pvData
#define __ms_va_end(list)
#define __ms_va_start(list, arg)
#define E_NOT_SUFFICIENT_BUFFER
#define DISP_E_BADVARTYPE
#define DRAGDROP_E_NOTREGISTERED
#define HRESULT_FROM_WIN32(x)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI ExtTextOutA(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
HPALETTE WINAPI CreateHalftonePalette(_In_opt_ HDC)
#define WT_EXECUTEINIOTHREAD
#define WT_EXECUTELONGFUNCTION
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
#define HKEY_CLASSES_ROOT
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define SetWindowLongPtrA
HMENU WINAPI CreatePopupMenu(void)
UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags)
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
HANDLE WINAPI GetPropA(_In_ HWND, _In_ LPCSTR)
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
#define IS_INTRESOURCE(i)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SPI_GETICONTITLELOGFONT
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
BOOL WINAPI EnumChildWindows(_In_opt_ HWND, _In_ WNDENUMPROC, _In_ LPARAM)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
LRESULT WINAPI SendMessageTimeoutW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI IsWindowUnicode(_In_ HWND)
DWORD WINAPI MsgWaitForMultipleObjectsEx(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask, _In_ DWORD dwFlags)
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI IsChild(_In_ HWND, _In_ HWND)
LRESULT WINAPI SendMessageTimeoutA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI GetClassInfoA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSA)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
#define MAKEINTRESOURCEA(i)
HWND WINAPI GetParent(_In_ HWND)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
BOOL WINAPI DestroyMenu(_In_ HMENU)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
BOOL WINAPI GetClassInfoW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSW)
#define SetWindowLongPtrW
UINT WINAPI RegisterClipboardFormatA(_In_ LPCSTR)
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI PostMessageA(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HANDLE WINAPI RemovePropA(_In_ HWND, _In_ LPCSTR)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
DWORD WINAPI WNetRestoreConnectionW(HWND hwndOwner, LPCWSTR lpszDevice)
DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize)
#define DUPLICATE_SAME_ACCESS
#define DUPLICATE_CLOSE_SOURCE
#define VER_NT_WORKSTATION
struct _OSVERSIONINFOA OSVERSIONINFOA
struct _TOKEN_USER * PTOKEN_USER
#define ACCESS_ALLOWED_ACE_TYPE
#define ACCESS_DENIED_ACE_TYPE
#define SECURITY_DESCRIPTOR_REVISION
#define SECURITY_NULL_SID_AUTHORITY
static unsigned int block