6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 * COPYRIGHT: See COPYING in the top level directory
25 * PROJECT: ReactOS system libraries
26 * FILE: lib/shell32/misc/stubs.c
27 * PURPOSE: Stubbed exports
28 * PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
31 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
46 void* _alloca(size_t);
49 #define NO_SHLWAPI_STREAM
51 //#include <shellapi.h>
55 #define LPSHELLEXECUTEINFOA int*
56 #define LPSHELLEXECUTEINFOW int*
57 #define PNOTIFYICONDATAA int*
58 #define PNOTIFYICONDATAW int*
59 #define PAPPBARDATA int*
60 #define LPSHFILEOPSTRUCTA int*
61 #define LPSHFILEOPSTRUCTW int*
62 #define LPSHQUERYRBINFO int*
63 #define SHFILEINFOA int
64 #define SHFILEINFOW int
70 typedef struct _SHITEMID {
73 } SHITEMID, * LPSHITEMID;
74 typedef const SHITEMID * LPCSHITEMID;
76 typedef struct _ITEMIDLIST {
78 } ITEMIDLIST, * LPITEMIDLIST;
79 typedef const ITEMIDLIST * LPCITEMIDLIST;
81 int CALLBACK BrowseCallbackProc(
88 typedef int (*BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM);
90 typedef struct _browseinfo {
92 LPCITEMIDLIST pidlRoot;
93 LPTSTR pszDisplayName;
99 } BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO;
109 DbgPrint ("%s(%d):%s not implemented\n", __FILE__, __LINE__, __FUNCTION__); \
117 SHChangeNotifyRegister(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
123 SHChangeNotifyDeregister(DWORD Unknown1)
129 SHChangeNotifyUpdateEntryList(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
135 PifMgr_OpenProperties(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
141 PifMgr_GetProperties(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
147 PifMgr_SetProperties(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
153 PifMgr_CloseProperties(DWORD Unknown1, DWORD Unknown2)
159 ILGetDisplayName(DWORD Unknown1, DWORD Unknown2)
165 ILFindLastID(DWORD Unknown1)
171 ILRemoveLastID(DWORD Unknown1)
177 ILClone(DWORD Unknown1)
183 ILCloneFirst(DWORD Unknown1)
189 ILGlobalClone(DWORD Unknown1)
195 ILIsEqual(DWORD Unknown1, DWORD Unknown2)
201 ILIsParent(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
207 ILFindChild(DWORD Unknown1, DWORD Unknown2)
213 ILCombine(DWORD Unknown1, DWORD Unknown2)
219 ILLoadFromStream(DWORD Unknown1, DWORD Unknown2)
225 ILSaveToStream(DWORD Unknown1, DWORD Unknown2)
231 SHILCreateFromPath(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
237 PathIsRootA(LPCSTR path)
244 PathIsRootW(LPCWSTR path)
251 PathBuildRootA(LPSTR Unknown1, int Unknown2)
258 PathBuildRootW(LPWSTR Unknown1, int Unknown2)
265 PathAddExtensionA(LPSTR Unknown1, LPCSTR Unknown2)
272 PathAddExtensionW(LPWSTR Unknown1, LPCWSTR Unknown2)
280 PathFindExtensionA(LPCSTR Unknown1)
287 PathFindExtensionW(LPCWSTR Unknown1)
294 PathAddBackslashA(LPSTR Unknown1)
301 PathAddBackslashW(LPWSTR Unknown1)
308 PathRemoveBlanksA(LPSTR Unknown1)
314 PathRemoveBlanksW(LPWSTR Unknown1)
320 PathFindFileNameA(LPCSTR Unknown1)
327 PathFindFileNameW(LPCWSTR Unknown1)
334 PathRemoveFileSpecA(LPSTR Unknown1)
341 PathRemoveFileSpecW(LPWSTR Unknown1)
348 PathAppendA(LPSTR Unknown1, LPCSTR Unknown2)
355 PathAppendW(LPWSTR Unknown1, LPCWSTR Unknown2)
362 PathCombineA(LPSTR Unknown1, LPCSTR Unknown2, LPCSTR Unknown3)
369 PathCombineW(LPWSTR Unknown1, LPCWSTR Unknown2, LPCWSTR Unknown3)
376 PathStripPathA(LPSTR Unknown1)
382 PathStripPathW(LPWSTR Unknown1)
388 PathIsUNCA(LPCSTR Unknown1)
395 PathIsUNCW(LPCWSTR Unknown1)
402 PathIsRelativeA(LPCSTR Unknown1)
409 PathIsRelativeW(LPCWSTR Unknown1)
416 PathIsExeA(DWORD Unknown1)
422 PathIsExeW(DWORD Unknown1)
428 PathFileExistsA(LPCSTR Unknown1)
435 PathFileExistsW(LPCWSTR Unknown1)
442 PathMatchSpecA(LPCSTR Unknown1, LPCSTR Unknown2)
449 PathMatchSpecW(LPCWSTR Unknown1, LPCWSTR Unknown2)
456 PathMakeUniqueNameA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
462 PathMakeUniqueNameW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
468 PathSetDlgItemPathA(HWND Unknown1, int Unknown2, LPCSTR Unknown3)
474 PathSetDlgItemPathW(HWND Unknown1, int Unknown2, LPCWSTR Unknown3)
480 PathQualifyA(DWORD Unknown1)
486 PathQualifyW(DWORD Unknown1)
492 PathStripToRootA(LPSTR Unknown1)
499 PathStripToRootW(LPWSTR Unknown1)
506 PathResolveA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
512 PathResolveW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
518 PathGetArgsA(LPCSTR Unknown1)
525 PathGetArgsW(LPCWSTR Unknown1)
532 DoEnvironmentSubst(LPTSTR pszString, UINT cbSize)
539 //DragAcceptFiles (HWND Unknown1, WINBOOL Unknown2)
541 DragAcceptFiles(HWND hWnd, BOOL fAccept)
547 PathQuoteSpacesA(LPSTR Unknown1)
553 PathQuoteSpacesW(LPWSTR Unknown1)
559 PathUnquoteSpacesA(LPSTR Unknown1)
565 PathUnquoteSpacesW(LPWSTR Unknown1)
571 PathGetDriveNumberA(LPCSTR Unknown1)
578 PathGetDriveNumberW(LPCWSTR Unknown1)
585 ParseField(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
591 RestartDialog(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
597 ExitWindowsDialog(DWORD Unknown1)
603 RunFileDlg(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
609 PickIconDlg(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
615 GetFileNameFromBrowse(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6, DWORD Unknown7)
621 DriveType(DWORD Unknown1)
627 InvalidateDriveType(VOID)
633 IsNetDrive(DWORD Unknown1)
639 Shell_MergeMenus(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
645 SHGetSetSettings(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
651 SHGetNetResource(VOID)
657 SHCreateDefClassObject(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
663 Shell_GetImageList(DWORD Unknown1, DWORD Unknown2)
669 Shell_GetCachedImageIndex(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
675 SHShellFolderView_Message(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
681 SHCreateStdEnumFmtEtc(VOID)
687 PathYetAnotherMakeUniqueName(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
699 SHMapPIDLToSystemImageListIndex(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
705 OleStrToStrN(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
711 StrToOleStrN(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
717 CIDLData_CreateFromIDArray(VOID)
723 SHIsBadInterfacePtr(VOID)
729 SHRegisterDragDrop(DWORD Unknown1, DWORD Unknown2)
735 SHRevokeDragDrop(DWORD Unknown1)
741 SHDoDragDrop(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
747 SHCloneSpecialIDList(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
765 PathGetShortPath(DWORD Unknown1)
771 Win32CreateDirectory(VOID)
777 Win32RemoveDirectory(VOID)
783 SHLogILFromFSIL(DWORD Unknown1)
789 StrRetToStrN(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
795 SHWaitForFileToOpen(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
801 SHGetRealIDL(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
807 SetAppStartingCursor(DWORD Unknown1, DWORD Unknown2)
813 SHRestricted(DWORD Unknown1)
819 SHCoCreateInstance(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
825 SignalFileOpen(DWORD Unknown1)
831 FileMenu_DeleteAllItems(DWORD Unknown1)
837 FileMenu_DrawItem(DWORD Unknown1, DWORD Unknown2)
843 FileMenu_FindSubMenuByPidl(DWORD Unknown1, DWORD Unknown2)
849 FileMenu_GetLastSelectedItemPidls(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
855 FileMenu_HandleMenuChar(DWORD Unknown1, DWORD Unknown2)
861 FileMenu_InitMenuPopup(DWORD Unknown1)
867 FileMenu_InsertUsingPidl(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
873 FileMenu_Invalidate(DWORD Unknown1)
879 FileMenu_MeasureItem(DWORD Unknown1, DWORD Unknown2)
885 FileMenu_ReplaceUsingPidl(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
891 FileMenu_Create(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
897 FileMenu_AppendItem(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
903 FileMenu_TrackPopupMenuEx(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
909 FileMenu_DeleteItemByCmd(DWORD Unknown1, DWORD Unknown2)
915 FileMenu_Destroy(DWORD Unknown1)
921 IsLFNDrive(DWORD Unknown1)
927 FileMenu_AbortInitMenu(VOID)
933 SHFlushClipboard(VOID)
939 RunDLL_CallEntry16(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
945 SHFreeUnusedLibraries(VOID)
951 FileMenu_AppendFilesForPidl(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
957 FileMenu_AddFilesForPidl(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6, DWORD Unknown7)
963 SHOutOfMemoryMessageBox(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
969 SHWinHelp(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
976 DllGetClassObject(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
981 This is now implemented in the C++ module _stubs.cpp as:
983 STDAPI DllGetClassObject(const CLSID & rclsid, const IID & riid, void ** ppv);
1000 DAD_DragEnterEx(VOID)
1012 DragFinish(HDROP hDrop)
1018 DragQueryFile(HDROP Unknown1, unsigned int Unknown2, char * Unknown3, unsigned int Unknown4)
1025 DragQueryFileA(HDROP Unknown1, unsigned int Unknown2, char * Unknown3, unsigned int Unknown4)
1032 DragQueryFileW(HDROP Unknown1, unsigned int Unknown2, LPCWSTR Unknown3, unsigned int Unknown4)
1038 DragQueryFileA(HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch)
1045 DragQueryFileW(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch)
1059 DragQueryPoint(HDROP Unknown1, LPPOINT Unknown2)
1066 DAD_SetDragImage(DWORD Unknown1, DWORD Unknown2)
1072 DAD_ShowDragImage(DWORD Unknown1)
1078 Desktop_UpdateBriefcaseOnEvent(VOID)
1084 FileMenu_DeleteItemByIndex(DWORD Unknown1, DWORD Unknown2)
1090 FileMenu_DeleteItemByFirstID(DWORD Unknown1, DWORD Unknown2)
1096 FileMenu_DeleteSeparator(DWORD Unknown1)
1102 FileMenu_EnableItemByCmd(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1108 FileMenu_GetItemExtent(DWORD Unknown1, DWORD Unknown2)
1114 PathFindOnPathA(LPSTR Unknown1, LPCSTR* Unknown2)
1121 PathFindOnPathW(LPWSTR Unknown1, LPCWSTR* Unknown2)
1128 RLBuildListOfPaths(VOID)
1134 SHCLSIDFromString(DWORD Unknown1, DWORD Unknown2)
1140 SHFind_InitMenuPopup(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1146 SHLoadOLE(DWORD Unknown1)
1152 ILGetSize(DWORD Unknown1)
1158 ILGetNext(DWORD Unknown1)
1164 ILAppend(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1170 ILFree(DWORD Unknown1)
1176 ILGlobalFree(DWORD Unknown1)
1182 ILCreateFromPath(DWORD Unknown1)
1188 PathGetExtensionA(DWORD Unknown1)
1194 PathGetExtensionW(DWORD Unknown1)
1200 PathIsDirectoryA(LPCSTR Unknown1)
1207 PathIsDirectoryW(LPCWSTR Unknown1)
1214 SHNetConnectionDialog(VOID)
1220 SHRunControlPanel(DWORD Unknown1, DWORD Unknown2)
1226 SHSimpleIDListFromPath(DWORD Unknown1)
1232 StrToOleStr(DWORD Unknown1, DWORD Unknown2)
1238 Win32DeleteFile(DWORD Unknown1)
1244 SHCreateDirectory(DWORD Unknown1, DWORD Unknown2)
1250 CallCPLEntry16(HMODULE hMod, FARPROC pFunc, DWORD dw3, DWORD dw4, DWORD dw5, DWORD dw6)
1252 //CallCPLEntry16(VOID)
1259 SHAddFromPropSheetExtArray(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1265 SHCreatePropSheetExtArray(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1271 SHDestroyPropSheetExtArray(DWORD Unknown1)
1277 SHReplaceFromPropSheetExtArray(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1283 PathCleanupSpecA(DWORD Unknown1, DWORD Unknown2)
1295 SHValidateUNC(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1301 SHCreateShellFolderViewEx(DWORD Unknown1, DWORD Unknown2)
1307 SHGetSpecialFolderPath(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1313 SHSetInstanceExplorer(DWORD Unknown1)
1319 DAD_SetDragImageFromListView(VOID)
1325 SHObjectProperties(VOID)
1332 //SHGetNewLinkInfo(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
1335 SHGetNewLinkInfo(LPCTSTR pszLinkTo, LPCTSTR pszDir, LPTSTR pszName, BOOL* pfMustCopy, UINT uFlags)
1343 SHGetNewLinkInfoA(LPCTSTR pszLinkTo, LPCTSTR pszDir, LPTSTR pszName, BOOL* pfMustCopy, UINT uFlags)
1346 SHGetNewLinkInfoA(VOID)
1355 SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL* pfMustCopy, UINT uFlags)
1358 SHGetNewLinkInfoW(VOID)
1366 RegisterShellHook(DWORD Unknown1, DWORD Unknown2)
1372 ShellMessageBoxW(DWORD Unknown1, ...)
1378 ShellMessageBoxA(DWORD Unknown1, ...)
1384 ArrangeWindows(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
1390 SHHandleDiskFull(VOID)
1396 SHFree(DWORD Unknown1)
1402 SHAlloc(DWORD Unknown1)
1408 SHGlobalDefect(VOID)
1414 SHAbortInvokeCommand(VOID)
1438 SHLocalReAlloc(VOID)
1450 ShortSizeFormatW(VOID)
1456 Printer_LoadIconsW(VOID)
1462 Link_AddExtraDataSection(VOID)
1468 Link_ReadExtraDataSection(VOID)
1474 Link_RemoveExtraDataSection(VOID)
1486 LargeIntegerToString(VOID)
1492 Printers_GetPidl(VOID)
1498 Printer_AddPrinterPropPages(VOID)
1504 Printers_RegisterWindowW(VOID)
1510 Printers_UnregisterWindow(VOID)
1516 SHStartNetConnectionDialog(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1522 shell32_243(DWORD Unknown1, DWORD Unknown2)
1528 SHInitRestricted(DWORD Unknown1, DWORD Unknown2)
1534 SHGetDataFromIDListA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
1540 SHGetDataFromIDListW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
1546 PathParseIconLocationA(LPSTR Unknown1)
1553 PathParseIconLocationW(LPWSTR Unknown1)
1560 PathRemoveExtensionA(LPSTR Unknown1)
1566 PathRemoveExtensionW(LPWSTR Unknown1)
1572 PathRemoveArgsA(LPSTR Unknown1)
1578 PathRemoveArgsW(LPWSTR Unknown1)
1590 SheChangeDirExA(VOID)
1596 SheChangeDirExW(VOID)
1602 SheChangeDirW(DWORD Unknown1)
1608 SheConvertPathW(VOID)
1626 SheGetCurDrive(VOID)
1632 SheGetDirA(DWORD Unknown1, DWORD Unknown2)
1638 SheGetDirExW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1644 SheGetDirW(DWORD Unknown1, DWORD Unknown2)
1650 SheGetPathOffsetW(VOID)
1656 SheRemoveQuotesA(VOID)
1662 SheRemoveQuotesW(VOID)
1668 SheSetCurDrive(VOID)
1674 SheShortenPathA(VOID)
1680 SheShortenPathW(VOID)
1686 ShellAboutA (HWND Unknown1, LPCSTR Unknown2, LPCSTR Unknown3, HICON Unknown4)
1693 //ShellAboutW (HWND Unknown1, const LPCWSTR Unknown2, const LPCWSTR Unknown3, HICON Unknown4)
1694 ShellAboutW (HWND Unknown1, LPCWSTR Unknown2, LPCWSTR Unknown3, HICON Unknown4)
1701 ShellExecuteA (HWND Unknown1, const char * Unknown2, const char * Unknown3, char * Unknown4, const char * Unknown5, int Unknown6)
1708 //ShellExecuteEx(DWORD Unknown1)
1710 ShellExecuteEx(LPSHELLEXECUTEINFO lpExecInfo)
1717 //ShellExecuteExA(DWORD Unknown1)
1719 ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo)
1726 //ShellExecuteExW(DWORD Unknown1)
1728 ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo)
1735 ShellExecute (DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
1741 ShellExecuteW (HWND Unknown1, const LPCWSTR Unknown2, const LPCWSTR Unknown3, LPCWSTR Unknown4, const LPCWSTR Unknown5, int Unknown6)
1748 //Shell_NotifyIcon(DWORD Unknown1, DWORD Unknown2)
1749 BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATA pnid)
1756 //Shell_NotifyIconA(DWORD Unknown1, DWORD Unknown2)
1757 BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid)
1764 //Shell_NotifyIconW(DWORD Unknown1, DWORD Unknown2)
1765 //BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
1766 BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW pnid)
1773 Shl1632_ThunkData32(VOID)
1779 Shl3216_ThunkData32(VOID)
1785 StrCpyNA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1791 StrNCpyA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1809 SHRegCloseKey(DWORD Unknown1)
1815 SHRegOpenKeyA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1821 SHRegOpenKeyW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1827 SHRegQueryValueA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1833 SHRegQueryValueExA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
1839 SHRegQueryValueW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1845 SHRegQueryValueExW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
1851 SHRegDeleteKeyW(DWORD Unknown1, DWORD Unknown2)
1857 SHAllocShared(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
1863 SHLockShared(DWORD Unknown1, DWORD Unknown2)
1869 SHUnlockShared(DWORD Unknown1)
1875 SHFreeShared(DWORD Unknown1, DWORD Unknown2)
1881 RealDriveType(DWORD Unknown1, DWORD Unknown2)
1887 RealDriveTypeFlags(DWORD Unknown1, DWORD Unknown2)
1893 NTSHChangeNotifyRegister(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6)
1899 NTSHChangeNotifyDeregister(DWORD Unknown1)
1905 SHChangeNotifyReceive(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1911 SHChangeNotification_Lock(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1917 SHChangeNotification_Unlock(DWORD Unknown1)
1923 SHChangeRegistrationReceive(DWORD Unknown1, DWORD Unknown2)
1929 ReceiveAddToRecentDocs(DWORD Unknown1, DWORD Unknown2)
1935 SHWaitOp_Operate(DWORD Unknown1, DWORD Unknown2)
1941 PathIsSameRootA(LPCSTR Unknown1, LPCSTR Unknown2)
1948 PathIsSameRootW(LPCWSTR Unknown1, LPCWSTR Unknown2)
1955 ReadCabinetState(DWORD Unknown1, DWORD Unknown2)
1961 WriteCabinetState(DWORD Unknown1)
1967 PathProcessCommand(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
1973 shell32_654(DWORD Unknown1, DWORD Unknown2)
1979 FileIconInit(DWORD Unknown1)
1991 shell32_714(DWORD Unknown1)
2015 CommandLineToArgvW(DWORD Unknown1, DWORD Unknown2)
2016 //CommandLineToArgvW(LPCWSTR lpCmdLine, int* pNumArgs)
2018 // lpCmdLine - pointer to a command-line string
2019 // pNumArgs - receives the argument count
2025 Control_FillCache_RunDLL(HWND hWnd, HANDLE hModule, DWORD w, DWORD x)
2027 //Control_FillCache_RunDLL(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2034 //Control_FillCache_RunDLLA(VOID)
2036 Control_FillCache_RunDLLA(HWND hWnd, HANDLE hModule, DWORD w, DWORD x)
2043 //Control_FillCache_RunDLLW(VOID)
2045 Control_FillCache_RunDLLW(HWND hWnd, HANDLE hModule, DWORD w, DWORD x)
2051 VOID Control_RunDLL(HWND hWnd, HINSTANCE hInst_unused, LPCWSTR lpCmdLine, DWORD nCmdShow);
2054 Control_RunDLLA(HWND hWnd, HINSTANCE hInst_unused, LPCSTR lpCmdLine, DWORD nCmdShow)
2056 int reqSize = MultiByteToWideChar(CP_ACP, 0, lpCmdLine, -1, 0, 0) * sizeof(TCHAR);
2058 // LPWSTR pCmdLine = (LPWSTR)malloc(reqSize + 10);
2059 LPWSTR pCmdLine = (LPWSTR)_alloca(reqSize);
2060 if (MultiByteToWideChar(CP_ACP, 0, lpCmdLine, -1, pCmdLine, reqSize)) {
2061 Control_RunDLL(hWnd, hInst_unused, pCmdLine, nCmdShow);
2068 Control_RunDLLW(HWND hWnd, HINSTANCE hInst_unused, LPCWSTR lpCmdLine, DWORD nCmdShow)
2070 Control_RunDLL(hWnd, hInst_unused, lpCmdLine, nCmdShow);
2074 DllInstall(DWORD Unknown1, DWORD Unknown2)
2081 //DoEnvironmentSubstA(DWORD Unknown1, DWORD Unknown2)
2082 DWORD WINAPI DoEnvironmentSubstA(LPCTSTR pszString, UINT cbSize)
2088 //DoEnvironmentSubstW(DWORD Unknown1, DWORD Unknown2)
2089 DWORD WINAPI DoEnvironmentSubstW(LPCTSTR pszString, UINT cbSize)
2096 DragQueryFileAorW(VOID)
2102 DuplicateIcon (HINSTANCE Unknown1, HICON Unknown2)
2109 ExtractAssociatedIconA(HINSTANCE Unknown1, LPCSTR Unknown2, PWORD Unknown3)
2116 ExtractAssociatedIconExA(VOID)
2122 ExtractAssociatedIconExW(VOID)
2128 ExtractAssociatedIconW (HINSTANCE Unknown1, LPCWSTR Unknown2, WORD * Unknown3)
2135 ExtractIconA (HINSTANCE Unknown1, const char * Unknown2, unsigned int Unknown3)
2143 //ExtractIconEx(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2144 UINT WINAPI ExtractIconEx(LPCTSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2146 // lpszFile - file name
2147 // nIconIndex - icon index
2148 // phiconLarge - large icon array
2149 // phiconSmall - small icon array
2150 // nIcons - number of icons to extract
2157 //ExtractIconExA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2158 //HICON WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
2159 //HICON WINAPI ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2166 ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2173 //ExtractIconExW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2174 //HICON WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); // from ming header
2175 //UINT WINAPI ExtractIconExW(LPCTSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2176 //HICON WINAPI ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2183 ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIcons)
2192 ExtractIconW (HINSTANCE Unknown1, const LPCWSTR Unknown2, unsigned int Unknown3)
2199 ExtractIconResInfoA(VOID)
2205 ExtractIconResInfoW(VOID)
2211 ExtractVersionResource16W(VOID)
2217 FindExeDlgProc(VOID)
2224 FindExecutableA(const char * Unknown1, const char * Unknown2, char * Unknown3)
2232 // FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
2233 FindExecutableW(const LPCWSTR Unknown1, const LPCWSTR Unknown2, LPWSTR Unknown3)
2240 FreeIconList(DWORD Unknown1)
2246 InternalExtractIconListA(VOID)
2252 InternalExtractIconListW(VOID)
2264 OpenAs_RunDLLA(VOID)
2270 OpenAs_RunDLLW(VOID)
2276 PrintersGetCommand_RunDLL(VOID)
2282 PrintersGetCommand_RunDLLA(VOID)
2288 PrintersGetCommand_RunDLLW(VOID)
2294 RealShellExecuteA(VOID)
2300 RealShellExecuteExA(VOID)
2306 RealShellExecuteExW(VOID)
2312 RealShellExecuteW(VOID)
2318 RegenerateUserEnvironment(VOID)
2325 SHAddToRecentDocs (UINT Unknown1, LPCVOID Unknown2)
2331 //SHAppBarMessage(DWORD Unknown1, DWORD Unknown2)
2332 UINT WINAPI SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData)
2343 SHBrowseForFolder(LPBROWSEINFO Unknown1)
2350 SHBrowseForFolderA(DWORD Unknown1)
2356 SHBrowseForFolderW(DWORD Unknown1)
2363 SHChangeNotify (LONG Unknown1, UINT Unknown2, LPCVOID Unknown3, LPCVOID Unknown4)
2376 //SHEmptyRecycleBinA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
2377 HRESULT WINAPI SHEmptyRecycleBinA(HWND hwnd, LPCTSTR pszRootPath, DWORD dwFlags)
2384 //SHEmptyRecycleBinW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3)
2385 HRESULT WINAPI SHEmptyRecycleBinW(HWND hwnd, LPCTSTR pszRootPath, DWORD dwFlags)
2392 SHFileOperation (LPSHFILEOPSTRUCT Unknown1)
2399 //SHFileOperationA(DWORD Unknown1)
2403 SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
2410 //SHFileOperationW(DWORD Unknown1)
2413 SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
2420 SHFormatDrive(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2427 SHFreeNameMappings (HANDLE Unknown1)
2433 SHGetDesktopFolder(DWORD Unknown1)
2439 //SHGetFileInfo (LPCTSTR Unknown1, DWORD Unknown2, SHFILEINFO FAR * Unknown3, UINT Unknown4, UINT Unknown5)
2441 SHGetFileInfo(LPCTSTR pszPath, DWORD dwFileAttributes, SHFILEINFO* psfi, UINT cbFileInfo, UINT uFlags)
2449 //SHGetFileInfoA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2450 //DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
2454 SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA* psfi, UINT cbFileInfo, UINT uFlags)
2461 //SHGetFileInfoW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2465 SHGetFileInfoW(LPCTSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW* psfi, UINT cbFileInfo, UINT uFlags)
2472 SHGetInstanceExplorer(DWORD Unknown1)
2478 SHGetMalloc(DWORD Unknown1)
2485 SHGetPathFromIDList (LPCITEMIDLIST Unknown1, LPTSTR Unknown2)
2492 SHGetPathFromIDListA(DWORD Unknown1, DWORD Unknown2)
2498 SHGetPathFromIDListW(DWORD Unknown1, DWORD Unknown2)
2504 SHGetSettings(DWORD Unknown1, DWORD Unknown2)
2512 SHGetSpecialFolderLocation (HWND Unknown1, int Unknown2, LPITEMIDLIST * Unknown3)
2519 SHHelpShortcuts_RunDLL(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2525 SHHelpShortcuts_RunDLLA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2531 SHHelpShortcuts_RunDLLW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2537 SHLoadInProc(DWORD Unknown1)
2543 //SHQueryRecycleBinA(DWORD Unknown1, DWORD Unknown2)
2545 SHQueryRecycleBinA(LPCTSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
2552 //SHQueryRecycleBinW(DWORD Unknown1, DWORD Unknown2)
2554 SHQueryRecycleBinW(LPCTSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)
2561 SHUpdateRecycleBinIcon(VOID)
2567 WOWShellExecute(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5, DWORD Unknown6, DWORD Unknown7)
2573 DllCanUnloadNow(VOID)
2580 DllGetVersion(DWORD Unknown1)
2586 SHGetFreeDiskSpace(VOID)
2592 SHGetSpecialFolderPathA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4)
2598 SHGetFolderPathA(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2604 SHGetFolderPathW(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)
2610 SHGetFolderLocation(DWORD Unknown1, DWORD Unknown2, DWORD Unknown3, DWORD Unknown4, DWORD Unknown5)