
;Warning: Function Control_FillCache_RunDLLA has the same entry point as Control_FillCache_RunDLL
;Warning: Function Control_RunDLLA has the same entry point as Control_RunDLL
;Warning: Function DllUnregisterServer has the same entry point as DllRegisterServer
;Warning: Function DragQueryFileA has the same entry point as DragQueryFile
;Warning: Function ExtractIconExA has the same entry point as ExtractIconEx
;Warning: Function ILCreateFromPathW has the same entry point as ILCreateFromPath
;Warning: Function IsLFNDriveW has the same entry point as IsLFNDrive
;Warning: Function OpenAs_RunDLLA has the same entry point as OpenAs_RunDLL
;Warning: Function Options_RunDLLA has the same entry point as Options_RunDLL
;Warning: Function PrintersGetCommand_RunDLLA has the same entry point as PrintersGetCommand_RunDLL
;Warning: Function SHBrowseForFolderA has the same entry point as SHBrowseForFolder
;Warning: Function SHFileOperationA has the same entry point as SHFileOperation
;Warning: Function SHGetDiskFreeSpaceExA has the same entry point as SHGetDiskFreeSpaceA
;Warning: Function SHGetFileInfoA has the same entry point as SHGetFileInfo
;Warning: Function SHGetNewLinkInfoA has the same entry point as SHGetNewLinkInfo
;Warning: Function SHGetPathFromIDListA has the same entry point as SHGetPathFromIDList
;Warning: Function SHHelpShortcuts_RunDLLA has the same entry point as SHHelpShortcuts_RunDLL
;Warning: Function ShellExec_RunDLLA has the same entry point as ShellExec_RunDLL
;Warning: Function ShellExecuteExA has the same entry point as ShellExecuteEx
;Warning: Function ShellHookProc has the same entry point as InternalExtractIconListA
;Warning: Function Shell_NotifyIconA has the same entry point as Shell_NotifyIcon


;not on all systems
!shell32.dll|int CDefFolderMenu_Create2( LPCITEMIDLIST pidlFolder, HWND hwnd, UINT cidl, LPCITEMIDLIST *apidl, IShellFolder *psf, LPFNDFMCALLBACK lpfn, UINT nKeys, const HKEY *ahkeyClsKeys, IContextMenu **ppcm)|Out
;not on all systems
!shell32.dll|int CallCPLEntry16( HINSTANCE hInst, FARPROC16 lpfnEntry, HWND hwndCPL, UINT msg, LPARAM lParam1, LPARAM lParam2)|Out
shell32.dll|LPWSTR * CommandLineToArgvW( LPCWSTR lpCmdLine, int *pNumArgs)|Out
;not DAD_XXX on all systems
!shell32.dll|BOOL DAD_AutoScroll( HWND hwnd, AUTO_SCROLL_DATA *pad, const POINT *pptNow)|Out
!shell32.dll|BOOL DAD_DragEnterEx( HWND hwndTarget, const POINT ptStart)|Out
!shell32.dll|BOOL DAD_DragEnterEx2( HWND hwndTarget, const POINT ptStart, IDataObject *pdtObject)|Out
!shell32.dll|BOOL DAD_DragLeave()
!shell32.dll|BOOL DAD_DragMove( POINT pt)|Out
!shell32.dll|BOOL DAD_SetDragImage( HIMAGELIST him, POINT *pptOffset)|Out
!shell32.dll|BOOL DAD_ShowDragImage( BOOL fShow)
shell32.dll|STDAPI DllGetClassObject( REFCLSID rclsid, REFIID riid, LPVOID * ppv)|Out
shell32.dll|HRESULT CALLBACK DllGetVersion( DLLVERSIONINFO *pdvi)|Out|FailureIfNotNullRet
shell32.dll|HRESULT DllInstall( BOOL bInstall, LPCWSTR pszCmdLine)|FailureIfNotNullRet
;lots of call
!shell32.dll|DllRegisterServer()
;DllRegisterServer same as DllRegisterServer
!shell32.dll|DllUnregisterServer()
shell32.dll|DWORD DoEnvironmentSubstA( LPSTR  pszString, UINT cchString)|Out
shell32.dll|DWORD DoEnvironmentSubstW( LPWSTR pszString, UINT cchString)|Out
shell32.dll|VOID DragAcceptFiles( HWND hWnd, BOOL fAccept)
shell32.dll|VOID DragFinish( HDROP hDrop)
shell32.dll|UINT DragQueryFile( HDROP hDrop, UINT iFile, LPSTR  lpszFile, UINT cch)|Out
;same as DragQueryFile
!shell32.dll|UINT DragQueryFileA( HDROP hDrop, UINT iFile, LPSTR  lpszFile, UINT cch)|Out
shell32.dll|DragQueryFileAorW(HDROP hDrop, UINT iFile,UNKNOWN,UNKNOWN,UNKNOWN,UNKNOWN)
shell32.dll|UINT DragQueryFileW( HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch)|Out
shell32.dll|BOOL DragQueryPoint( HDROP hDrop, LPPOINT lppt)|Out|FailureIfNullRet
shell32.dll|HICON DuplicateIcon( HINSTANCE hInst, HICON hIcon)|FailureIfNullRet
shell32.dll|HICON ExtractAssociatedIconA( HINSTANCE hInst, LPSTR  lpIconPath, LPWORD lpiIcon)|Out|FailureIfNullRet
shell32.dll|HICON ExtractAssociatedIconExA( HINSTANCE hInst, LPSTR  lpIconPath, LPWORD lpiIconIndex, LPWORD lpiIconId)|Out|FailureIfNullRet
shell32.dll|HICON ExtractAssociatedIconExW( HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIconIndex, LPWORD lpiIconId)|Out|FailureIfNullRet
shell32.dll|HICON ExtractAssociatedIconW( HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon)|Out|FailureIfNullRet
shell32.dll|HICON ExtractIconA( HINSTANCE hInst, LPCSTR  lpszExeFileName, UINT nIconIndex)|FailureIfNullRet
shell32.dll|UINT ExtractIconEx( LPCSTR  lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons)|Out
;same as ExtractIconEx
!shell32.dll|UINT ExtractIconExA( LPCSTR  lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons)|Out
shell32.dll|UINT ExtractIconExW( LPCWSTR  lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons)|Out
shell32.dll|HICON ExtractIconW( HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex)|FailureIfNullRet|FailureIfNullRet
shell32.dll|HINSTANCE FindExecutableA( LPCSTR  lpFile, LPCSTR  lpDirectory, LPSTR  lpResult)|Out|FailureIfUnsignedRet<33
shell32.dll|HINSTANCE FindExecutableW( LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult)|Out|FailureIfUnsignedRet<33
;not on all systems
!shell32.dll|BOOL GetFileNameFromBrowse( HWND hwnd, LPWSTR pszFilePath, UINT cchFilePath, LPCWSTR pszWorkingDir, LPCWSTR pszDefExt, LPCWSTR pszFilters, LPCWSTR szTitle)|Out
;ILXXX not on all systems
!shell32.dll|PIDLIST_RELATIVE ILAppendID( PIDLIST_RELATIVE pidl, LPSHITEMID pmkid, BOOL fAppend)|Out
!shell32.dll|PIDLIST_RELATIVE ILClone( PCUIDLIST_RELATIVE pidl)
!shell32.dll|PITEMID_CHILD ILCloneFirst( PCUIDLIST_RELATIVE pidl)
!shell32.dll|PIDLIST_ABSOLUTE ILCombine( PCIDLIST_ABSOLUTE pidl1, PCUIDLIST_RELATIVE pidl2)
!shell32.dll|PIDLIST_ABSOLUTE ILCreateFromPath( LPCSTR pszPath)
!shell32.dll|PIDLIST_ABSOLUTE ILCreateFromPathA( LPCSTR pszPath)
!shell32.dll|PIDLIST_ABSOLUTE ILCreateFromPathW( LPCSTR pszPath)
!shell32.dll|LPITEMIDLIST ILFindChild( PCIDLIST_ABSOLUTE pidlParent, PCIDLIST_ABSOLUTE pidlChild)
!shell32.dll|PUITEMID_CHILD ILFindLastID( PCUIDLIST_RELATIVE pidl)
!shell32.dll|void ILFree( PIDLIST_RELATIVE pidl)|Out
!shell32.dll|PUIDLIST_RELATIVE ILGetNext( PCUIDLIST_RELATIVE pidl)
!shell32.dll|UINT ILGetSize( PCUIDLIST_RELATIVE pidl)
!shell32.dll|BOOL ILIsEqual( PCIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
!shell32.dll|BOOL ILIsParent( PCIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2, BOOL fImmediate)
!shell32.dll|HRESULT ILLoadFromStream( IStream *pstm, PIDLIST_RELATIVE *pidl)|Out
!shell32.dll|BOOL ILRemoveLastID( PUIDLIST_RELATIVE pidl)|Out
!shell32.dll|HRESULT ILSaveToStream( IStream * pstm, PCUIDLIST_RELATIVE pidl)|Out
shell32.dll|InternalExtractIconListA(UNKNOWN,UNKNOWN,UNKNOWN)
shell32.dll|InternalExtractIconListW(UNKNOWN,UNKNOWN,UNKNOWN)
;IsXXX not on all systems
!shell32.dll|int IsNetDrive( int iDrive)
!shell32.dll|BOOL IsUserAnAdmin()
; not on all systems
!shell32.dll|IStream * OpenRegStream( HKEY hkey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD grfMode)
; PathXXX not on all systems
!shell32.dll|int PathCleanupSpec( LPCWSTR pszDir, LPWSTR pszSpec)|Out
!shell32.dll|void PathGetShortPath( LPWSTR pszLongPath)|Out
!shell32.dll|int PathIsExe( LPCWSTR szfile)
!shell32.dll|BOOL PathIsSlowA( LPCSTR  pszFile, DWORD dwAttr)|FailureIfNullRet
!shell32.dll|BOOL PathIsSlowW( LPCWSTR pszFile, DWORD dwAttr)|FailureIfNullRet
!shell32.dll|BOOL PathMakeUniqueName( LPWSTR pszUniqueName, UINT cchMax, LPCWSTR pszTemplate, LPCWSTR pszLongPlate, LPCWSTR pszDir)|Out|FailureIfNullRet
!shell32.dll|LONG PathProcessCommand( LPCWSTR lpSrc, LPWSTR lpDest, int iDestMax, DWORD dwFlags)|Out
; Unknown number of parameters
!shell32.dll|PathQualify()
!shell32.dll|BOOL PathResolve( LPWSTR pszPath, LPCWSTR *dirs, UINT fFlags)|Out|FailureIfNullRet
!shell32.dll|BOOL PathYetAnotherMakeUniqueName( LPWSTR pszUniqueName, LPCWSTR pszPath, LPCWSTR pszShort, LPCWSTR pszFileSpec)|Out|FailureIfNullRet
!shell32.dll|int PickIconDlg( HWND hwnd, LPWSTR pszIconPath, UINT cchIconPath, int *piIconIndex)|Out
!shell32.dll|int PifMgr_CloseProperties( HANDLE hProps, UINT flOpt)
!shell32.dll|int PifMgr_GetProperties( HANDLE hProps, LPCSTR pszGroup, VOID *lpProps, int cbProps, UINT flOpt)|Out
!shell32.dll|HANDLE PifMgr_OpenProperties( LPCWSTR pszApp, LPCWSTR lpszPIF, UINT hInf, UINT flOpt)|FailureIfNullRet
!shell32.dll|int PifMgr_SetProperties( HANDLE hProps, LPCSTR pszGroup, VOID *lpProps, int cbProps, UINT flOpt)|Out
;not on all systems
!shell32.dll|BOOL ReadCabinetState( CABINETSTATE *lpState, int cbLength)|Out|FailureIfNullRet
;not on all systems
!shell32.dll|int RealDriveType( int iDrive, BOOL fOKToHitNet)
;not on all systems
!shell32.dll|int RestartDialog( HWND hParent, LPCWSTR pszPrompt, DWORD dwFlags)
;not on all systems
!shell32.dll|int RestartDialogEx( HWND hParent, LPCWSTR pszPrompt, DWORD dwFlags, HWND dwReasonCode)
;not on all systems
!shell32.dll|int SHAddFromPropSheetExtArray( HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam)|Out
shell32.dll|void SHAddToRecentDocs( UINT uFlags, LPCVOID pv)
;not on all systems
!shell32.dll|LPVOID SHAlloc( SIZE_T cb)
;not on all systems
!shell32.dll|HANDLE SHAllocShared( LPCVOID pvData, DWORD dwSize, DWORD dwDestinationProcessId)
shell32.dll|UINT_PTR SHAppBarMessage( DWORD dwMessage, PAPPBARDATA pData)|Out
shell32.dll|HRESULT SHBindToParent( PCIDLIST_ABSOLUTE pidl, REFIID riid, VOID **ppv, PCUITEMID_CHILD *ppidlLast)|Out
shell32.dll|PIDLIST_ABSOLUTE SHBrowseForFolder( LPBROWSEINFO lpbi)|Out
; same as SHBrowseForFolder
!shell32.dll|PIDLIST_ABSOLUTE SHBrowseForFolderA( LPBROWSEINFO lpbi)|Out
shell32.dll|PIDLIST_ABSOLUTE SHBrowseForFolderW( LPBROWSEINFO lpbi)|Out
;not on all systems
!shell32.dll|HRESULT SHCLSIDFromString( LPCWSTR psz, CLSID pcClsid)
shell32.dll|HANDLE SHChangeNotification_Lock( HANDLE hChange, DWORD dwProcId, LPITEMIDLIST **pppidl, LONG *plEvent)|Out
shell32.dll|BOOL SHChangeNotification_Unlock( HANDLE hLock)
shell32.dll|void SHChangeNotify( LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
shell32.dll|BOOL SHChangeNotifyDeregister( ULONG ulID)|FailureIfNullRet
shell32.dll|ULONG SHChangeNotifyRegister( HWND hwnd, int fSources, LONG fEvents, UINT wMsg, int cEntries, SHChangeNotifyEntry *pfsne)|Out
shell32.dll|LPITEMIDLIST SHCloneSpecialIDList( HWND hwndOwner, int csidl, bool fCreate)
shell32.dll|HRESULT SHCoCreateInstance( LPCWSTR pszCLSID, const CLSID *pclsid, IUnknown *pUnkOuter, REFIID riid, void **ppv)|Out
shell32.dll|int SHCreateDirectory( HWND hwnd, LPCWSTR pszPath)
shell32.dll|int SHCreateDirectoryExA( HWND hwnd, LPCSTR  pszPath, SECURITY_ATTRIBUTES *psa)|Out
shell32.dll|int SHCreateDirectoryExW( HWND hwnd, LPCWSTR pszPath, SECURITY_ATTRIBUTES *psa)|Out
shell32.dll|HRESULT SHCreateFileExtractIconW( LPCWSTR pszFile, DWORD dwFileAttributes, REFIID riid, void **ppv)|Out
shell32.dll|BOOL SHCreateProcessAsUserW( PSHCREATEPROCESSINFOW pscpi)|Out
shell32.dll|HPSXA SHCreatePropSheetExtArray( HKEY hkey, LPCWSTR pszSubkey, UINT max_iface)
shell32.dll|HRESULT SHCreateQueryCancelAutoPlayMoniker( IMoniker **ppmoniker)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHCreateShellFolderView( const SFV_CREATE *pcsfv, IShellView **ppsv)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHCreateShellFolderViewEx( LPCSFV pcsfv, IShellView **ppsv)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHCreateShellItem( LPCITEMIDLIST pidlParent, IShellFolder *psfParent, LPCITEMIDLIST pidl, IShellItem **ppsi)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHCreateStdEnumFmtEtc( UINT cfmt, FORMATETC* afmt, IEnumFORMATETC **ppenumFormatEtc)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHDefExtractIconA( LPCSTR  pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHDefExtractIconW( LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)|Out|FailureIfNotNullRet
shell32.dll|void SHDestroyPropSheetExtArray( HPSXA hpsxa)
shell32.dll|HRESULT SHDoDragDrop( HWND hwnd, IDataObject *pdtobj, IDropSource *pdsrc, DWORD dwEffect, DWORD *pdwEffect)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHEmptyRecycleBinA( HWND hwnd, LPCSTR  pszRootPath, DWORD dwFlags)|FailureIfNotNullRet
shell32.dll|HRESULT SHEmptyRecycleBinW( HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags)|FailureIfNotNullRet
shell32.dll|HRESULT SHEnumerateUnreadMailAccountsW( HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress)|Out|FailureIfNotNullRet
shell32.dll|SHExtractIconsW(LPCWSTR lpszFile,int iIndex,UINT nIconWidth,UINT nIconHeight,HICON *phicon, UINT* pIconId,UINT nIcons,UINT uFlags)|Out
shell32.dll|int SHFileOperation( LPSHFILEOPSTRUCT lpFileOp)|Out
; same as SHFileOperation
!shell32.dll|int SHFileOperationA( LPSHFILEOPSTRUCT lpFileOp)|Out
shell32.dll|int SHFileOperationW( LPSHFILEOPSTRUCT lpFileOp)|Out
shell32.dll|BOOL SHFindFiles( PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile)|FailureIfNullRet
shell32.dll|IContextMenu * SHFind_InitMenuPopup( HMENU hmenu, HWND hwnd, UINT idCmdFirst, UINT idCmdLast)
shell32.dll|HRESULT SHFlushClipboard()|FailureIfNotNullRet
shell32.dll|void SHFlushSFCache()
shell32.dll|DWORD SHFormatDrive( HWND hwnd, UINT drive, UINT fmtID, UINT options)
;lots of call
!shell32.dll|void SHFree( void *pv)|Out
shell32.dll|void SHFreeNameMappings( HANDLE hNameMappings)
shell32.dll|BOOL SHFreeShared( HANDLE hData, DWORD dwSourceProcId)
shell32.dll|HRESULT SHGetAttributesFromDataObject( IDataObject *pdo, DWORD dwAttributeMask, DWORD *pdwAttributes, UINT *pcItems)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetDataFromIDListA( IShellFolder *psf, PCUITEMID_CHILD pidl, int nFormat, PVOID pv, int cb)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetDataFromIDListW( IShellFolder *psf, PCUITEMID_CHILD pidl, int nFormat, PVOID pv, int cb)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetDesktopFolder( IShellFolder **ppshf)|Out|FailureIfNotNullRet
shell32.dll|BOOL SHGetDiskFreeSpaceA( LPCSTR  pszVolume, ULARGE_INTEGER *pqwFreeCaller, ULARGE_INTEGER *pqwTot, ULARGE_INTEGER *pqwFree)|Out
;same as SHGetDiskFreeSpaceA
!shell32.dll|BOOL SHGetDiskFreeSpaceExA( LPCSTR  pszVolume, ULARGE_INTEGER *pqwFreeCaller, ULARGE_INTEGER *pqwTot, ULARGE_INTEGER *pqwFree)|Out
shell32.dll|BOOL SHGetDiskFreeSpaceExW( LPCWSTR pszVolume, ULARGE_INTEGER *pqwFreeCaller, ULARGE_INTEGER *pqwTot, ULARGE_INTEGER *pqwFree)|Out
shell32.dll|DWORD_PTR SHGetFileInfo( LPCSTR  pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags)|Out
;same as SHGetFileInfo
!shell32.dll|DWORD_PTR SHGetFileInfoA( LPCSTR  pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags)|Out
shell32.dll|DWORD_PTR SHGetFileInfoW( LPCWSTR  pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags)|Out
shell32.dll|HRESULT SHGetFolderLocation( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetFolderPathA( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR  pszPath)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetFolderPathAndSubDirA( HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPCSTR  pszSubDir, LPSTR  pszPath)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetFolderPathAndSubDirW( HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPCWSTR pszSubDir, LPWSTR pszPath)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetFolderPathW( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)|Out|FailureIfNotNullRet
shell32.dll|int SHGetIconOverlayIndexA( LPCSTR  pszIconPath, int iIconIndex)
shell32.dll|int SHGetIconOverlayIndexW( LPCWSTR pszIconPath, int iIconIndex)
shell32.dll|HRESULT SHGetInstanceExplorer( IUnknown **ppunk)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetMalloc( LPMALLOC *ppMalloc)|Out|FailureIfNotNullRet
shell32.dll|BOOL SHGetNewLinkInfo( LPCSTR  pszLinkTo, LPCSTR  pszDir, LPSTR  pszName, BOOL *pfMustCopy, UINT uFlags)|Out
; same as SHGetNewLinkInfo
!shell32.dll|BOOL SHGetNewLinkInfoA( LPCSTR  pszLinkTo, LPCSTR  pszDir, LPSTR  pszName, BOOL *pfMustCopy, UINT uFlags)|Out
shell32.dll|BOOL SHGetNewLinkInfoW( LPCSTR  pszLinkTo, LPCSTR  pszDir, LPSTR  pszName, BOOL *pfMustCopy, UINT uFlags)|Out
shell32.dll|BOOL SHGetPathFromIDList( LPCITEMIDLIST pidl, LPSTR  pszPath)|Out
;same as SHGetPathFromIDList
!shell32.dll|BOOL SHGetPathFromIDListA( LPCITEMIDLIST pidl, LPSTR  pszPath)|Out
shell32.dll|BOOL SHGetPathFromIDListW( LPCITEMIDLIST pidl, LPWSTR  pszPath)|Out
shell32.dll|HRESULT SHGetRealIDL( IShellFolder *psf, PCUITEMID_CHILD pidlSimple, PITEMID_CHILD *ppidlReal)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHGetSetFolderCustomSettingsW( LPSHFOLDERCUSTOMSETTINGS pfcs, LPCWSTR pszPath, DWORD dwReadWrite)|Out|FailureIfNotNullRet
shell32.dll|void SHGetSetSettings( LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)|Out
shell32.dll|void SHGetSettings( LPSHELLFLAGSTATE lpsfs, DWORD dwMask)|Out
shell32.dll|HINSTANCE SHGetShellStyleHInstance()
shell32.dll|HRESULT SHGetSpecialFolderLocation( HWND hwndOwner, int nFolder, LPITEMIDLIST *ppidl)|Out|FailureIfNotNullRet
shell32.dll|BOOL SHGetSpecialFolderPathA( HWND hwndOwner, LPSTR  lpszPath, int nFolder, BOOL fCreate)|Out
shell32.dll|BOOL SHGetSpecialFolderPathW( HWND hwndOwner, LPWSTR lpszPath, int nFolder, BOOL fCreate)|Out
shell32.dll|HRESULT SHGetUnreadMailCountW( HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPCWSTR pszShellExecuteCommand, int cchShellExecuteCommand)|Out
shell32.dll|int SHHandleUpdateImage( PCIDLIST_ABSOLUTE pidlExtra)
shell32.dll|HRESULT SHILCreateFromPath( LPCWSTR pszPath, PIDLIST_ABSOLUTE *ppidl, DWORD *rgflnOut)|Out
shell32.dll|BOOL SHInvokePrinterCommandA( HWND hwnd, UINT uAction, LPCSTR  lpBuf1, LPCSTR  lpBuf2, BOOL fModal)
shell32.dll|BOOL SHInvokePrinterCommandW( HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal)
shell32.dll|HRESULT SHIsFileAvailableOffline( LPCWSTR pszPath, LPDWORD pdwStatus)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHLimitInputEdit( HWND hwndEdit, IShellFolder *psf)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHLoadInProc( REFCLSID rclsid)|FailureIfNotNullRet
shell32.dll|HRESULT SHLoadNonloadedIconOverlayIdentifiers()|FailureIfNotNullRet
shell32.dll|HRESULT SHLoadOLE( LPARAM lParam)|Out|FailureIfNotNullRet
shell32.dll|LPVOID SHLockShared( HANDLE * hData, DWORD dwOtherProcId)|Out
shell32.dll|HRESULT SHMapIDListToImageListIndexAsync( IShellTaskScheduler *pts, IShellFolder *psf, LPCITEMIDLIST pidl, UINT flags, PFNASYNCICONTASKBALLBACK pfn, void *pvData, void *pvHint, int *piIndex, int *piIndexSel)|Out
shell32.dll|int SHMapPIDLToSystemImageListIndex( IShellFolder *psf, PCUITEMID_CHILD pidl, int *piIndex)|Out
shell32.dll|HRESULT SHMultiFileProperties( IDataObject *pdtobj, DWORD dwFlags)|Out|FailureIfNotNullRet
shell32.dll|BOOL SHObjectProperties( HWND hwnd, DWORD dwType, LPCWSTR szObject, LPCWSTR szPage)
shell32.dll|HRESULT SHOpenFolderAndSelectItems( LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST *apidl, DWORD dwFlags)|Out|FailureIfNotNullRet
shell32.dll|BOOL SHOpenPropSheetW(LPCWSTR pszCaption,HKEY* ahkeys, UINT ckeys,CLSID *pclsidDef, IDataObject *pdtobj, IShellBrowser *psb, LPCWSTR pStartPage);
shell32.dll|HRESULT SHParseDisplayName( LPCWSTR pszName, IBindCtx *pbc, PIDLIST_ABSOLUTE *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHPathPrepareForWriteA( HWND hwnd, IUnknown *punkEnableModless, LPCSTR  pszPath, DWORD dwFlags)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHPathPrepareForWriteW( HWND hwnd, IUnknown *punkEnableModless, LPCWSTR pszPath, DWORD dwFlags)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHPropStgCreate( IPropertySetStorage *psstg, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD grfMode, DWORD dwDisposition, IPropertyStorage **ppstg, UINT *puCodePage)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHPropStgReadMultiple( IPropertyStorage *pps, UINT uCodePage, ULONG cpspec, PROPSPEC* rgpspec, PROPVARIANT* rgvar)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHPropStgWriteMultiple( IPropertyStorage *pps, UINT *uCodePage, ULONG cpspec, PROPSPEC* rgpspec, PROPVARIANT* rgvar, PROPID propidNameFirst)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHQueryRecycleBinA( LPCSTR  pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)|Out|FailureIfNotNullRet
shell32.dll|HRESULT SHQueryRecycleBinW( LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo)|Out|FailureIfNotNullRet
shell32.dll|UINT SHReplaceFromPropSheetExtArray( HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam)|Out
shell32.dll|DWORD SHRestricted( RESTRICTIONS rest)
shell32.dll|void SHSetInstanceExplorer( IUnknown *punk)|Out
shell32.dll|HRESULT SHSetLocalizedName( LPCWSTR pszPath, LPCWSTR pszResModule, int idsRes)|FailureIfNotNullRet
shell32.dll|HRESULT SHSetUnreadMailCountW( LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand)|FailureIfNotNullRet
shell32.dll|LRESULT SHShellFolderView_Message( HWND hwnd, UINT uMsg, lParam lparam)
shell32.dll|PIDLIST_ABSOLUTE SHSimpleIDListFromPath( LPCWSTR pszPath)
shell32.dll|HRESULT SHStartNetConnectionDialogW( HWND hwnd, LPCWSTR pszRemoteName, DWORD dwType)|FailureIfNotNullRet
shell32.dll|BOOL SHTestTokenMembership( HANDLE hToken, ULONG ulRID)|FailureIfNullRet
shell32.dll|BOOL SHUnlockShared( LPVOID lpvData)|Out|FailureIfNullRet
shell32.dll|void SHUpdateImageA( LPCSTR  pszHashItem, int iIndex, UINT uFlags, int iImageIndex)
shell32.dll|void SHUpdateImageW( LPCWSTR pszHashItem, int iIndex, UINT uFlags, int iImageIndex)
shell32.dll|BOOL SHValidateUNC( HWND hwndOwner, LPWSTR pszFile, UINT fConnect)|Out|FailureIfNullRet
shell32.dll|int ShellAboutA( HWND hWnd, LPCSTR  szApp, LPCSTR  szOtherStuff, HICON hIcon)|FailureIfNullRet
shell32.dll|int ShellAboutW( HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon)|FailureIfNullRet
shell32.dll|HINSTANCE ShellExecuteA( HWND hwnd, LPCSTR  lpOperation, LPCSTR  lpFile, LPCSTR  lpParameters, LPCSTR  lpDirectory, INT nShowCmd)|FailureIfUnsignedRet<33
shell32.dll|BOOL ShellExecuteEx( LPSHELLEXECUTEINFO lpExecInfo)|Out|FailureIfNullRet|FailureIfNullRet
;same as ShellExecuteEx
!shell32.dll|BOOL ShellExecuteExA( LPSHELLEXECUTEINFO lpExecInfo)|Out|FailureIfNullRet
shell32.dll|BOOL ShellExecuteExW( LPSHELLEXECUTEINFO lpExecInfo)|Out|FailureIfNullRet
shell32.dll|HINSTANCE ShellExecuteW( HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd)|FailureIfUnsignedRet<33
;same as InternalExtractIconListA
;shell32.dll|ShellHookProc()
shell32.dll|int ShellMessageBoxA( HINSTANCE hInst, HWND hWnd, LPCSTR  pszMsg, LPCSTR  pszTitle, UINT fuStyle)
shell32.dll|int ShellMessageBoxW( HINSTANCE hInst, HWND hWnd, LPCWSTR pszMsg, LPCWSTR pszTitle, UINT fuStyle)
shell32.dll|int Shell_GetCachedImageIndex( LPCWSTR pszIconPath, int iIconIndex, UINT uIconFlags)
shell32.dll|BOOL Shell_GetImageLists( HIMAGELIST *phiml, HIMAGELIST *phimlSmall)|Out|FailureIfNullRet
shell32.dll|UINT Shell_MergeMenus( HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags)
shell32.dll|BOOL Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATAA lpdata)|Out|FailureIfNullRet
;same as Shell_NotifyIcon
!shell32.dll|BOOL Shell_NotifyIconA( DWORD dwMessage, PNOTIFYICONDATAA lpdata)|Out|FailureIfNullRet
shell32.dll|BOOL Shell_NotifyIconW( DWORD dwMessage, PNOTIFYICONDATAW lpdata)|Out|FailureIfNullRet
shell32.dll|BOOL SignalFileOpen( PCIDLIST_ABSOLUTE pidl)|FailureIfNullRet
shell32.dll|StrChrA(LPCSTR,CHAR)
shell32.dll|StrChrIA(LPCSTR,CHAR)
shell32.dll|StrChrIW(LPCWSTR,WCHAR)
shell32.dll|StrChrW(LPCWSTR,WCHAR)
shell32.dll|StrCmpNA(LPCSTR,LPCSTR,size_t)
shell32.dll|StrCmpNIA(LPCSTR,LPCSTR,size_t)
shell32.dll|StrCmpNIW(LPCWSTR,LPCWSTR,size_t)
shell32.dll|StrCmpNW(LPCWSTR,LPCWSTR,size_t)
shell32.dll|StrCpyNA(LPCSTR,LPCSTR,size_t)
shell32.dll|StrCpyNW(LPCWSTR,LPCWSTR,size_t)
shell32.dll|StrNCmpA(LPCSTR,LPCSTR,size_t)
shell32.dll|StrNCmpIA(LPCSTR,LPCSTR,size_t)
shell32.dll|StrNCmpIW(LPCWSTR,LPCWSTR,size_t)
shell32.dll|StrNCmpW(LPCWSTR,LPCWSTR,size_t)
shell32.dll|StrNCpyA( char *strDest, const char *strSource, size_t count )|Out
shell32.dll|StrNCpyW( char *strDest, const char *strSource, size_t count )|Out
shell32.dll|LPSTR  StrRChrA( LPCSTR  lpStart, LPCSTR  lpEnd, CHAR Match)
shell32.dll|StrRChrIA(LPCSTR  lpStart, LPCSTR  lpEnd, CHAR Match)
shell32.dll|StrRChrIW(LPCWSTR lpStart, LPCWSTR lpEnd, WCHAR wMatch)
shell32.dll|LPWSTR StrRChrW( LPCWSTR lpStart, LPCWSTR lpEnd, WCHAR wMatch)
shell32.dll|StrRStrA(LPCSTR,LPCSTR)
shell32.dll|StrRStrIA(LPCSTR,LPCSTR)
shell32.dll|StrRStrIW(LPCWSTR,LPCWSTR)
shell32.dll|StrRStrW(LPCWSTR,LPCWSTR)
shell32.dll|StrStrA(LPCSTR,LPCSTR)
shell32.dll|StrStrIA(LPCSTR,LPCSTR)
shell32.dll|StrStrIW(LPCWSTR,LPCWSTR)
shell32.dll|StrStrW(LPCWSTR,LPCWSTR)
shell32.dll|HINSTANCE WOWShellExecute( HWND hwnd, LPCSTR  lpOperation, LPCSTR  lpFile, LPCSTR  lpParameters, LPCSTR  lpDirectory, INT nShowCmd, void *lpfnCBWinExec)|Out|FailureIfUnsignedRet<33
shell32.dll|BOOL Win32DeleteFile( LPCSTR  pszFileName)|FailureIfNullRet
shell32.dll|BOOL WriteCabinetState( CABINETSTATE *lpState)|Out|FailureIfNullRet
