### shellapi.h ###

AssocCreateForClasses=func
func.AssocCreateForClasses.args=4
func.AssocCreateForClasses.arg.0=const ASSOCIATIONELEMENT *,rgClasses
func.AssocCreateForClasses.arg.1=ULONG,cClasses
func.AssocCreateForClasses.arg.2=REFIID,riid
func.AssocCreateForClasses.arg.3=void **,ppv
func.AssocCreateForClasses.ret=HRESULT

CommandLineToArgvW=func
func.CommandLineToArgvW.args=2
func.CommandLineToArgvW.arg.0=LPCWSTR,lpCmdLine
func.CommandLineToArgvW.arg.1=int *,pNumArgs
func.CommandLineToArgvW.ret=LPWSTR *

DoEnvironmentSubstA=func
func.DoEnvironmentSubstA.args=2
func.DoEnvironmentSubstA.arg.0=LPSTR,pszSrc
func.DoEnvironmentSubstA.arg.1=UINT,cchSrc
func.DoEnvironmentSubstA.ret=DWORD

DoEnvironmentSubstW=func
func.DoEnvironmentSubstW.args=2
func.DoEnvironmentSubstW.arg.0=LPWSTR,pszSrc
func.DoEnvironmentSubstW.arg.1=UINT,cchSrc
func.DoEnvironmentSubstW.ret=DWORD

DragAcceptFiles=func
func.DragAcceptFiles.args=2
func.DragAcceptFiles.arg.0=HWND,hWnd
func.DragAcceptFiles.arg.1=BOOL,fAccept
func.DragAcceptFiles.ret=void

DragFinish=func
func.DragFinish.args=1
func.DragFinish.arg.0=HDROP,hDrop
func.DragFinish.ret=void

DragQueryFileA=func
func.DragQueryFileA.args=4
func.DragQueryFileA.arg.0=HDROP,hDrop
func.DragQueryFileA.arg.1=UINT,iFile
func.DragQueryFileA.arg.2=LPSTR,lpszFile
func.DragQueryFileA.arg.3=UINT,cch
func.DragQueryFileA.ret=UINT

DragQueryFileW=func
func.DragQueryFileW.args=4
func.DragQueryFileW.arg.0=HDROP,hDrop
func.DragQueryFileW.arg.1=UINT,iFile
func.DragQueryFileW.arg.2=LPWSTR,lpszFile
func.DragQueryFileW.arg.3=UINT,cch
func.DragQueryFileW.ret=UINT

DragQueryPoint=func
func.DragQueryPoint.args=2
func.DragQueryPoint.arg.0=HDROP,hDrop
func.DragQueryPoint.arg.1=POINT *,ppt
func.DragQueryPoint.ret=BOOL

DuplicateIcon=func
func.DuplicateIcon.args=2
func.DuplicateIcon.arg.0=HINSTANCE,hInst
func.DuplicateIcon.arg.1=HICON,hIcon
func.DuplicateIcon.ret=HICON

ExtractAssociatedIconA=func
func.ExtractAssociatedIconA.args=3
func.ExtractAssociatedIconA.arg.0=HINSTANCE,hInst
func.ExtractAssociatedIconA.arg.1=LPSTR,pszIconPath
func.ExtractAssociatedIconA.arg.2=WORD *,piIcon
func.ExtractAssociatedIconA.ret=HICON

ExtractAssociatedIconExA=func
func.ExtractAssociatedIconExA.args=4
func.ExtractAssociatedIconExA.arg.0=HINSTANCE,hInst
func.ExtractAssociatedIconExA.arg.1=LPSTR,pszIconPath
func.ExtractAssociatedIconExA.arg.2=WORD *,piIconIndex
func.ExtractAssociatedIconExA.arg.3=WORD *,piIconId
func.ExtractAssociatedIconExA.ret=HICON

ExtractAssociatedIconExW=func
func.ExtractAssociatedIconExW.args=4
func.ExtractAssociatedIconExW.arg.0=HINSTANCE,hInst
func.ExtractAssociatedIconExW.arg.1=LPWSTR,pszIconPath
func.ExtractAssociatedIconExW.arg.2=WORD *,piIconIndex
func.ExtractAssociatedIconExW.arg.3=WORD *,piIconId
func.ExtractAssociatedIconExW.ret=HICON

ExtractAssociatedIconW=func
func.ExtractAssociatedIconW.args=3
func.ExtractAssociatedIconW.arg.0=HINSTANCE,hInst
func.ExtractAssociatedIconW.arg.1=LPWSTR,pszIconPath
func.ExtractAssociatedIconW.arg.2=WORD *,piIcon
func.ExtractAssociatedIconW.ret=HICON

ExtractIconA=func
func.ExtractIconA.args=3
func.ExtractIconA.arg.0=HINSTANCE,hInst
func.ExtractIconA.arg.1=LPCSTR,pszExeFileName
func.ExtractIconA.arg.2=UINT,nIconIndex
func.ExtractIconA.ret=HICON

ExtractIconExA=func
func.ExtractIconExA.args=5
func.ExtractIconExA.arg.0=LPCSTR,lpszFile
func.ExtractIconExA.arg.1=int,nIconIndex
func.ExtractIconExA.arg.2=HICON *,phiconLarge
func.ExtractIconExA.arg.3=HICON *,phiconSmall
func.ExtractIconExA.arg.4=UINT,nIcons
func.ExtractIconExA.ret=UINT

ExtractIconExW=func
func.ExtractIconExW.args=5
func.ExtractIconExW.arg.0=LPCWSTR,lpszFile
func.ExtractIconExW.arg.1=int,nIconIndex
func.ExtractIconExW.arg.2=HICON *,phiconLarge
func.ExtractIconExW.arg.3=HICON *,phiconSmall
func.ExtractIconExW.arg.4=UINT,nIcons
func.ExtractIconExW.ret=UINT

ExtractIconW=func
func.ExtractIconW.args=3
func.ExtractIconW.arg.0=HINSTANCE,hInst
func.ExtractIconW.arg.1=LPCWSTR,pszExeFileName
func.ExtractIconW.arg.2=UINT,nIconIndex
func.ExtractIconW.ret=HICON

FindExecutableA=func
func.FindExecutableA.args=3
func.FindExecutableA.arg.0=LPCSTR,lpFile
func.FindExecutableA.arg.1=LPCSTR,lpDirectory
func.FindExecutableA.arg.2=LPSTR,lpResult
func.FindExecutableA.ret=HINSTANCE

FindExecutableW=func
func.FindExecutableW.args=3
func.FindExecutableW.arg.0=LPCWSTR,lpFile
func.FindExecutableW.arg.1=LPCWSTR,lpDirectory
func.FindExecutableW.arg.2=LPWSTR,lpResult
func.FindExecutableW.ret=HINSTANCE

InitNetworkAddressControl=func
func.InitNetworkAddressControl.args=0
func.InitNetworkAddressControl.ret=BOOL

IsLFNDriveA=func
func.IsLFNDriveA.args=1
func.IsLFNDriveA.arg.0=LPCSTR,pszPath
func.IsLFNDriveA.ret=BOOL

IsLFNDriveW=func
func.IsLFNDriveW.args=1
func.IsLFNDriveW.arg.0=LPCWSTR,pszPath
func.IsLFNDriveW.ret=BOOL

SHAppBarMessage=func
func.SHAppBarMessage.args=2
func.SHAppBarMessage.arg.0=DWORD,dwMessage
func.SHAppBarMessage.arg.1=PAPPBARDATA,pData
func.SHAppBarMessage.ret=UINT_PTR

SHCreateProcessAsUserW=func
func.SHCreateProcessAsUserW.args=1
func.SHCreateProcessAsUserW.arg.0=PSHCREATEPROCESSINFOW,pscpi
func.SHCreateProcessAsUserW.ret=BOOL

SHEmptyRecycleBinA=func
func.SHEmptyRecycleBinA.args=3
func.SHEmptyRecycleBinA.arg.0=HWND,hwnd
func.SHEmptyRecycleBinA.arg.1=LPCSTR,pszRootPath
func.SHEmptyRecycleBinA.arg.2=DWORD,dwFlags
func.SHEmptyRecycleBinA.ret=HRESULT

SHEmptyRecycleBinW=func
func.SHEmptyRecycleBinW.args=3
func.SHEmptyRecycleBinW.arg.0=HWND,hwnd
func.SHEmptyRecycleBinW.arg.1=LPCWSTR,pszRootPath
func.SHEmptyRecycleBinW.arg.2=DWORD,dwFlags
func.SHEmptyRecycleBinW.ret=HRESULT

SHEvaluateSystemCommandTemplate=func
func.SHEvaluateSystemCommandTemplate.args=4
func.SHEvaluateSystemCommandTemplate.arg.0=PCWSTR,pszCmdTemplate
func.SHEvaluateSystemCommandTemplate.arg.1=PWSTR *,ppszApplication
func.SHEvaluateSystemCommandTemplate.arg.2=PWSTR *,ppszCommandLine
func.SHEvaluateSystemCommandTemplate.arg.3=PWSTR *,ppszParameters
func.SHEvaluateSystemCommandTemplate.ret=HRESULT

SHFileOperationA=func
func.SHFileOperationA.args=1
func.SHFileOperationA.arg.0=LPSHFILEOPSTRUCTA,lpFileOp
func.SHFileOperationA.ret=int

SHFileOperationW=func
func.SHFileOperationW.args=1
func.SHFileOperationW.arg.0=LPSHFILEOPSTRUCTW,lpFileOp
func.SHFileOperationW.ret=int

SHFreeNameMappings=func
func.SHFreeNameMappings.args=1
func.SHFreeNameMappings.arg.0=HANDLE,hNameMappings
func.SHFreeNameMappings.ret=void

SHGetDiskFreeSpaceExA=func
func.SHGetDiskFreeSpaceExA.args=4
func.SHGetDiskFreeSpaceExA.arg.0=LPCSTR,pszDirectoryName
func.SHGetDiskFreeSpaceExA.arg.1=ULARGE_INTEGER *,pulFreeBytesAvailableToCaller
func.SHGetDiskFreeSpaceExA.arg.2=ULARGE_INTEGER *,pulTotalNumberOfBytes
func.SHGetDiskFreeSpaceExA.arg.3=ULARGE_INTEGER *,pulTotalNumberOfFreeBytes
func.SHGetDiskFreeSpaceExA.ret=BOOL

SHGetDiskFreeSpaceExW=func
func.SHGetDiskFreeSpaceExW.args=4
func.SHGetDiskFreeSpaceExW.arg.0=LPCWSTR,pszDirectoryName
func.SHGetDiskFreeSpaceExW.arg.1=ULARGE_INTEGER *,pulFreeBytesAvailableToCaller
func.SHGetDiskFreeSpaceExW.arg.2=ULARGE_INTEGER *,pulTotalNumberOfBytes
func.SHGetDiskFreeSpaceExW.arg.3=ULARGE_INTEGER *,pulTotalNumberOfFreeBytes
func.SHGetDiskFreeSpaceExW.ret=BOOL

SHGetFileInfoA=func
func.SHGetFileInfoA.args=5
func.SHGetFileInfoA.arg.0=LPCSTR,pszPath
func.SHGetFileInfoA.arg.1=DWORD,dwFileAttributes
func.SHGetFileInfoA.arg.2=SHFILEINFOA *,psfi
func.SHGetFileInfoA.arg.3=UINT,cbFileInfo
func.SHGetFileInfoA.arg.4=UINT,uFlags
func.SHGetFileInfoA.ret=DWORD_PTR

SHGetFileInfoW=func
func.SHGetFileInfoW.args=5
func.SHGetFileInfoW.arg.0=LPCWSTR,pszPath
func.SHGetFileInfoW.arg.1=DWORD,dwFileAttributes
func.SHGetFileInfoW.arg.2=SHFILEINFOW *,psfi
func.SHGetFileInfoW.arg.3=UINT,cbFileInfo
func.SHGetFileInfoW.arg.4=UINT,uFlags
func.SHGetFileInfoW.ret=DWORD_PTR

SHGetImageList=func
func.SHGetImageList.args=3
func.SHGetImageList.arg.0=int,iImageList
func.SHGetImageList.arg.1=REFIID,riid
func.SHGetImageList.arg.2=void **,ppvObj
func.SHGetImageList.ret=HRESULT

SHGetLocalizedName=func
func.SHGetLocalizedName.args=4
func.SHGetLocalizedName.arg.0=PCWSTR,pszPath
func.SHGetLocalizedName.arg.1=PWSTR,pszResModule
func.SHGetLocalizedName.arg.2=UINT,cch
func.SHGetLocalizedName.arg.3=int *,pidsRes
func.SHGetLocalizedName.ret=HRESULT

SHGetNewLinkInfoA=func
func.SHGetNewLinkInfoA.args=5
func.SHGetNewLinkInfoA.arg.0=LPCSTR,pszLinkTo
func.SHGetNewLinkInfoA.arg.1=LPCSTR,pszDir
func.SHGetNewLinkInfoA.arg.2=LPSTR,pszName
func.SHGetNewLinkInfoA.arg.3=BOOL *,pfMustCopy
func.SHGetNewLinkInfoA.arg.4=UINT,uFlags
func.SHGetNewLinkInfoA.ret=BOOL

SHGetNewLinkInfoW=func
func.SHGetNewLinkInfoW.args=5
func.SHGetNewLinkInfoW.arg.0=LPCWSTR,pszLinkTo
func.SHGetNewLinkInfoW.arg.1=LPCWSTR,pszDir
func.SHGetNewLinkInfoW.arg.2=LPWSTR,pszName
func.SHGetNewLinkInfoW.arg.3=BOOL *,pfMustCopy
func.SHGetNewLinkInfoW.arg.4=UINT,uFlags
func.SHGetNewLinkInfoW.ret=BOOL

SHGetPropertyStoreForWindow=func
func.SHGetPropertyStoreForWindow.args=3
func.SHGetPropertyStoreForWindow.arg.0=HWND,hwnd
func.SHGetPropertyStoreForWindow.arg.1=REFIID,riid
func.SHGetPropertyStoreForWindow.arg.2=void **,ppv
func.SHGetPropertyStoreForWindow.ret=HRESULT

SHGetStockIconInfo=func
func.SHGetStockIconInfo.args=3
func.SHGetStockIconInfo.arg.0=SHSTOCKICONID,siid
func.SHGetStockIconInfo.arg.1=UINT,uFlags
func.SHGetStockIconInfo.arg.2=SHSTOCKICONINFO *,psii
func.SHGetStockIconInfo.ret=HRESULT

SHInvokePrinterCommandA=func
func.SHInvokePrinterCommandA.args=5
func.SHInvokePrinterCommandA.arg.0=HWND,hwnd
func.SHInvokePrinterCommandA.arg.1=UINT,uAction
func.SHInvokePrinterCommandA.arg.2=LPCSTR,lpBuf1
func.SHInvokePrinterCommandA.arg.3=LPCSTR,lpBuf2
func.SHInvokePrinterCommandA.arg.4=BOOL,fModal
func.SHInvokePrinterCommandA.ret=BOOL

SHInvokePrinterCommandW=func
func.SHInvokePrinterCommandW.args=5
func.SHInvokePrinterCommandW.arg.0=HWND,hwnd
func.SHInvokePrinterCommandW.arg.1=UINT,uAction
func.SHInvokePrinterCommandW.arg.2=LPCWSTR,lpBuf1
func.SHInvokePrinterCommandW.arg.3=LPCWSTR,lpBuf2
func.SHInvokePrinterCommandW.arg.4=BOOL,fModal
func.SHInvokePrinterCommandW.ret=BOOL

SHIsFileAvailableOffline=func
func.SHIsFileAvailableOffline.args=2
func.SHIsFileAvailableOffline.arg.0=PCWSTR,pwszPath
func.SHIsFileAvailableOffline.arg.1=DWORD *,pdwStatus
func.SHIsFileAvailableOffline.ret=HRESULT

SHLoadNonloadedIconOverlayIdentifiers=func
func.SHLoadNonloadedIconOverlayIdentifiers.args=0
func.SHLoadNonloadedIconOverlayIdentifiers.ret=HRESULT

SHQueryRecycleBinA=func
func.SHQueryRecycleBinA.args=2
func.SHQueryRecycleBinA.arg.0=LPCSTR,pszRootPath
func.SHQueryRecycleBinA.arg.1=LPSHQUERYRBINFO,pSHQueryRBInfo
func.SHQueryRecycleBinA.ret=HRESULT

SHQueryRecycleBinW=func
func.SHQueryRecycleBinW.args=2
func.SHQueryRecycleBinW.arg.0=LPCWSTR,pszRootPath
func.SHQueryRecycleBinW.arg.1=LPSHQUERYRBINFO,pSHQueryRBInfo
func.SHQueryRecycleBinW.ret=HRESULT

SHQueryUserNotificationState=func
func.SHQueryUserNotificationState.args=1
func.SHQueryUserNotificationState.arg.0=QUERY_USER_NOTIFICATION_STATE *,pquns
func.SHQueryUserNotificationState.ret=HRESULT

SHRemoveLocalizedName=func
func.SHRemoveLocalizedName.args=1
func.SHRemoveLocalizedName.arg.0=PCWSTR,pszPath
func.SHRemoveLocalizedName.ret=HRESULT

SHSetLocalizedName=func
func.SHSetLocalizedName.args=3
func.SHSetLocalizedName.arg.0=PCWSTR,pszPath
func.SHSetLocalizedName.arg.1=PCWSTR,pszResModule
func.SHSetLocalizedName.arg.2=int,idsRes
func.SHSetLocalizedName.ret=HRESULT

ShellAboutA=func
func.ShellAboutA.args=4
func.ShellAboutA.arg.0=HWND,hWnd
func.ShellAboutA.arg.1=LPCSTR,szApp
func.ShellAboutA.arg.2=LPCSTR,szOtherStuff
func.ShellAboutA.arg.3=HICON,hIcon
func.ShellAboutA.ret=INT

ShellAboutW=func
func.ShellAboutW.args=4
func.ShellAboutW.arg.0=HWND,hWnd
func.ShellAboutW.arg.1=LPCWSTR,szApp
func.ShellAboutW.arg.2=LPCWSTR,szOtherStuff
func.ShellAboutW.arg.3=HICON,hIcon
func.ShellAboutW.ret=INT

ShellExecuteA=func
func.ShellExecuteA.args=6
func.ShellExecuteA.arg.0=HWND,hwnd
func.ShellExecuteA.arg.1=LPCSTR,lpOperation
func.ShellExecuteA.arg.2=LPCSTR,lpFile
func.ShellExecuteA.arg.3=LPCSTR,lpParameters
func.ShellExecuteA.arg.4=LPCSTR,lpDirectory
func.ShellExecuteA.arg.5=INT,nShowCmd
func.ShellExecuteA.ret=HINSTANCE

ShellExecuteExA=func
func.ShellExecuteExA.args=1
func.ShellExecuteExA.arg.0=SHELLEXECUTEINFOA *,pExecInfo
func.ShellExecuteExA.ret=BOOL

ShellExecuteExW=func
func.ShellExecuteExW.args=1
func.ShellExecuteExW.arg.0=SHELLEXECUTEINFOW *,pExecInfo
func.ShellExecuteExW.ret=BOOL

ShellExecuteW=func
func.ShellExecuteW.args=6
func.ShellExecuteW.arg.0=HWND,hwnd
func.ShellExecuteW.arg.1=LPCWSTR,lpOperation
func.ShellExecuteW.arg.2=LPCWSTR,lpFile
func.ShellExecuteW.arg.3=LPCWSTR,lpParameters
func.ShellExecuteW.arg.4=LPCWSTR,lpDirectory
func.ShellExecuteW.arg.5=INT,nShowCmd
func.ShellExecuteW.ret=HINSTANCE

ShellMessageBoxA=func
func.ShellMessageBoxA.args=6
func.ShellMessageBoxA.arg.0=HINSTANCE,hAppInst
func.ShellMessageBoxA.arg.1=HWND,hWnd
func.ShellMessageBoxA.arg.2=LPCSTR,lpcText
func.ShellMessageBoxA.arg.3=LPCSTR,lpcTitle
func.ShellMessageBoxA.arg.4=UINT,fuStyle
func.ShellMessageBoxA.arg.5=,...
func.ShellMessageBoxA.ret=int

ShellMessageBoxW=func
func.ShellMessageBoxW.args=6
func.ShellMessageBoxW.arg.0=HINSTANCE,hAppInst
func.ShellMessageBoxW.arg.1=HWND,hWnd
func.ShellMessageBoxW.arg.2=LPCWSTR,lpcText
func.ShellMessageBoxW.arg.3=LPCWSTR,lpcTitle
func.ShellMessageBoxW.arg.4=UINT,fuStyle
func.ShellMessageBoxW.arg.5=,...
func.ShellMessageBoxW.ret=int

Shell_NotifyIconA=func
func.Shell_NotifyIconA.args=2
func.Shell_NotifyIconA.arg.0=DWORD,dwMessage
func.Shell_NotifyIconA.arg.1=PNOTIFYICONDATAA,lpData
func.Shell_NotifyIconA.ret=BOOL

Shell_NotifyIconGetRect=func
func.Shell_NotifyIconGetRect.args=2
func.Shell_NotifyIconGetRect.arg.0=const NOTIFYICONIDENTIFIER *,identifier
func.Shell_NotifyIconGetRect.arg.1=RECT *,iconLocation
func.Shell_NotifyIconGetRect.ret=HRESULT

Shell_NotifyIconW=func
func.Shell_NotifyIconW.args=2
func.Shell_NotifyIconW.arg.0=DWORD,dwMessage
func.Shell_NotifyIconW.arg.1=PNOTIFYICONDATAW,lpData
func.Shell_NotifyIconW.ret=BOOL
