25#define WIN32_NO_STATUS
36#include <commoncontrols.h>
38#include "../shellrecyclebin/recyclebin.h"
41#include <wine/unicode.h>
66#define MRUF_STRING_LIST 0
67#define MRUF_BINARY_LIST 1
68#define MRUF_DELAYED_SAVE 2
105 if (*(
src++)==
',') nField--;
135 if (*
src++ ==
',') nField--;
172 GetOpenFileNameProc pGetOpenFileNameW;
176 TRACE(
"%p, %s, %d, %s, %s, %s, %s)\n",
177 hwndOwner,
debugstr_w(lpstrFile), nMaxFile, lpstrInitialDir, lpstrDefExt,
178 lpstrFilter, lpstrTitle);
183 if(!pGetOpenFileNameW)
200 ret = pGetOpenFileNameW(&
ofn);
210 if (*pCounter ==
count)
219SHELL_GCOUNTER_DEFINE_GUID(SHGCGUID_ShellState, 0x7cb834f0, 0x527b, 0x11d2, 0x9d, 0x1f, 0x00, 0x00, 0xf8, 0x05, 0xca, 0x57);
221#define SHELL_GCOUNTER_SHELLSTATE SHELL_GCOUNTER_PARAMETERS(g_hShellState, GLOBALCOUNTER_SHELLSETTINGSCHANGED)
222static LONG g_ShellStateCounter = 0;
223static UINT g_CachedSSF = 0;
225enum { ssf_autocheckselect = 0x00800000, ssf_iconsonly = 0x01000000,
226 ssf_showtypeoverlay = 0x02000000, ssf_showstatusbar = 0x04000000 };
251 if (!hKeyAdv && bSet)
254#define SSF_STRUCTONLY (SSF_NOCONFIRMRECYCLE | SSF_DOUBLECLICKINWEBVIEW | SSF_DESKTOPHTML | \
255 SSF_WIN95CLASSIC | SSF_SORTCOLUMNS | SSF_STARTPANELON)
256#define SSF_ALL (0x07FFFFFF & ~0x40)
257#define SSF_IMPLEMENTED ((SSF_ALL) & ~(SSF_SERVERADMINUI))
258#define SHGSS_GetSetStruct(getsetmacro) \
260 getsetmacro(fNoConfirmRecycle, SSF_NOCONFIRMRECYCLE); \
261 getsetmacro(fDoubleClickInWebView, SSF_DOUBLECLICKINWEBVIEW); \
262 getsetmacro(fDesktopHTML, SSF_DESKTOPHTML); \
263 getsetmacro(fWin95Classic, SSF_WIN95CLASSIC); \
264 getsetmacro(lParamSort, SSF_SORTCOLUMNS); \
265 getsetmacro(iSortDirection, SSF_SORTCOLUMNS); \
266 getsetmacro(fStartPanelOn, SSF_STARTPANELON); \
268#define SHGSS_GetSetAdv(getsetmacro) \
270 getsetmacro(L"HideFileExt", fShowExtensions, SSF_SHOWEXTENSIONS); \
271 getsetmacro(L"ShowCompColor", fShowCompColor, SSF_SHOWCOMPCOLOR); \
272 getsetmacro(L"DontPrettyPath", fDontPrettyPath, SSF_DONTPRETTYPATH); \
273 getsetmacro(L"ShowAttribCol", fShowAttribCol, SSF_SHOWATTRIBCOL); \
274 getsetmacro(L"MapNetDrvBtn", fMapNetDrvBtn, SSF_MAPNETDRVBUTTON); \
275 getsetmacro(L"ShowInfoTip", fShowInfoTip, SSF_SHOWINFOTIP); \
276 getsetmacro(L"HideIcons", fHideIcons, SSF_HIDEICONS); \
277 getsetmacro(L"WebView", fWebView, SSF_WEBVIEW); \
278 getsetmacro(L"Filter", fFilter, SSF_FILTER); \
279 getsetmacro(L"ShowSuperHidden", fShowSuperHidden, SSF_SHOWSUPERHIDDEN); \
280 getsetmacro(L"NoNetCrawling", fNoNetCrawling, SSF_NONETCRAWLING); \
281 getsetmacro(L"SeparateProcess", fSepProcess, SSF_SEPPROCESS); \
282 getsetmacro(L"AutoCheckSelect", fAutoCheckSelect, ssf_autocheckselect); \
283 getsetmacro(L"IconsOnly", fIconsOnly, ssf_iconsonly); \
284 getsetmacro(L"ShowTypeOverlay", fShowTypeOverlay, ssf_showtypeoverlay); \
285 getsetmacro(L"ShowStatusBar", fShowStatusBar, ssf_showstatusbar); \
290 DWORD changed = 0, notcached = ~g_CachedSSF & SSF_IMPLEMENTED;
291 if (notcached & ~dwMask)
298#define SHGSS_WriteAdv(name, value, SSF) \
300 DWORD val = (value), cb = sizeof(DWORD); \
301 if (SHSetValueW(hKeyAdv, NULL, (name), REG_DWORD, &val, cb) == ERROR_SUCCESS) \
306#define SHGSS_SetAdv(name, field, SSF) \
308 if ((dwMask & (SSF)) && gpss->field != lpss->field) \
310 const DWORD bitval = (gpss->field = lpss->field); \
311 SHGSS_WriteAdv((name), ((SSF) & inverted) ? !bitval : !!bitval, (SSF)); \
314#define SHGSS_SetStruct(field, SSF) \
316 if ((dwMask & (SSF)) && gpss->field != lpss->field) \
318 gpss->field = lpss->field; \
329 SHGSS_GetSetAdv(SHGSS_SetAdv);
330 SHGSS_GetSetStruct(SHGSS_SetStruct);
348 if (SHELL_GlobalCounterChanged(&g_ShellStateCounter, SHELL_GCOUNTER_SHELLSTATE))
351#define SHGSS_ReadAdv(name, SSF) ( \
352 (g_CachedSSF & (SSF)) != (SSF) && (cb = sizeof(DWORD)) != 0 && \
353 SHQueryValueEx(hKeyAdv, (name), NULL, NULL, &data, &cb) == ERROR_SUCCESS && \
354 cb == sizeof(DWORD) && (read |= (SSF)) != 0 )
355#define SHGSS_GetFieldHelper(field, SSF, src, dst, cachevar) \
357 if (dwMask & (SSF)) \
359 (dst)->field = (src)->field; \
363#define SHGSS_CacheField(field, SSF) SHGSS_GetFieldHelper(field, (SSF), &rss.ss, gpss, read)
364#define SHGSS_GetField(field, SSF) SHGSS_GetFieldHelper(field, (SSF), gpss, lpss, dummy)
365#define SHGSS_GetAdv(name, field, SSF) \
367 if (SHGSS_ReadAdv((name), (SSF))) \
368 gpss->field = ((SSF) & inverted) ? data == FALSE : data != FALSE; \
369 SHGSS_GetFieldHelper(field, (SSF), gpss, lpss, read); \
379 SHGSS_GetSetAdv(SHGSS_GetAdv);
380 if (dwMask & ~(
read | g_CachedSSF))
385 SHGSS_GetSetStruct(SHGSS_CacheField);
391 g_CachedSSF = SSF_STRUCTONLY;
398 SHGSS_GetSetStruct(SHGSS_GetField);
406 FIXME(
"%p 0x%08x TRUE\n", lpss, dwMask);
431 if (dwMask & ssf_autocheckselect)
433 if (dwMask & ssf_iconsonly)
440 TRACE(
"(%p 0x%08x)\n",lpsfs,dwMask);
508 FIXME(
"%p %08x %08lx stub\n",hwndCabinet, uMessage,
lParam);
533 else if (dwType == 0)
538 ERR(
"Unsupported argument");
586 TRACE(
"(%p,%p,%p,%p,%08x)\n",
592 pszTitle = lpCaption;
662 pszTitle = lpCaption;
682 WARN(
"Failed to load id %d\n",
LOWORD(lpText));
691 pszText, 0, 0, (
LPSTR)&pszTemp, 0, &
args);
713 TRACE(
"(%p,%p,%p,%p,%08x)\n",
719 pszTitle = lpCaption;
727 pszText, 0, 0, (
LPSTR)&pszTemp, 0, &
args);
755 LPDROPTARGET pDropTarget)
762 if (!ole_initialized)
767 ole_initialized =
TRUE;
810 LPDROPSOURCE lpDropSource,
814 FIXME(
"(%p %p %p 0x%08x %p):stub.\n",
815 hWnd, lpDataObject, lpDropSource, dwOKEffect, pdwEffect);
816 return DoDragDrop(lpDataObject, lpDropSource, dwOKEffect, pdwEffect);
827 TRACE(
"(%p 0x%08x %p 0x%04x %p):stub.\n",
841 FIXME(
"(%p):stub.\n", pidl);
869 "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",
873 "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",
875 TRACE(
"No Explorer Policies location exists. Policy wanted=%s\n",
929 cb = (cchTargetTitle + 1 + cchTargetPath + 1 + cchLinkTitle + 2) *
sizeof(
WCHAR);
935 cb = (cchTargetTitle + 1) *
sizeof(
WCHAR);
936 if (ib +
cb > *pcbBuffer)
941 cb = (cchTargetPath + 1) *
sizeof(
WCHAR);
942 if (ib +
cb > *pcbBuffer)
947 cb = (cchLinkTitle + 1) *
sizeof(
WCHAR);
948 if (ib +
cb > *pcbBuffer)
991 wlen=
lstrlenA(new_lnk_name) + 1 + 12;
992 *((
short int*)
ptr) = wlen;
1036 LPWSTR pchDotExt, pchTargetTitle, pchLinkTitle;
1048 TRACE(
"policy value for NoRecentDocsHistory = %08x\n",
ret);
1053 szTargetPath[0] = 0;
1081 ERR(
"serious issues 1\n");
1084 TRACE(
"Users Recent dir %S\n", szLinkDir);
1092 ERR(
"Failed to RegCreateKeyExW: 0x%08X\n",
error);
1098 TRACE(
"pv is NULL, so delete all shortcut files in %S\n", szLinkDir);
1131 ERR(
"CoInitialize: %08X\n",
hr);
1144 ERR(
"IShellLink_ConstructFromPath: 0x%08X\n",
hr);
1149 IShellLinkW_Release(psl);
1157 ERR(
"Link loop?\n");
1183 ret = DoStoreMRUData(
Buffer, &
cbBuffer, pchTargetTitle, szTargetPath, pchLinkTitle);
1186 ERR(
"DoStoreMRUData failed: %d\n",
ret);
1191 mru.
cbSize =
sizeof(mru);
1194 mru.
hKey = hExplorerKey;
1200 ERR(
"CreateMRUListW failed\n");
1214 TRACE(
"Just touch file '%S'.\n", szLinkFile);
1224 ERR(
"AddMRUData failed: %d\n",
ret);
1231 &IID_IShellLinkW, (
LPVOID *)&psl);
1234 ERR(
"CoInitialize for IID_IShellLinkW: %08X\n",
hr);
1241 ERR(
"IShellLinkW_QueryInterface: %08X\n",
hr);
1246 hr = IShellLinkW_SetIDList(psl, pv);
1248 hr = IShellLinkW_SetPath(psl, pv);
1252 hr = IPersistFile_Save(pPf, szLinkFile,
TRUE);
1255 ERR(
"IPersistFile_Save: 0x%08X\n",
hr);
1258 hr = IPersistFile_SaveCompleted(pPf, szLinkFile);
1261 ERR(
"IPersistFile_SaveCompleted: 0x%08X\n",
hr);
1268 IPersistFile_Release(pPf);
1270 IShellLinkW_Release(psl);
1313 ERR(
"Error %d getting policy \"NoRecentDocsHistory\"\n",
ret);
1319 ERR(
"Error policy data for \"NoRecentDocsHistory\" not formatted correctly, type=%d, len=%d\n",
1324 TRACE(
"policy value for NoRecentDocsHistory = %08x\n",
data[0]);
1337 "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer",
1338 0, 0, 0,
KEY_READ, 0, &HCUbasekey, 0)) {
1339 ERR(
"Failed to create 'Software\\Microsoft\\Windows\\CurrentVersion\\Explorer'\n");
1349 IMalloc_Free(
ppM, pidl);
1354 ERR(
"serious issues 1\n");
1356 IMalloc_Release(
ppM);
1361 ERR(
"serious issues 2\n");
1363 TRACE(
"Users Recent dir %s\n", link_dir);
1378 FIXME(
"should delete all files in %s\\\n", link_dir);
1408 WARN(
"can't get path from PIDL\n");
1456 mymru.
hKey = HCUbasekey;
1462 ERR(
"MRU processing failed, handle zero\n");
1476 slen = *((
short int*)
ptr);
1489 ERR(
"Delete for %s failed, err=%d, attr=%08x\n",
1493 TRACE(
"old .lnk file %s did not exist\n",
1498 ERR(
"Delete for %s failed, attr=%08x\n",
1499 old_lnk_name,
attr);
1503 TRACE(
"deleted old .lnk file %s\n", old_lnk_name);
1511 wsprintfA(new_lnk_name,
"%s.lnk", doc_name);
1512 lstrcpyA(new_lnk_filepath, link_dir);
1518 wsprintfA(new_lnk_name,
"%s (%u).lnk", doc_name,
i);
1519 lstrcpyA(new_lnk_filepath, link_dir);
1523 TRACE(
"new shortcut will be %s\n", new_lnk_filepath);
1530 TRACE(
"Updated MRU list, new doc is position %d\n",
pos);
1552 CLSCTX_INPROC_SERVER,
1561 ERR(
"failed QueryInterface for IPersistFile %08x\n",
hres);
1567 hres = IShellLinkA_SetIDList(psl, pv);
1569 hres = IShellLinkA_SetPath(psl, pv);
1573 ERR(
"failed Set{IDList|Path} %08x\n",
hres);
1579 hres = IShellLinkA_SetDescription(psl,
desc);
1582 ERR(
"failed SetDescription %08x\n",
hres);
1589 hres = IPersistFile_Save(pPf, widelink,
TRUE);
1592 ERR(
"failed IPersistFile::Save %08x\n",
hres);
1593 IPersistFile_Release(pPf);
1594 IShellLinkA_Release(psl);
1597 hres = IPersistFile_SaveCompleted(pPf, widelink);
1598 IPersistFile_Release(pPf);
1599 IShellLinkA_Release(psl);
1600 TRACE(
"shortcut %s has been created, result=%08x\n",
1601 new_lnk_filepath,
hres);
1604 ERR(
"CoCreateInstance failed, hres=%08x\n",
hres);
1638 TRACE(
"sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n",
1643 hRes = IShellView_Constructor(psvcbi->
pshf, &psf);
1648 hRes = IShellView_QueryInterface(psf, &IID_IShellView, (
LPVOID *)
ppv);
1649 IShellView_Release(psf);
1722{
TRACE(
"%p\n", lpUnknown);
1732{
TRACE(
"%p\n", lpUnknown);
1947 TRACE(
"Initializing shell cabinet settings\n");
1949 cs->cLength =
sizeof(*cs);
1952 cs->fSaveLocalView =
TRUE;
1954 cs->fSimpleDefault =
TRUE;
1959 cs->fAdminsCreateCommonGroups =
TRUE;
1960 cs->fMenuEnumFilter = SHCONTF_FOLDERS | SHCONTF_NONFOLDERS;
2009{
FIXME(
"hwnd=%p 0x%04x stub\n",
u,
v );
2052 TRACE(
"0x%08x stub\n",
u);
2072 FIXME(
"%p %s 0x%08x stub\n",hwndOwner, lpCaption, uType);
2093 FIXME(
"%p 0x%08x 0x%08x stub\n", pidl,
dwFlags, dwTimeout);
2113 FIXME(
"(%p, %s, 0x%08x): stub\n", hwndOwner,
debugstr_w(pszFile), fConnect);
2129 if (pszString ==
NULL)
2135 if (
len &&
len < cchString)
2179 if (
len &&
len <= cchString)
2282 pszTarget = szLongPath;
2336 TRACE(
"(%p,%p,%08lx)\n", hpsxa, lpfnAddPage,
lParam);
2370 WCHAR szHandler[64];
2372 WCHAR szClsidHandler[39];
2379 HKEY hkBase, hkPropSheetHandlers;
2407 dwHandlerLen =
sizeof(szHandler) /
sizeof(szHandler[0]);
2422 dwClsidSize =
sizeof(szClsidHandler);
2426 szClsidHandler[(
sizeof(szClsidHandler) /
sizeof(szClsidHandler[0])) - 1] = 0;
2448 pspsx->lpVtbl->
Release(pspsx);
2452 pspsx->lpVtbl->
Release(pspsx);
2482 TRACE(
"(%p,%u,%p,%08lx)\n", hpsxa, uPageID, lpfnReplaceWith,
lParam);
2512 TRACE(
"(%p)\n", hpsxa);
2540 TRACE(
"(%p, %d, %p, %p)\n", pidlFolder, cpidlFiles, lppidlFiles, ppdataObject);
2544 for (
i=0;
i<cpidlFiles;
i++)
pdump (lppidlFiles[
i]);
2558 const FORMATETC *lpFormats,
2563 TRACE(
"cf=%d fe=%p pef=%p\n", cFormats, lpFormats, ppenumFormatetc);
2569 IEnumFORMATETC_AddRef(pef);
2571 IEnumFORMATETC_Release(pef);
2581 FIXME(
"params ignored: %p %p\n", pidlFolder, pidlSaveFile);
2617 INT iEffectiveImageIndex = (iImageIndex == -1) ? 1 : iImageIndex;
2621 item1.iIndex = iIndex;
2622 item1.iEffective = iEffectiveImageIndex;
2624 item1.iEffective2 = iEffectiveImageIndex;
2625 item1.terminator = 0;
2633 item2.iIndex = iIndex;
2634 item2.iEffectiveImageIndex = iEffectiveImageIndex;
2637 item2.terminator = 0;
2680 return pData->iEffectiveImageIndex;
2687 FIXME(
"%p - stub\n", pidlExtra);
2750 if (
uFlags & ~HANDLEDFLAGS)
2751 FIXME(
"ignoring flags: 0x%08x\n",
uFlags & ~HANDLEDFLAGS);
2756 UseDisplayName =
TRUE;
2760 if (!UseDisplayName)
2772 pszLinkTo = szTarget;
2778 UseDisplayName =
FALSE;
2793 UseDisplayName =
TRUE;
2801 pszDotForExt = pszExt =
L"";
2811 dst_basename = pszName +
strlenW(pszName);
2841 FIXME(
"%p, %s, %d - stub\n", pszPath,
debugstr_w(pszResModule), idsRes);
2899 FIXME(
"Unsupported image list %i requested\n", iImageList);
2917 hNew = (iImageList ==
SHIL_LARGE ? hLarge : hSmall);
2945 if (!pcsfv || pcsfv->
cbSize !=
sizeof(*pcsfv))
2948 TRACE(
"sf=%p outer=%p callback=%p\n",
2951 hRes = IShellView_Constructor(pcsfv->
pshf, &psf);
2955 hRes = IShellView_QueryInterface(psf, &IID_IShellView, (
LPVOID *)ppsv);
2956 IShellView_Release(psf);
2975 DWORD nSubAuthority0, nSubAuthority1;
2976 DWORD nSubAuthorityCount;
2982 nSubAuthority0 = ulRID;
2984 nSubAuthorityCount= 1;
2989 nSubAuthority1 = ulRID;
2990 nSubAuthorityCount= 2;
3065 for (pch1 = pch2 = pszSanitized; *pch1; ++pch1)
3067 if (pszInvalidChars)
3075 else if (pszValidChars)
3096 LPWSTR pszText, pszSanitized;
3184 if (
wParam == UNICODE_NOCHAR)
3236 ERR(
"HeapAlloc failed.\n");
3245 ERR(
"SetWindowLongPtrW failed\n");
3268 LPWSTR pwszValidChars, pwszInvalidChars;
3281 ERR(
"hr: %x\n",
hr);
3285 pwszValidChars = pwszInvalidChars =
NULL;
3289 ERR(
"hr: %x\n",
hr);
3290 pLimits->lpVtbl->
Release(pLimits);
3298 pLimits->lpVtbl->
Release(pLimits);
HRESULT IDataObject_Constructor(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidl, UINT cidl, BOOL bExtendedObject, IDataObject **dataObject)
HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMATETC **ppFormat)
#define shell32_hInstance
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
#define RegCloseKey(hKey)
EXTERN_C void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
INT(CALLBACK * MRUCMPPROCW)(LPCWSTR, LPCWSTR)
HANDLE WINAPI CreateMRUListW(const MRUINFOW *infoW)
#define OFN_FILEMUSTEXIST
#define ERROR_NOT_ENOUGH_MEMORY
void pdump(LPCITEMIDLIST pidl)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
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 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 RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
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 RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD Reserved, _In_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_ LPDWORD lpdwDisposition)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
BOOL WINAPI CheckTokenMembership(IN HANDLE ExistingTokenHandle, IN PSID SidToCheck, OUT PBOOL IsMember)
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)
PVOID WINAPI FreeSid(PSID pSid)
void WINAPI DECLSPEC_HOTPATCH CoFreeUnusedLibraries(void)
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
void WINAPI CoTaskMemFree(void *ptr)
HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void **ppv)
HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himlSrc)
VOID WINAPI ImageList_EndDrag(void)
BOOL WINAPI ImageList_DragEnter(HWND hwndLock, INT x, INT y)
BOOL WINAPI ImageList_DragMove(INT x, INT y)
BOOL WINAPI ImageList_DragLeave(HWND hwndLock)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
BOOL WINAPI ImageList_BeginDrag(HIMAGELIST himlTrack, INT iTrack, INT dxHotspot, INT dyHotspot)
BOOL WINAPI ImageList_DragShowNolock(BOOL bShow)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define ERROR_NO_MORE_ITEMS
#define HeapFree(x, y, z)
#define WINE_DECLARE_DEBUG_CHANNEL(x)
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR *const ext[]
DWORD WINAPI ExpandEnvironmentStringsA(IN LPCSTR lpSrc, IN LPSTR lpDst, IN DWORD nSize)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
UINT WINAPI SetErrorMode(IN UINT uMode)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
UINT WINAPI GetDriveTypeW(IN LPCWSTR lpRootPathName)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
DWORD WINAPI GetLongPathNameW(IN LPCWSTR lpszShortPath, OUT LPWSTR lpszLongPath, IN DWORD cchBuffer)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
#define IS_INTRESOURCE(x)
WCHAR *WINAPI PathFindFileNameW(const WCHAR *path)
void WINAPI PathStripPathA(char *path)
LPWSTR WINAPI PathFindExtensionW(const WCHAR *path)
BOOL WINAPI PathFileExistsW(const WCHAR *path)
WCHAR *WINAPI StrCatBuffW(WCHAR *str, const WCHAR *cat, INT max_len)
WCHAR *WINAPI StrCpyNXW(WCHAR *dst, const WCHAR *src, int len)
INT WINAPI DECLSPEC_HOTPATCH LoadStringA(HINSTANCE instance, UINT resource_id, LPSTR buffer, INT buflen)
WCHAR *WINAPI StrCpyNW(WCHAR *dst, const WCHAR *src, int count)
static void basename(LPCWSTR path, LPWSTR name)
HRESULT WINAPI OleFlushClipboard(void)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
HRESULT WINAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
HRESULT WINAPI DoDragDrop(IDataObject *pDataObject, IDropSource *pDropSource, DWORD dwOKEffect, DWORD *pdwEffect)
HRESULT WINAPI RevokeDragDrop(HWND hwnd)
HRESULT WINAPI SHStrDupW(const WCHAR *src, WCHAR **dest)
DWORD WINAPI SHGetValueW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, DWORD *type, void *data, DWORD *data_len)
DWORD WINAPI SHQueryValueExA(HKEY hkey, const char *name, DWORD *reserved, DWORD *type, void *buff, DWORD *buff_len)
DWORD WINAPI SHAnsiToUnicode(const char *src, WCHAR *dest, int dest_len)
DWORD WINAPI SHSetValueW(HKEY hkey, const WCHAR *subkey, const WCHAR *value, DWORD type, const void *data, DWORD data_len)
DWORD WINAPI SHDeleteKeyW(HKEY hkey, const WCHAR *subkey)
HRESULT WINAPI IShellLink_ConstructFromPath(WCHAR *path, REFIID riid, LPVOID *ppv)
EXTERN_C BOOL WINAPI SHELL32_RunControlPanel(_In_ PCWSTR commandLine, _In_opt_ HWND parent)
EXTERN_C HRESULT WINAPI SHStartNetConnectionDialogW(_In_ HWND hwnd, _In_ LPCWSTR pszRemoteName, _In_ DWORD dwType)
EXTERN_C INT WINAPI SHLookupIconIndexW(LPCWSTR lpName, INT iIndex, UINT uFlags)
EXTERN_C BOOL WINAPI PathIsEqualOrSubFolder(_In_ LPCWSTR pszPath1OrCSIDL, _In_ LPCWSTR pszPath2)
EXTERN_C HRESULT WINAPI SHStartNetConnectionDialogA(_In_ HWND hwnd, _In_ LPCSTR pszRemoteName, _In_ DWORD dwType)
HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal)
DWORD WINAPI SHCLSIDFromStringW(LPCWSTR clsid, CLSID *id)
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
DWORD WINAPI SHSendMessageBroadcastW(UINT uMsg, WPARAM wParam, LPARAM lParam)
HKEY WINAPI SHGetShellKey(DWORD flags, LPCWSTR sub_key, BOOL create)
BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
EXTERN_C BOOL SHELL32_ReadRegShellState(PREGSHELLSTATE prss)
EXTERN_C void SHELL32_GetDefaultShellState(LPSHELLSTATE pss)
EXTERN_C LSTATUS SHELL32_WriteRegShellState(PREGSHELLSTATE prss)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
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 * u
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
BOOL SIC_Initialize(void)
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
HRESULT GetValidCharacters([out, string] LPWSTR *ppwszValidChars, [out, string] LPWSTR *ppwszInvalidChars)
HRESULT ReplacePage([in] EXPPS uPageID, [in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith, [in] LPARAM lParam)
HRESULT AddPages([in] LPFNSVADDPROPSHEETPAGE pfnAddPage, [in] LPARAM lParam)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
nsresult QueryInterface(nsIIDRef riid, void **result)
static ERESOURCE GlobalLock
int const JOCTET unsigned int datalen
LPSTR WINAPI lstrcpyA(LPSTR lpString1, LPCSTR lpString2)
LPSTR WINAPI lstrcatA(LPSTR lpString1, LPCSTR lpString2)
int WINAPI lstrlenA(LPCSTR lpString)
TCHAR szTitle[MAX_LOADSTRING]
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
static char szTempPath[MAX_PATH]
D3D11_SHADER_VARIABLE_DESC desc
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
_In_ ACCESS_MASK _In_ ULONG _Out_ PHANDLE TokenHandle
#define SEM_FAILCRITICALERRORS
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define KEY_ENUMERATE_SUB_KEYS
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
#define FILE_ATTRIBUTE_TEMPORARY
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
static HANDLE ULONG_PTR dwData
interface IEnumFORMATETC * LPENUMFORMATETC
interface IDataObject * LPDATAOBJECT
const GUID IID_IEnumFORMATETC
const GUID IID_IPersistFile
#define PathAddBackslashW
void WINAPI ILFree(LPITEMIDLIST pidl)
BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST pidl, LPSTR pszPath)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path)
static const WCHAR szDescription[]
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
#define PathRemoveExtension
_In_opt_ LPCSTR pszSubKey
BOOL WINAPI DeregisterShellHookWindow(_In_ HWND)
#define GetWindowLongPtrW
HANDLE WINAPI RemovePropW(_In_ HWND, _In_ LPCWSTR)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI RegisterShellHookWindow(_In_ HWND)
int WINAPI MessageBoxA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType)
HANDLE WINAPI SetClipboardData(_In_ UINT, _In_opt_ HANDLE)
HWND WINAPI GetTopWindow(_In_opt_ HWND)
BOOL WINAPI CloseClipboard(void)
BOOL WINAPI WinHelpW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_ UINT, _In_ ULONG_PTR)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
BOOL WINAPI OpenClipboard(_In_opt_ HWND)
BOOL WINAPI MessageBeep(_In_ UINT uType)
HANDLE WINAPI GetClipboardData(_In_ UINT)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
int WINAPIV wsprintfA(_Out_ LPSTR, _In_ _Printf_format_string_ LPCSTR,...)
BOOL WINAPI IsWindowUnicode(_In_ HWND)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
#define MAKEINTRESOURCEW(i)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define SetWindowLongPtrW
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
SHORT WINAPI GetKeyState(_In_ int)
#define _WIN32_WINNT_VISTA
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
static __inline BOOL SHELL_OsIsUnicode(void)
#define SHGFI_ATTR_SPECIFIED
#define SHGFI_DISPLAYNAME
#define SEE_MASK_INVOKEIDLIST
_In_ LPCSTR _Out_ BOOL * pfMustCopy
BOOL WINAPI SignalFileOpen(PCIDLIST_ABSOLUTE pidl)
struct _PSXA_CALL * PPSXA_CALL
HRESULT WINAPI SHLoadOLE(LPARAM lParam)
static INT CALLBACK SHADD_compare_mru(LPCVOID data1, LPCVOID data2, DWORD cbData)
DWORD WINAPI DoEnvironmentSubstAW(LPVOID x, UINT y)
static BOOL DoSanitizeText(LPWSTR pszSanitized, LPCWSTR pszInvalidChars, LPCWSTR pszValidChars)
HRESULT WINAPI SHRegisterDragDrop(HWND hWnd, LPDROPTARGET pDropTarget)
WORD WINAPI ArrangeWindows(HWND hwndParent, DWORD dwReserved, const RECT *lpRect, WORD cKids, const HWND *lpKids)
DWORD WINAPI DoEnvironmentSubstW(LPWSTR pszString, UINT cchString)
HRESULT WINAPI SHAbortInvokeCommand(void)
BOOL WINAPI DAD_AutoScroll(HWND hwnd, AUTO_SCROLL_DATA *samples, const POINT *pt)
BOOL WINAPI DAD_DragEnterEx(_In_ HWND hwnd, _In_ POINT p)
void WINAPI SHUpdateImageW(LPCWSTR pszHashItem, int iIndex, UINT uFlags, int iImageIndex)
void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv)
HRESULT WINAPI SHStartNetConnectionDialog(HWND hwnd, LPCSTR pszRemoteName, DWORD dwType)
int WINAPI InvalidateDriveType(int u)
VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask)
BOOL WINAPI RegisterShellHook(HWND hWnd, DWORD dwType)
BOOL WINAPI SHObjectProperties(HWND hwnd, DWORD dwType, LPCWSTR szObject, LPCWSTR szPage)
void WINAPI SHFreeUnusedLibraries(void)
static BOOL CALLBACK PsxaCall(HPROPSHEETPAGE hpage, LPARAM lParam)
static HIMAGELIST DAD_himlTrack
#define MRUF_DELAYED_SAVE
static BOOL DAD_bDragging
INT WINAPI SHHandleUpdateImage(PCIDLIST_ABSOLUTE pidlExtra)
void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa)
HRESULT WINAPI SHCreateStdEnumFmtEtc(UINT cFormats, const FORMATETC *lpFormats, LPENUMFORMATETC *ppenumFormatetc)
EXTERN_C BOOL WINAPI SHTestTokenMembership(HANDLE TokenHandle, ULONG ulRID)
INT WINAPI FindMRUData(HANDLE hList, LPCVOID lpData, DWORD cbData, LPINT lpRegNum)
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
static void DoSanitizeClipboard(HWND hwnd, UxSubclassInfo *pInfo)
HANDLE WINAPI CreateMRUListA(LPCREATEMRULISTA lpcml)
BOOL WINAPI DAD_SetDragImage(_In_ HIMAGELIST himlTrack, _In_opt_ LPPOINT lppt)
BOOL WINAPI DAD_DragEnter(_In_ HWND hwnd)
DWORD WINAPI ParseFieldAW(LPCVOID src, DWORD nField, LPVOID dst, DWORD len)
void WINAPI SHFlushSFCache(void)
BOOL WINAPI LinkWindow_RegisterClass(void)
static POINT DAD_ptHotspot
BOOL WINAPI GUIDFromStringA(LPCSTR str, LPGUID guid)
BOOL WINAPI PathIsTemporaryW(LPWSTR Str)
struct tagCREATEMRULIST * LPCREATEMRULISTA
BOOL WINAPI GUIDFromStringW(LPCWSTR str, LPGUID guid)
BOOL WINAPI LinkWindow_UnregisterClass(DWORD dwUnused)
VOID WINAPI SHUpdateImageA(LPCSTR pszHashItem, INT iIndex, UINT uFlags, INT iImageIndex)
HRESULT WINAPI SHWinHelp(HWND hwnd, LPCWSTR pszHelp, UINT uCommand, ULONG_PTR dwData)
HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, LPDATAOBJECT pDataObj)
DWORD WINAPI ParseFieldW(LPCWSTR src, DWORD nField, LPWSTR dst, DWORD len)
static LRESULT CALLBACK LimitEditWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI ReadCabinetState(CABINETSTATE *cs, int length)
BOOL WINAPI FileIconInit(BOOL bFullInit)
int ShellMessageBoxA(HINSTANCE hInstance, HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType,...)
BOOL WINAPI DAD_ShowDragImage(_In_ BOOL bShow)
DWORD WINAPI RLBuildListOfPaths(void)
VOID WINAPI FreeMRUList(HANDLE hMRUList)
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags)
static INT SHADD_create_add_mru_data(HANDLE mruhandle, LPCSTR doc_name, LPCSTR new_lnk_name, LPSTR buffer, INT *len)
DWORD WINAPI DoEnvironmentSubstA(LPSTR pszString, UINT cchString)
VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
static INT SHADD_get_policy(LPCSTR policy, LPDWORD type, LPVOID buffer, LPDWORD len)
HRESULT WINAPI SetAppStartingCursor(HWND u, DWORD v)
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
BOOL WINAPI SHRunControlPanel(_In_ LPCWSTR commandLine, _In_opt_ HWND parent)
HRESULT WINAPI SHLimitInputEdit(HWND hWnd, IShellFolder *psf)
struct _PSXA_CALL PSXA_CALL
BOOL WINAPI SHValidateUNC(HWND hwndOwner, PWSTR pszFile, UINT fConnect)
BOOL WINAPI SHWaitForFileToOpen(LPCITEMIDLIST pidl, DWORD dwFlags, DWORD dwTimeout)
HRESULT WINAPI SHGetInstanceExplorer(IUnknown **lpUnknown)
static UxSubclassInfo * UxSubclassInfo_Create(HWND hwnd, LPWSTR valid, LPWSTR invalid)
INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer, DWORD nBufferSize)
UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam)
BOOL WINAPI SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags)
struct tagCREATEMRULIST CREATEMRULISTA
HRESULT WINAPI SHSetLocalizedName(LPCWSTR pszPath, LPCWSTR pszResModule, int idsRes)
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
VOID WINAPI SHSetInstanceExplorer(LPUNKNOWN lpUnknown)
BOOL WINAPI DAD_DragMove(_In_ POINT p)
HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV psvcbi, IShellView **ppv)
BOOL WINAPI SHFindFiles(PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile)
LRESULT WINAPI SHShellFolderView_Message(HWND hwndCabinet, UINT uMessage, LPARAM lParam)
static void UxSubclassInfo_Destroy(UxSubclassInfo *pInfo)
BOOL WINAPI GetFileNameFromBrowse(HWND hwndOwner, LPWSTR lpstrFile, UINT nMaxFile, LPCWSTR lpstrInitialDir, LPCWSTR lpstrDefExt, LPCWSTR lpstrFilter, LPCWSTR lpstrTitle)
HRESULT WINAPI CIDLData_CreateFromIDArray(PCIDLIST_ABSOLUTE pidlFolder, UINT cpidlFiles, PCUIDLIST_RELATIVE_ARRAY lppidlFiles, LPDATAOBJECT *ppdataObject)
UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam)
EXTERN_C HRESULT SHGetNameAndFlagsW(LPCITEMIDLIST pidl, DWORD Shgdn, LPWSTR pszText, UINT cchBuf, DWORD *pSfgao)
int WINAPI SHOutOfMemoryMessageBox(HWND hwndOwner, LPCSTR lpCaption, UINT uType)
static LPUNKNOWN SHELL32_IExplorerInterface
INT WINAPI AddMRUData(HANDLE hList, LPCVOID lpData, DWORD cbData)
BOOL WINAPI PathIsTemporaryA(LPSTR Str)
HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface)
BOOL WINAPI WriteCabinetState(CABINETSTATE *cs)
HRESULT WINAPI SHDoDragDrop(HWND hWnd, LPDATAOBJECT lpDataObject, LPDROPSOURCE lpDropSource, DWORD dwOKEffect, LPDWORD pdwEffect)
DWORD WINAPI ParseFieldA(LPCSTR src, DWORD nField, LPSTR dst, DWORD len)
HRESULT WINAPI SHFlushClipboard(void)
HINSTANCE WINAPI ShellExecuteW(HWND hwnd, LPCWSTR lpVerb, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
#define CSIDL_INTERNET_CACHE
#define SSF_DONTPRETTYPATH
#define CSIDL_CDBURN_AREA
struct SHELLFLAGSTATE * LPSHELLFLAGSTATE
#define SHCNE_UPDATEIMAGE
#define SSF_SHOWATTRIBCOL
BOOL WINAPI IsUserAnAdmin(void)
#define SSF_MAPNETDRVBUTTON
#define SSF_SHOWEXTENSIONS
#define SSF_SHOWSUPERHIDDEN
#define SSF_SHOWALLOBJECTS
@ REST_NORECENTDOCSHISTORY
BOOL WINAPI DAD_DragLeave(void)
#define SHELL_GlobalCounterIncrement(handle)
#define SHELL_GlobalCounterIsInitialized(handle)
#define SHELL_GCOUNTER_DEFINE_GUID(name, a, b, c, d, e, f, g, h, i, j, k)
#define SHELL_GCOUNTER_PARAMETERS(handle, id)
#define SHELL_GCOUNTER_DECLAREPARAMETERS(handle, id)
#define SHELL_GlobalCounterGet(handle)
#define SHELL_GCOUNTER_DEFINE_HANDLE(name)
#define SHELL_GlobalCounterCreate(refguid, handle)
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const PCUIDLIST_RELATIVE * PCUIDLIST_RELATIVE_ARRAY
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
LPFNVIEWCALLBACK pfnCallback
LPFNADDPROPSHEETPAGE lpfnAddReplaceWith
IShellPropSheetExt * pspsx[1]
IShellFolderViewCB * psfvcb
CHAR szDisplayName[MAX_PATH]
PCBYTE PBYTE SIZE_T cbData
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
#define FIELD_OFFSET(t, f)
HRESULT WINAPI SHLimitInputCombo(HWND hWnd, IShellFolder *psf)
HWND WINAPI SetTaskmanWindow(HWND)
#define INVALID_FILE_ATTRIBUTES
DWORD WINAPI GetLastError(void)
#define FORMAT_MESSAGE_FROM_STRING
DWORD WINAPI GetCurrentProcessId(void)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
#define __ms_va_end(list)
#define __ms_va_start(list, arg)
NTSYSAPI NTSTATUS WINAPI RtlGUIDFromString(PUNICODE_STRING, GUID *)
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
#define SECURITY_BUILTIN_DOMAIN_RID
#define SECURITY_SERVICE_RID
#define SECURITY_LOCAL_SYSTEM_RID
#define SECURITY_NT_AUTHORITY
#define DOMAIN_ALIAS_RID_ADMINS