Mercurial > games > semicongine
view semiconginev2/old/thirdparty/winim/winim/inc/shellapi.nim @ 1221:000befd9479f compiletime-tests
did: remove support for git, for now
author | sam <sam@basx.dev> |
---|---|
date | Wed, 17 Jul 2024 21:05:47 +0700 |
parents | 56781cc0fc7c |
children |
line wrap: on
line source
#==================================================================== # # Winim - Windows API, COM, and CLR Module for Nim # Copyright (c) Chen Kai-Hung, Ward # #==================================================================== import winimbase import windef import winbase import wingdi import winuser import wincon import winreg import winnetwk import objbase import iphlpapi import commctrl import regstr #include <shellapi.h> #include <shlwapi.h> #include <shlobj.h> #include <shlguid.h> #include <isguids.h> #include <shldisp.h> #include <knownfolders.h> #include <shobjidl.h> #include <objectarray.h> #include <sherrors.h> type ASSOCCLASS* = int32 QUERY_USER_NOTIFICATION_STATE* = int32 SHSTOCKICONID* = int32 URL_SCHEME* = int32 URL_PART* = int32 TURLIS* = int32 SHREGDEL_FLAGS* = int32 SHREGENUM_FLAGS* = int32 ASSOCSTR* = int32 ASSOCKEY* = int32 ASSOCDATA* = int32 ASSOCENUM* = int32 SHGFP_TYPE* = int32 OfflineFolderStatus* = int32 ShellFolderViewOptions* = int32 ShellSpecialFolderConstants* = int32 AUTOCOMPLETEOPTIONS* = int32 ACENUMOPTION* = int32 FOLDER_ENUM_MODE* = int32 LPVIEWSETTINGS* = ptr char FOLDERFLAGS* = int32 FOLDERVIEWMODE* = int32 FOLDERLOGICALVIEWMODE* = int32 FOLDERVIEWOPTIONS* = int32 SVSIF* = int32 SVGIO* = int32 SVUIA_STATUS* = int32 SORTDIRECTION* = int32 FVTEXTTYPE* = int32 VPWATERMARKFLAGS* = int32 VPCOLORFLAGS* = int32 CM_MASK* = int32 CM_STATE* = int32 CM_ENUM_FLAGS* = int32 CM_SET_WIDTH_VALUE* = int32 SIGDN* = int32 DATAOBJ_GET_ITEM_FLAGS* = int32 SIIGBF* = int32 STGOP* = int32 SIATTRIBFLAGS* = int32 CATEGORYINFO_FLAGS* = int32 CATSORT_FLAGS* = int32 DSH_FLAGS* = int32 SLR_FLAGS* = int32 SLGP_FLAGS* = int32 SPACTION* = int32 SPTEXT* = int32 THUMBBUTTONFLAGS* = int32 THUMBBUTTONMASK* = int32 TBPFLAG* = int32 STPFLAG* = int32 EXPLORER_BROWSER_OPTIONS* = int32 EXPLORER_BROWSER_FILL_FLAGS* = int32 PDOPSTATUS* = int32 NAMESPACEWALKFLAG* = int32 MP_POPUPFLAGS* = int32 FILE_USAGE_TYPE* = int32 FDE_OVERWRITE_RESPONSE* = int32 FDE_SHAREVIOLATION_RESPONSE* = int32 FDAP* = int32 CDCONTROLSTATEF* = int32 ASSOCIATIONLEVEL* = int32 ASSOCIATIONTYPE* = int32 NWMF* = int32 ATTACHMENT_PROMPT* = int32 ATTACHMENT_ACTION* = int32 KF_CATEGORY* = int32 FFFP_MODE* = int32 SHARE_ROLE* = int32 DEF_SHARE_ID* = int32 NMCII_FLAGS* = int32 NMCSAEI_FLAGS* = int32 NSTCGNI* = int32 NSTCSTYLE2* = int32 NSTCFOLDERCAPABILITIES* = int32 CPVIEW* = int32 KNOWNDESTCATEGORY* = int32 APPDOCLISTTYPE* = int32 DESKTOP_SLIDESHOW_OPTIONS* = int32 DESKTOP_SLIDESHOW_STATE* = int32 DESKTOP_SLIDESHOW_DIRECTION* = int32 DESKTOP_WALLPAPER_POSITION* = int32 HOMEGROUPSHARINGCHOICES* = int32 LIBRARYFOLDERFILTER* = int32 LIBRARYOPTIONFLAGS* = int32 DEFAULTSAVEFOLDERTYPE* = int32 LIBRARYSAVEFLAGS* = int32 PBM_EVENT* = int32 PBM_SESSION_TYPE* = int32 PBM_PLAY_STATE* = int32 PBM_MUTE_STATE* = int32 DEFAULT_FOLDER_MENU_RESTRICTIONS* = int32 ACTIVATEOPTIONS* = int32 LIBRARYMANAGEDIALOGOPTIONS* = int32 ASSOC_FILTER* = int32 UNDOCK_REASON* = int32 MONITOR_APP_VISIBILITY* = int32 PACKAGE_EXECUTION_STATE* = int32 AHE_TYPE* = int32 EC_HOST_UI_MODE* = int32 APPLICATION_VIEW_STATE* = int32 EDGE_GESTURE_KIND* = int32 SHELL_LINK_DATA_FLAGS* = int32 GPFIDL_FLAGS* = int32 KNOWN_FOLDER_FLAG* = int32 AUTOCOMPLETELISTOPTIONS* = int32 FD_FLAGS* = int32 DROPIMAGETYPE* = int32 SHARD* = int32 SCNRT_STATUS* = int32 RESTRICTIONS* = int32 OPEN_AS_INFO_FLAGS* = int32 IESHORTCUTFLAGS* = int32 HDROP* = HANDLE FILEOP_FLAGS* = WORD PRINTEROP_FLAGS* = WORD SRRF* = DWORD HUSKEY* = HANDLE ASSOCF* = DWORD SHGDNF* = DWORD SHCONTF* = DWORD SFGAOF* = ULONG SV3CVW3_FLAGS* = DWORD SICHINTF* = DWORD TRANSFER_SOURCE_FLAGS* = DWORD TRANSFER_ADVISE_STATE* = DWORD PROPERTYUI_NAME_FLAGS* = DWORD PROPERTYUI_FLAGS* = DWORD PROPERTYUI_FORMAT_FLAGS* = DWORD SPINITF* = DWORD SPBEGINF* = DWORD OPPROGDLGF* = DWORD PDMODE* = DWORD CDBE_ACTIONS* = DWORD FILEOPENDIALOGOPTIONS* = DWORD BROWSERFRAMEOPTIONS* = DWORD KF_DEFINITION_FLAGS* = DWORD KF_REDIRECTION_CAPABILITIES* = DWORD NSTCSTYLE* = DWORD NSTCROOTSTYLE* = DWORD NSTCITEMSTATE* = DWORD NSTCEHITTEST* = DWORD NSTCECLICKTYPE* = DWORD EXPLORERPANESTATE* = DWORD EXPCMDSTATE* = DWORD EXPCMDFLAGS* = DWORD HTHEME* = HANDLE HPSXA* = HANDLE DRAGINFOA* {.pure.} = object uSize*: UINT pt*: POINT fNC*: WINBOOL lpFileList*: LPSTR grfKeyState*: DWORD LPDRAGINFOA* = ptr DRAGINFOA DRAGINFOW* {.pure.} = object uSize*: UINT pt*: POINT fNC*: WINBOOL lpFileList*: LPWSTR grfKeyState*: DWORD LPDRAGINFOW* = ptr DRAGINFOW APPBARDATA* {.pure.} = object cbSize*: DWORD hWnd*: HWND uCallbackMessage*: UINT uEdge*: UINT rc*: RECT lParam*: LPARAM PAPPBARDATA* = ptr APPBARDATA when winimCpu64: type SHFILEOPSTRUCTA* {.pure.} = object hwnd*: HWND wFunc*: UINT pFrom*: LPCSTR pTo*: LPCSTR fFlags*: FILEOP_FLAGS fAnyOperationsAborted*: WINBOOL hNameMappings*: LPVOID lpszProgressTitle*: PCSTR when winimCpu32: type SHFILEOPSTRUCTA* {.pure, packed.} = object hwnd*: HWND wFunc*: UINT pFrom*: LPCSTR pTo*: LPCSTR fFlags*: FILEOP_FLAGS fAnyOperationsAborted*: WINBOOL hNameMappings*: LPVOID lpszProgressTitle*: PCSTR type LPSHFILEOPSTRUCTA* = ptr SHFILEOPSTRUCTA when winimCpu64: type SHFILEOPSTRUCTW* {.pure.} = object hwnd*: HWND wFunc*: UINT pFrom*: LPCWSTR pTo*: LPCWSTR fFlags*: FILEOP_FLAGS fAnyOperationsAborted*: WINBOOL hNameMappings*: LPVOID lpszProgressTitle*: PCWSTR when winimCpu32: type SHFILEOPSTRUCTW* {.pure, packed.} = object hwnd*: HWND wFunc*: UINT pFrom*: LPCWSTR pTo*: LPCWSTR fFlags*: FILEOP_FLAGS fAnyOperationsAborted*: WINBOOL hNameMappings*: LPVOID lpszProgressTitle*: PCWSTR type LPSHFILEOPSTRUCTW* = ptr SHFILEOPSTRUCTW SHNAMEMAPPINGA* {.pure.} = object pszOldPath*: LPSTR pszNewPath*: LPSTR cchOldPath*: int32 cchNewPath*: int32 LPSHNAMEMAPPINGA* = ptr SHNAMEMAPPINGA SHNAMEMAPPINGW* {.pure.} = object pszOldPath*: LPWSTR pszNewPath*: LPWSTR cchOldPath*: int32 cchNewPath*: int32 LPSHNAMEMAPPINGW* = ptr SHNAMEMAPPINGW SHELLEXECUTEINFOA_UNION1* {.pure, union.} = object hIcon*: HANDLE hMonitor*: HANDLE SHELLEXECUTEINFOA* {.pure.} = object cbSize*: DWORD fMask*: ULONG hwnd*: HWND lpVerb*: LPCSTR lpFile*: LPCSTR lpParameters*: LPCSTR lpDirectory*: LPCSTR nShow*: int32 hInstApp*: HINSTANCE lpIDList*: pointer lpClass*: LPCSTR hkeyClass*: HKEY dwHotKey*: DWORD union1*: SHELLEXECUTEINFOA_UNION1 hProcess*: HANDLE LPSHELLEXECUTEINFOA* = ptr SHELLEXECUTEINFOA SHELLEXECUTEINFOW_UNION1* {.pure, union.} = object hIcon*: HANDLE hMonitor*: HANDLE SHELLEXECUTEINFOW* {.pure.} = object cbSize*: DWORD fMask*: ULONG hwnd*: HWND lpVerb*: LPCWSTR lpFile*: LPCWSTR lpParameters*: LPCWSTR lpDirectory*: LPCWSTR nShow*: int32 hInstApp*: HINSTANCE lpIDList*: pointer lpClass*: LPCWSTR hkeyClass*: HKEY dwHotKey*: DWORD union1*: SHELLEXECUTEINFOW_UNION1 hProcess*: HANDLE LPSHELLEXECUTEINFOW* = ptr SHELLEXECUTEINFOW SHCREATEPROCESSINFOW* {.pure.} = object cbSize*: DWORD fMask*: ULONG hwnd*: HWND pszFile*: LPCWSTR pszParameters*: LPCWSTR pszCurrentDirectory*: LPCWSTR hUserToken*: HANDLE lpProcessAttributes*: LPSECURITY_ATTRIBUTES lpThreadAttributes*: LPSECURITY_ATTRIBUTES bInheritHandles*: WINBOOL dwCreationFlags*: DWORD lpStartupInfo*: LPSTARTUPINFOW lpProcessInformation*: LPPROCESS_INFORMATION PSHCREATEPROCESSINFOW* = ptr SHCREATEPROCESSINFOW when winimCpu64: type SHQUERYRBINFO* {.pure.} = object cbSize*: DWORD i64Size*: int64 i64NumItems*: int64 when winimCpu32: type SHQUERYRBINFO* {.pure, packed.} = object cbSize*: DWORD i64Size*: int64 i64NumItems*: int64 type LPSHQUERYRBINFO* = ptr SHQUERYRBINFO NOTIFYICONDATAA_UNION1* {.pure, union.} = object uTimeout*: UINT uVersion*: UINT NOTIFYICONDATAA* {.pure.} = object cbSize*: DWORD hWnd*: HWND uID*: UINT uFlags*: UINT uCallbackMessage*: UINT hIcon*: HICON szTip*: array[128, CHAR] dwState*: DWORD dwStateMask*: DWORD szInfo*: array[256, CHAR] union1*: NOTIFYICONDATAA_UNION1 szInfoTitle*: array[64, CHAR] dwInfoFlags*: DWORD guidItem*: GUID hBalloonIcon*: HICON PNOTIFYICONDATAA* = ptr NOTIFYICONDATAA NOTIFYICONDATAW_UNION1* {.pure, union.} = object uTimeout*: UINT uVersion*: UINT NOTIFYICONDATAW* {.pure.} = object cbSize*: DWORD hWnd*: HWND uID*: UINT uFlags*: UINT uCallbackMessage*: UINT hIcon*: HICON szTip*: array[128, WCHAR] dwState*: DWORD dwStateMask*: DWORD szInfo*: array[256, WCHAR] union1*: NOTIFYICONDATAW_UNION1 szInfoTitle*: array[64, WCHAR] dwInfoFlags*: DWORD guidItem*: GUID hBalloonIcon*: HICON PNOTIFYICONDATAW* = ptr NOTIFYICONDATAW NOTIFYICONIDENTIFIER* {.pure.} = object cbSize*: DWORD hWnd*: HWND uID*: UINT guidItem*: GUID PNOTIFYICONIDENTIFIER* = ptr NOTIFYICONIDENTIFIER OPEN_PRINTER_PROPS_INFOA* {.pure.} = object dwSize*: DWORD pszSheetName*: LPSTR uSheetIndex*: UINT dwFlags*: DWORD bModal*: WINBOOL POPEN_PRINTER_PROPS_INFOA* = ptr OPEN_PRINTER_PROPS_INFOA OPEN_PRINTER_PROPS_INFOW* {.pure.} = object dwSize*: DWORD pszSheetName*: LPWSTR uSheetIndex*: UINT dwFlags*: DWORD bModal*: WINBOOL POPEN_PRINTER_PROPS_INFOW* = ptr OPEN_PRINTER_PROPS_INFOW NC_ADDRESS* {.pure.} = object pAddrInfo*: ptr NET_ADDRESS_INFO PortNumber*: USHORT PrefixLength*: BYTE PNC_ADDRESS* = ptr NC_ADDRESS PHUSKEY* = ptr HUSKEY IDefViewID* = IUnknown FolderItemVerb* {.pure.} = object lpVtbl*: ptr FolderItemVerbVtbl FolderItemVerbVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Application*: proc(self: ptr FolderItemVerb, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr FolderItemVerb, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Name*: proc(self: ptr FolderItemVerb, pbs: ptr BSTR): HRESULT {.stdcall.} DoIt*: proc(self: ptr FolderItemVerb): HRESULT {.stdcall.} FolderItemVerbs* {.pure.} = object lpVtbl*: ptr FolderItemVerbsVtbl FolderItemVerbsVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Count*: proc(self: ptr FolderItemVerbs, plCount: ptr LONG): HRESULT {.stdcall.} get_Application*: proc(self: ptr FolderItemVerbs, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr FolderItemVerbs, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} Item*: proc(self: ptr FolderItemVerbs, index: VARIANT, ppid: ptr ptr FolderItemVerb): HRESULT {.stdcall.} NewEnum*: proc(self: ptr FolderItemVerbs, ppunk: ptr ptr IUnknown): HRESULT {.stdcall.} FolderItem* {.pure.} = object lpVtbl*: ptr FolderItemVtbl FolderItemVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Application*: proc(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Name*: proc(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.stdcall.} put_Name*: proc(self: ptr FolderItem, bs: BSTR): HRESULT {.stdcall.} get_Path*: proc(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.stdcall.} get_GetLink*: proc(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_GetFolder*: proc(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_IsLink*: proc(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.stdcall.} get_IsFolder*: proc(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.stdcall.} get_IsFileSystem*: proc(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.stdcall.} get_IsBrowsable*: proc(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.stdcall.} get_ModifyDate*: proc(self: ptr FolderItem, pdt: ptr DATE): HRESULT {.stdcall.} put_ModifyDate*: proc(self: ptr FolderItem, dt: DATE): HRESULT {.stdcall.} get_Size*: proc(self: ptr FolderItem, pul: ptr LONG): HRESULT {.stdcall.} get_Type*: proc(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.stdcall.} Verbs*: proc(self: ptr FolderItem, ppfic: ptr ptr FolderItemVerbs): HRESULT {.stdcall.} InvokeVerb*: proc(self: ptr FolderItem, vVerb: VARIANT): HRESULT {.stdcall.} LPFOLDERITEM* = ptr FolderItem IAutoComplete* {.pure.} = object lpVtbl*: ptr IAutoCompleteVtbl IAutoCompleteVtbl* {.pure, inheritable.} = object of IUnknownVtbl Init*: proc(self: ptr IAutoComplete, hwndEdit: HWND, punkACL: ptr IUnknown, pwszRegKeyPath: LPCWSTR, pwszQuickComplete: LPCWSTR): HRESULT {.stdcall.} Enable*: proc(self: ptr IAutoComplete, fEnable: WINBOOL): HRESULT {.stdcall.} LPAUTOCOMPLETE* = ptr IAutoComplete IAutoComplete2* {.pure.} = object lpVtbl*: ptr IAutoComplete2Vtbl IAutoComplete2Vtbl* {.pure, inheritable.} = object of IAutoCompleteVtbl SetOptions*: proc(self: ptr IAutoComplete2, dwFlag: DWORD): HRESULT {.stdcall.} GetOptions*: proc(self: ptr IAutoComplete2, pdwFlag: ptr DWORD): HRESULT {.stdcall.} LPAUTOCOMPLETE2* = ptr IAutoComplete2 IEnumACString* {.pure.} = object lpVtbl*: ptr IEnumACStringVtbl IEnumACStringVtbl* {.pure, inheritable.} = object of IEnumStringVtbl NextItem*: proc(self: ptr IEnumACString, pszUrl: LPWSTR, cchMax: ULONG, pulSortIndex: ptr ULONG): HRESULT {.stdcall.} SetEnumOptions*: proc(self: ptr IEnumACString, dwOptions: DWORD): HRESULT {.stdcall.} GetEnumOptions*: proc(self: ptr IEnumACString, pdwOptions: ptr DWORD): HRESULT {.stdcall.} PENUMACSTRING* = ptr IEnumACString LPENUMACSTRING* = ptr IEnumACString CMINVOKECOMMANDINFO* {.pure.} = object cbSize*: DWORD fMask*: DWORD hwnd*: HWND lpVerb*: LPCSTR lpParameters*: LPCSTR lpDirectory*: LPCSTR nShow*: int32 dwHotKey*: DWORD hIcon*: HANDLE LPCMINVOKECOMMANDINFO* = ptr CMINVOKECOMMANDINFO PCCMINVOKECOMMANDINFO* = ptr CMINVOKECOMMANDINFO CMINVOKECOMMANDINFOEX* {.pure.} = object cbSize*: DWORD fMask*: DWORD hwnd*: HWND lpVerb*: LPCSTR lpParameters*: LPCSTR lpDirectory*: LPCSTR nShow*: int32 dwHotKey*: DWORD hIcon*: HANDLE lpTitle*: LPCSTR lpVerbW*: LPCWSTR lpParametersW*: LPCWSTR lpDirectoryW*: LPCWSTR lpTitleW*: LPCWSTR ptInvoke*: POINT LPCMINVOKECOMMANDINFOEX* = ptr CMINVOKECOMMANDINFOEX PCCMINVOKECOMMANDINFOEX* = ptr CMINVOKECOMMANDINFOEX IContextMenu* {.pure.} = object lpVtbl*: ptr IContextMenuVtbl IContextMenuVtbl* {.pure, inheritable.} = object of IUnknownVtbl QueryContextMenu*: proc(self: ptr IContextMenu, hmenu: HMENU, indexMenu: UINT, idCmdFirst: UINT, idCmdLast: UINT, uFlags: UINT): HRESULT {.stdcall.} InvokeCommand*: proc(self: ptr IContextMenu, pici: ptr CMINVOKECOMMANDINFO): HRESULT {.stdcall.} GetCommandString*: proc(self: ptr IContextMenu, idCmd: UINT_PTR, uType: UINT, pReserved: ptr UINT, pszName: ptr CHAR, cchMax: UINT): HRESULT {.stdcall.} LPCONTEXTMENU* = ptr IContextMenu IContextMenu2* {.pure.} = object lpVtbl*: ptr IContextMenu2Vtbl IContextMenu2Vtbl* {.pure, inheritable.} = object of IContextMenuVtbl HandleMenuMsg*: proc(self: ptr IContextMenu2, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} LPCONTEXTMENU2* = ptr IContextMenu2 IContextMenu3* {.pure.} = object lpVtbl*: ptr IContextMenu3Vtbl IContextMenu3Vtbl* {.pure, inheritable.} = object of IContextMenu2Vtbl HandleMenuMsg2*: proc(self: ptr IContextMenu3, uMsg: UINT, wParam: WPARAM, lParam: LPARAM, plResult: ptr LRESULT): HRESULT {.stdcall.} LPCONTEXTMENU3* = ptr IContextMenu3 IPersistFolder* {.pure.} = object lpVtbl*: ptr IPersistFolderVtbl IPersistFolderVtbl* {.pure, inheritable.} = object of IPersistVtbl Initialize*: proc(self: ptr IPersistFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} LPPERSISTFOLDER* = ptr IPersistFolder IEnumIDList* {.pure.} = object lpVtbl*: ptr IEnumIDListVtbl IEnumIDListVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumIDList, celt: ULONG, rgelt: ptr PITEMID_CHILD, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumIDList, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumIDList): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumIDList, ppenum: ptr ptr IEnumIDList): HRESULT {.stdcall.} LPENUMIDLIST* = ptr IEnumIDList IShellFolder* {.pure.} = object lpVtbl*: ptr IShellFolderVtbl IShellFolderVtbl* {.pure, inheritable.} = object of IUnknownVtbl ParseDisplayName*: proc(self: ptr IShellFolder, hwnd: HWND, pbc: ptr IBindCtx, pszDisplayName: LPWSTR, pchEaten: ptr ULONG, ppidl: ptr PIDLIST_RELATIVE, pdwAttributes: ptr ULONG): HRESULT {.stdcall.} EnumObjects*: proc(self: ptr IShellFolder, hwnd: HWND, grfFlags: SHCONTF, ppenumIDList: ptr ptr IEnumIDList): HRESULT {.stdcall.} BindToObject*: proc(self: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} BindToStorage*: proc(self: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} CompareIDs*: proc(self: ptr IShellFolder, lParam: LPARAM, pidl1: PCUIDLIST_RELATIVE, pidl2: PCUIDLIST_RELATIVE): HRESULT {.stdcall.} CreateViewObject*: proc(self: ptr IShellFolder, hwndOwner: HWND, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetAttributesOf*: proc(self: ptr IShellFolder, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, rgfInOut: ptr SFGAOF): HRESULT {.stdcall.} GetUIObjectOf*: proc(self: ptr IShellFolder, hwndOwner: HWND, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, riid: REFIID, rgfReserved: ptr UINT, ppv: ptr pointer): HRESULT {.stdcall.} GetDisplayNameOf*: proc(self: ptr IShellFolder, pidl: PCUITEMID_CHILD, uFlags: SHGDNF, pName: ptr STRRET): HRESULT {.stdcall.} SetNameOf*: proc(self: ptr IShellFolder, hwnd: HWND, pidl: PCUITEMID_CHILD, pszName: LPCWSTR, uFlags: SHGDNF, ppidlOut: ptr PITEMID_CHILD): HRESULT {.stdcall.} LPSHELLFOLDER* = ptr IShellFolder EXTRASEARCH* {.pure.} = object guidSearch*: GUID wszFriendlyName*: array[80, WCHAR] wszUrl*: array[2084, WCHAR] LPEXTRASEARCH* = ptr EXTRASEARCH IEnumExtraSearch* {.pure.} = object lpVtbl*: ptr IEnumExtraSearchVtbl IEnumExtraSearchVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumExtraSearch, celt: ULONG, rgelt: ptr EXTRASEARCH, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumExtraSearch, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumExtraSearch): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumExtraSearch, ppenum: ptr ptr IEnumExtraSearch): HRESULT {.stdcall.} LPENUMEXTRASEARCH* = ptr IEnumExtraSearch FOLDERSETTINGS* {.pure.} = object ViewMode*: UINT fFlags*: UINT LPFOLDERSETTINGS* = ptr FOLDERSETTINGS LPCFOLDERSETTINGS* = ptr FOLDERSETTINGS PFOLDERSETTINGS* = ptr FOLDERSETTINGS LPFNSVADDPROPSHEETPAGE* = LPFNADDPROPSHEETPAGE LPTBBUTTONSB* = LPTBBUTTON IShellBrowser* {.pure.} = object lpVtbl*: ptr IShellBrowserVtbl IShellBrowserVtbl* {.pure, inheritable.} = object of IOleWindowVtbl InsertMenusSB*: proc(self: ptr IShellBrowser, hmenuShared: HMENU, lpMenuWidths: LPOLEMENUGROUPWIDTHS): HRESULT {.stdcall.} SetMenuSB*: proc(self: ptr IShellBrowser, hmenuShared: HMENU, holemenuRes: HOLEMENU, hwndActiveObject: HWND): HRESULT {.stdcall.} RemoveMenusSB*: proc(self: ptr IShellBrowser, hmenuShared: HMENU): HRESULT {.stdcall.} SetStatusTextSB*: proc(self: ptr IShellBrowser, pszStatusText: LPCWSTR): HRESULT {.stdcall.} EnableModelessSB*: proc(self: ptr IShellBrowser, fEnable: WINBOOL): HRESULT {.stdcall.} TranslateAcceleratorSB*: proc(self: ptr IShellBrowser, pmsg: ptr MSG, wID: WORD): HRESULT {.stdcall.} BrowseObject*: proc(self: ptr IShellBrowser, pidl: PCUIDLIST_RELATIVE, wFlags: UINT): HRESULT {.stdcall.} GetViewStateStream*: proc(self: ptr IShellBrowser, grfMode: DWORD, ppStrm: ptr ptr IStream): HRESULT {.stdcall.} GetControlWindow*: proc(self: ptr IShellBrowser, id: UINT, phwnd: ptr HWND): HRESULT {.stdcall.} SendControlMsg*: proc(self: ptr IShellBrowser, id: UINT, uMsg: UINT, wParam: WPARAM, lParam: LPARAM, pret: ptr LRESULT): HRESULT {.stdcall.} QueryActiveShellView*: proc(self: ptr IShellBrowser, ppshv: ptr ptr IShellView): HRESULT {.stdcall.} OnViewWindowActive*: proc(self: ptr IShellBrowser, pshv: ptr IShellView): HRESULT {.stdcall.} SetToolbarItems*: proc(self: ptr IShellBrowser, lpButtons: LPTBBUTTONSB, nButtons: UINT, uFlags: UINT): HRESULT {.stdcall.} IShellView* {.pure.} = object lpVtbl*: ptr IShellViewVtbl IShellViewVtbl* {.pure, inheritable.} = object of IOleWindowVtbl TranslateAccelerator*: proc(self: ptr IShellView, pmsg: ptr MSG): HRESULT {.stdcall.} EnableModeless*: proc(self: ptr IShellView, fEnable: WINBOOL): HRESULT {.stdcall.} UIActivate*: proc(self: ptr IShellView, uState: UINT): HRESULT {.stdcall.} Refresh*: proc(self: ptr IShellView): HRESULT {.stdcall.} CreateViewWindow*: proc(self: ptr IShellView, psvPrevious: ptr IShellView, pfs: LPCFOLDERSETTINGS, psb: ptr IShellBrowser, prcView: ptr RECT, phWnd: ptr HWND): HRESULT {.stdcall.} DestroyViewWindow*: proc(self: ptr IShellView): HRESULT {.stdcall.} GetCurrentInfo*: proc(self: ptr IShellView, pfs: LPFOLDERSETTINGS): HRESULT {.stdcall.} AddPropertySheetPages*: proc(self: ptr IShellView, dwReserved: DWORD, pfn: LPFNSVADDPROPSHEETPAGE, lparam: LPARAM): HRESULT {.stdcall.} SaveViewState*: proc(self: ptr IShellView): HRESULT {.stdcall.} SelectItem*: proc(self: ptr IShellView, pidlItem: PCUITEMID_CHILD, uFlags: SVSIF): HRESULT {.stdcall.} GetItemObject*: proc(self: ptr IShellView, uItem: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} LPSHELLVIEW* = ptr IShellView SHELLVIEWID* = GUID SV2CVW2_PARAMS* {.pure.} = object cbSize*: DWORD psvPrev*: ptr IShellView pfs*: LPCFOLDERSETTINGS psbOwner*: ptr IShellBrowser prcView*: ptr RECT pvid*: ptr SHELLVIEWID hwndView*: HWND LPSV2CVW2_PARAMS* = ptr SV2CVW2_PARAMS DEPRECATED_HRESULT* = HRESULT ICommDlgBrowser* {.pure.} = object lpVtbl*: ptr ICommDlgBrowserVtbl ICommDlgBrowserVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnDefaultCommand*: proc(self: ptr ICommDlgBrowser, ppshv: ptr IShellView): HRESULT {.stdcall.} OnStateChange*: proc(self: ptr ICommDlgBrowser, ppshv: ptr IShellView, uChange: ULONG): HRESULT {.stdcall.} IncludeObject*: proc(self: ptr ICommDlgBrowser, ppshv: ptr IShellView, pidl: PCUITEMID_CHILD): HRESULT {.stdcall.} LPCOMMDLGBROWSER* = ptr ICommDlgBrowser ICommDlgBrowser2* {.pure.} = object lpVtbl*: ptr ICommDlgBrowser2Vtbl ICommDlgBrowser2Vtbl* {.pure, inheritable.} = object of ICommDlgBrowserVtbl Notify*: proc(self: ptr ICommDlgBrowser2, ppshv: ptr IShellView, dwNotifyType: DWORD): HRESULT {.stdcall.} GetDefaultMenuText*: proc(self: ptr ICommDlgBrowser2, ppshv: ptr IShellView, pszText: LPWSTR, cchMax: int32): HRESULT {.stdcall.} GetViewFlags*: proc(self: ptr ICommDlgBrowser2, pdwFlags: ptr DWORD): HRESULT {.stdcall.} LPCOMMDLGBROWSER2* = ptr ICommDlgBrowser2 LPSHELLBROWSER* = ptr IShellBrowser STGTRANSCONFIRMATION* = GUID LPSTGTRANSCONFIRMATION* = ptr GUID SHDRAGIMAGE* {.pure.} = object sizeDragImage*: SIZE ptOffset*: POINT hbmpDragImage*: HBITMAP crColorKey*: COLORREF LPSHDRAGIMAGE* = ptr SHDRAGIMAGE IShellExtInit* {.pure.} = object lpVtbl*: ptr IShellExtInitVtbl IShellExtInitVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IShellExtInit, pidlFolder: PCIDLIST_ABSOLUTE, pdtobj: ptr IDataObject, hkeyProgID: HKEY): HRESULT {.stdcall.} LPSHELLEXTINIT* = ptr IShellExtInit EXPPS* = UINT IShellPropSheetExt* {.pure.} = object lpVtbl*: ptr IShellPropSheetExtVtbl IShellPropSheetExtVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddPages*: proc(self: ptr IShellPropSheetExt, pfnAddPage: LPFNSVADDPROPSHEETPAGE, lParam: LPARAM): HRESULT {.stdcall.} ReplacePage*: proc(self: ptr IShellPropSheetExt, uPageID: EXPPS, pfnReplaceWith: LPFNSVADDPROPSHEETPAGE, lParam: LPARAM): HRESULT {.stdcall.} LPSHELLPROPSHEETEXT* = ptr IShellPropSheetExt IExtractImage* {.pure.} = object lpVtbl*: ptr IExtractImageVtbl IExtractImageVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetLocation*: proc(self: ptr IExtractImage, pszPathBuffer: LPWSTR, cch: DWORD, pdwPriority: ptr DWORD, prgSize: ptr SIZE, dwRecClrDepth: DWORD, pdwFlags: ptr DWORD): HRESULT {.stdcall.} Extract*: proc(self: ptr IExtractImage, phBmpThumbnail: ptr HBITMAP): HRESULT {.stdcall.} LPEXTRACTIMAGE* = ptr IExtractImage IExtractImage2* {.pure.} = object lpVtbl*: ptr IExtractImage2Vtbl IExtractImage2Vtbl* {.pure, inheritable.} = object of IExtractImageVtbl GetDateStamp*: proc(self: ptr IExtractImage2, pDateStamp: ptr FILETIME): HRESULT {.stdcall.} LPEXTRACTIMAGE2* = ptr IExtractImage2 THUMBBUTTON* {.pure.} = object dwMask*: THUMBBUTTONMASK iId*: UINT iBitmap*: UINT hIcon*: HICON szTip*: array[260, WCHAR] dwFlags*: THUMBBUTTONFLAGS LPTHUMBBUTTON* = ptr THUMBBUTTON DELEGATEITEMID* {.pure, packed.} = object cbSize*: WORD wOuter*: WORD cbInner*: WORD rgb*: array[1, BYTE] PCDELEGATEITEMID* = ptr DELEGATEITEMID PDELEGATEITEMID* = ptr DELEGATEITEMID IBrowserFrameOptions* {.pure.} = object lpVtbl*: ptr IBrowserFrameOptionsVtbl IBrowserFrameOptionsVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetFrameOptions*: proc(self: ptr IBrowserFrameOptions, dwMask: BROWSERFRAMEOPTIONS, pdwOptions: ptr BROWSERFRAMEOPTIONS): HRESULT {.stdcall.} LPBROWSERFRAMEOPTIONS* = ptr IBrowserFrameOptions SMDATA* {.pure.} = object dwMask*: DWORD dwFlags*: DWORD hmenu*: HMENU hwnd*: HWND uId*: UINT uIdParent*: UINT uIdAncestor*: UINT punk*: ptr IUnknown pidlFolder*: PIDLIST_ABSOLUTE pidlItem*: PUITEMID_CHILD psf*: ptr IShellFolder pvUserData*: pointer LPSMDATA* = ptr SMDATA SMINFO* {.pure.} = object dwMask*: DWORD dwType*: DWORD dwFlags*: DWORD iIcon*: int32 PSMINFO* = ptr SMINFO EXPLORERPANE* = GUID REFEXPLORERPANE* = ptr EXPLORERPANE IExtractIconA* {.pure.} = object lpVtbl*: ptr IExtractIconAVtbl IExtractIconAVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetIconLocation*: proc(self: ptr IExtractIconA, uFlags: UINT, pszIconFile: PSTR, cchMax: UINT, piIndex: ptr int32, pwFlags: ptr UINT): HRESULT {.stdcall.} Extract*: proc(self: ptr IExtractIconA, pszFile: PCSTR, nIconIndex: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.stdcall.} LPEXTRACTICONA* = ptr IExtractIconA IExtractIconW* {.pure.} = object lpVtbl*: ptr IExtractIconWVtbl IExtractIconWVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetIconLocation*: proc(self: ptr IExtractIconW, uFlags: UINT, pszIconFile: PWSTR, cchMax: UINT, piIndex: ptr int32, pwFlags: ptr UINT): HRESULT {.stdcall.} Extract*: proc(self: ptr IExtractIconW, pszFile: PCWSTR, nIconIndex: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.stdcall.} LPEXTRACTICONW* = ptr IExtractIconW DATABLOCK_HEADER* {.pure.} = object cbSize*: DWORD dwSignature*: DWORD LPDATABLOCK_HEADER* = ptr DATABLOCK_HEADER LPDBLIST* = ptr DATABLOCK_HEADER NT_CONSOLE_PROPS* {.pure.} = object dbh*: DATABLOCK_HEADER wFillAttribute*: WORD wPopupFillAttribute*: WORD dwScreenBufferSize*: COORD dwWindowSize*: COORD dwWindowOrigin*: COORD nFont*: DWORD nInputBufferSize*: DWORD dwFontSize*: COORD uFontFamily*: UINT uFontWeight*: UINT FaceName*: array[LF_FACESIZE, WCHAR] uCursorSize*: UINT bFullScreen*: WINBOOL bQuickEdit*: WINBOOL bInsertMode*: WINBOOL bAutoPosition*: WINBOOL uHistoryBufferSize*: UINT uNumberOfHistoryBuffers*: UINT bHistoryNoDup*: WINBOOL ColorTable*: array[16, COLORREF] LPNT_CONSOLE_PROPS* = ptr NT_CONSOLE_PROPS NT_FE_CONSOLE_PROPS* {.pure.} = object dbh*: DATABLOCK_HEADER uCodePage*: UINT LPNT_FE_CONSOLE_PROPS* = ptr NT_FE_CONSOLE_PROPS EXP_DARWIN_LINK* {.pure.} = object dbh*: DATABLOCK_HEADER szDarwinID*: array[MAX_PATH, CHAR] szwDarwinID*: array[MAX_PATH, WCHAR] LPEXP_DARWIN_LINK* = ptr EXP_DARWIN_LINK EXP_SPECIAL_FOLDER* {.pure.} = object cbSize*: DWORD dwSignature*: DWORD idSpecialFolder*: DWORD cbOffset*: DWORD LPEXP_SPECIAL_FOLDER* = ptr EXP_SPECIAL_FOLDER EXP_SZ_LINK* {.pure.} = object cbSize*: DWORD dwSignature*: DWORD szTarget*: array[MAX_PATH, CHAR] swzTarget*: array[MAX_PATH, WCHAR] LPEXP_SZ_LINK* = ptr EXP_SZ_LINK ICopyHookA* {.pure.} = object lpVtbl*: ptr ICopyHookAVtbl ICopyHookAVtbl* {.pure, inheritable.} = object of IUnknownVtbl CopyCallback*: proc(self: ptr ICopyHookA, hwnd: HWND, wFunc: UINT, wFlags: UINT, pszSrcFile: PCSTR, dwSrcAttribs: DWORD, pszDestFile: PCSTR, dwDestAttribs: DWORD): UINT {.stdcall.} LPCOPYHOOKA* = ptr ICopyHookA ICopyHookW* {.pure.} = object lpVtbl*: ptr ICopyHookWVtbl ICopyHookWVtbl* {.pure, inheritable.} = object of IUnknownVtbl CopyCallback*: proc(self: ptr ICopyHookW, hwnd: HWND, wFunc: UINT, wFlags: UINT, pszSrcFile: PCWSTR, dwSrcAttribs: DWORD, pszDestFile: PCWSTR, dwDestAttribs: DWORD): UINT {.stdcall.} LPCOPYHOOKW* = ptr ICopyHookW IFileViewerSite* {.pure.} = object lpVtbl*: ptr IFileViewerSiteVtbl IFileViewerSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetPinnedWindow*: proc(self: ptr IFileViewerSite, hwnd: HWND): HRESULT {.stdcall.} GetPinnedWindow*: proc(self: ptr IFileViewerSite, phwnd: ptr HWND): HRESULT {.stdcall.} LPFILEVIEWERSITE* = ptr IFileViewerSite FVSHOWINFO* {.pure.} = object cbSize*: DWORD hwndOwner*: HWND iShow*: int32 dwFlags*: DWORD rect*: RECT punkRel*: ptr IUnknown strNewFile*: array[MAX_PATH, OLECHAR] LPFVSHOWINFO* = ptr FVSHOWINFO IFileViewerA* {.pure.} = object lpVtbl*: ptr IFileViewerAVtbl IFileViewerAVtbl* {.pure, inheritable.} = object of IUnknownVtbl ShowInitialize*: proc(self: ptr IFileViewerA, lpfsi: LPFILEVIEWERSITE): HRESULT {.stdcall.} Show*: proc(self: ptr IFileViewerA, pvsi: LPFVSHOWINFO): HRESULT {.stdcall.} PrintTo*: proc(self: ptr IFileViewerA, pszDriver: PSTR, fSuppressUI: WINBOOL): HRESULT {.stdcall.} LPFILEVIEWERA* = ptr IFileViewerA IFileViewerW* {.pure.} = object lpVtbl*: ptr IFileViewerWVtbl IFileViewerWVtbl* {.pure, inheritable.} = object of IUnknownVtbl ShowInitialize*: proc(self: ptr IFileViewerW, lpfsi: LPFILEVIEWERSITE): HRESULT {.stdcall.} Show*: proc(self: ptr IFileViewerW, pvsi: LPFVSHOWINFO): HRESULT {.stdcall.} PrintTo*: proc(self: ptr IFileViewerW, pszDriver: PWSTR, fSuppressUI: WINBOOL): HRESULT {.stdcall.} LPFILEVIEWERW* = ptr IFileViewerW SHFOLDERCUSTOMSETTINGS* {.pure.} = object dwSize*: DWORD dwMask*: DWORD pvid*: ptr SHELLVIEWID pszWebViewTemplate*: LPWSTR cchWebViewTemplate*: DWORD pszWebViewTemplateVersion*: LPWSTR pszInfoTip*: LPWSTR cchInfoTip*: DWORD pclsid*: ptr CLSID dwFlags*: DWORD pszIconFile*: LPWSTR cchIconFile*: DWORD iIconIndex*: int32 pszLogo*: LPWSTR cchLogo*: DWORD LPSHFOLDERCUSTOMSETTINGS* = ptr SHFOLDERCUSTOMSETTINGS BFFCALLBACK* = proc (hwnd: HWND, uMsg: UINT, lParam: LPARAM, lpData: LPARAM): int32 {.stdcall.} BROWSEINFOA* {.pure.} = object hwndOwner*: HWND pidlRoot*: PCIDLIST_ABSOLUTE pszDisplayName*: LPSTR lpszTitle*: LPCSTR ulFlags*: UINT lpfn*: BFFCALLBACK lParam*: LPARAM iImage*: int32 PBROWSEINFOA* = ptr BROWSEINFOA LPBROWSEINFOA* = ptr BROWSEINFOA BROWSEINFOW* {.pure.} = object hwndOwner*: HWND pidlRoot*: PCIDLIST_ABSOLUTE pszDisplayName*: LPWSTR lpszTitle*: LPCWSTR ulFlags*: UINT lpfn*: BFFCALLBACK lParam*: LPARAM iImage*: int32 PBROWSEINFOW* = ptr BROWSEINFOW LPBROWSEINFOW* = ptr BROWSEINFOW IThumbnailCapture* {.pure.} = object lpVtbl*: ptr IThumbnailCaptureVtbl IThumbnailCaptureVtbl* {.pure, inheritable.} = object of IUnknownVtbl CaptureThumbnail*: proc(self: ptr IThumbnailCapture, pMaxSize: ptr SIZE, pHTMLDoc2: ptr IUnknown, phbmThumbnail: ptr HBITMAP): HRESULT {.stdcall.} LPTHUMBNAILCAPTURE* = ptr IThumbnailCapture ENUMSHELLIMAGESTOREDATA* {.pure.} = object szPath*: array[MAX_PATH, WCHAR] ftTimeStamp*: FILETIME PENUMSHELLIMAGESTOREDATA* = ptr ENUMSHELLIMAGESTOREDATA IEnumShellImageStore* {.pure.} = object lpVtbl*: ptr IEnumShellImageStoreVtbl IEnumShellImageStoreVtbl* {.pure, inheritable.} = object of IUnknownVtbl Reset*: proc(self: ptr IEnumShellImageStore): HRESULT {.stdcall.} Next*: proc(self: ptr IEnumShellImageStore, celt: ULONG, prgElt: ptr PENUMSHELLIMAGESTOREDATA, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumShellImageStore, celt: ULONG): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumShellImageStore, ppEnum: ptr ptr IEnumShellImageStore): HRESULT {.stdcall.} LPENUMSHELLIMAGESTORE* = ptr IEnumShellImageStore IShellImageStore* {.pure.} = object lpVtbl*: ptr IShellImageStoreVtbl IShellImageStoreVtbl* {.pure, inheritable.} = object of IUnknownVtbl Open*: proc(self: ptr IShellImageStore, dwMode: DWORD, pdwLock: ptr DWORD): HRESULT {.stdcall.} Create*: proc(self: ptr IShellImageStore, dwMode: DWORD, pdwLock: ptr DWORD): HRESULT {.stdcall.} ReleaseLock*: proc(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.stdcall.} Close*: proc(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.stdcall.} Commit*: proc(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.stdcall.} IsLocked*: proc(self: ptr IShellImageStore): HRESULT {.stdcall.} GetMode*: proc(self: ptr IShellImageStore, pdwMode: ptr DWORD): HRESULT {.stdcall.} GetCapabilities*: proc(self: ptr IShellImageStore, pdwCapMask: ptr DWORD): HRESULT {.stdcall.} AddEntry*: proc(self: ptr IShellImageStore, pszName: PCWSTR, pftTimeStamp: ptr FILETIME, dwMode: DWORD, hImage: HBITMAP): HRESULT {.stdcall.} GetEntry*: proc(self: ptr IShellImageStore, pszName: PCWSTR, dwMode: DWORD, phImage: ptr HBITMAP): HRESULT {.stdcall.} DeleteEntry*: proc(self: ptr IShellImageStore, pszName: PCWSTR): HRESULT {.stdcall.} IsEntryInStore*: proc(self: ptr IShellImageStore, pszName: PCWSTR, pftTimeStamp: ptr FILETIME): HRESULT {.stdcall.} Enum*: proc(self: ptr IShellImageStore, ppEnum: ptr LPENUMSHELLIMAGESTORE): HRESULT {.stdcall.} LPSHELLIMAGESTORE* = ptr IShellImageStore BANDINFOSFB* {.pure.} = object dwMask*: DWORD dwStateMask*: DWORD dwState*: DWORD crBkgnd*: COLORREF crBtnLt*: COLORREF crBtnDk*: COLORREF wViewMode*: WORD wAlign*: WORD psf*: ptr IShellFolder pidl*: PIDLIST_ABSOLUTE PBANDINFOSFB* = ptr BANDINFOSFB WALLPAPEROPT* {.pure.} = object dwSize*: DWORD dwStyle*: DWORD LPWALLPAPEROPT* = ptr WALLPAPEROPT LPCWALLPAPEROPT* = ptr WALLPAPEROPT COMPONENTSOPT* {.pure.} = object dwSize*: DWORD fEnableComponents*: WINBOOL fActiveDesktop*: WINBOOL LPCOMPONENTSOPT* = ptr COMPONENTSOPT LPCCOMPONENTSOPT* = ptr COMPONENTSOPT COMPPOS* {.pure.} = object dwSize*: DWORD iLeft*: int32 iTop*: int32 dwWidth*: DWORD dwHeight*: DWORD izIndex*: int32 fCanResize*: WINBOOL fCanResizeX*: WINBOOL fCanResizeY*: WINBOOL iPreferredLeftPercent*: int32 iPreferredTopPercent*: int32 LPCOMPPOS* = ptr COMPPOS LPCCOMPPOS* = ptr COMPPOS COMPSTATEINFO* {.pure.} = object dwSize*: DWORD iLeft*: int32 iTop*: int32 dwWidth*: DWORD dwHeight*: DWORD dwItemState*: DWORD LPCOMPSTATEINFO* = ptr COMPSTATEINFO LPCCOMPSTATEINFO* = ptr COMPSTATEINFO IE4COMPONENT* {.pure.} = object dwSize*: DWORD dwID*: DWORD iComponentType*: int32 fChecked*: WINBOOL fDirty*: WINBOOL fNoScroll*: WINBOOL cpPos*: COMPPOS wszFriendlyName*: array[MAX_PATH, WCHAR] wszSource*: array[2084, WCHAR] wszSubscribedURL*: array[2084, WCHAR] LPIE4COMPONENT* = ptr IE4COMPONENT LPCIE4COMPONENT* = ptr IE4COMPONENT COMPONENT* {.pure.} = object dwSize*: DWORD dwID*: DWORD iComponentType*: int32 fChecked*: WINBOOL fDirty*: WINBOOL fNoScroll*: WINBOOL cpPos*: COMPPOS wszFriendlyName*: array[MAX_PATH, WCHAR] wszSource*: array[2084, WCHAR] wszSubscribedURL*: array[2084, WCHAR] dwCurItemState*: DWORD csiOriginal*: COMPSTATEINFO csiRestored*: COMPSTATEINFO LPCOMPONENT* = ptr COMPONENT LPCCOMPONENT* = ptr COMPONENT IActiveDesktop* {.pure.} = object lpVtbl*: ptr IActiveDesktopVtbl IActiveDesktopVtbl* {.pure, inheritable.} = object of IUnknownVtbl ApplyChanges*: proc(self: ptr IActiveDesktop, dwFlags: DWORD): HRESULT {.stdcall.} GetWallpaper*: proc(self: ptr IActiveDesktop, pwszWallpaper: PWSTR, cchWallpaper: UINT, dwFlags: DWORD): HRESULT {.stdcall.} SetWallpaper*: proc(self: ptr IActiveDesktop, pwszWallpaper: PCWSTR, dwReserved: DWORD): HRESULT {.stdcall.} GetWallpaperOptions*: proc(self: ptr IActiveDesktop, pwpo: LPWALLPAPEROPT, dwReserved: DWORD): HRESULT {.stdcall.} SetWallpaperOptions*: proc(self: ptr IActiveDesktop, pwpo: LPCWALLPAPEROPT, dwReserved: DWORD): HRESULT {.stdcall.} GetPattern*: proc(self: ptr IActiveDesktop, pwszPattern: PWSTR, cchPattern: UINT, dwReserved: DWORD): HRESULT {.stdcall.} SetPattern*: proc(self: ptr IActiveDesktop, pwszPattern: PCWSTR, dwReserved: DWORD): HRESULT {.stdcall.} GetDesktopItemOptions*: proc(self: ptr IActiveDesktop, pco: LPCOMPONENTSOPT, dwReserved: DWORD): HRESULT {.stdcall.} SetDesktopItemOptions*: proc(self: ptr IActiveDesktop, pco: LPCCOMPONENTSOPT, dwReserved: DWORD): HRESULT {.stdcall.} AddDesktopItem*: proc(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} AddDesktopItemWithUI*: proc(self: ptr IActiveDesktop, hwnd: HWND, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} ModifyDesktopItem*: proc(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwFlags: DWORD): HRESULT {.stdcall.} RemoveDesktopItem*: proc(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} GetDesktopItemCount*: proc(self: ptr IActiveDesktop, pcItems: ptr int32, dwReserved: DWORD): HRESULT {.stdcall.} GetDesktopItem*: proc(self: ptr IActiveDesktop, nComponent: int32, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} GetDesktopItemByID*: proc(self: ptr IActiveDesktop, dwID: ULONG_PTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} GenerateDesktopItemHtml*: proc(self: ptr IActiveDesktop, pwszFileName: PCWSTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} AddUrl*: proc(self: ptr IActiveDesktop, hwnd: HWND, pszSource: PCWSTR, pcomp: LPCOMPONENT, dwFlags: DWORD): HRESULT {.stdcall.} GetDesktopItemBySource*: proc(self: ptr IActiveDesktop, pwszSource: PCWSTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.stdcall.} LPACTIVEDESKTOP* = ptr IActiveDesktop IActiveDesktopP* {.pure.} = object lpVtbl*: ptr IActiveDesktopPVtbl IActiveDesktopPVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetSafeMode*: proc(self: ptr IActiveDesktopP, dwFlags: DWORD): HRESULT {.stdcall.} EnsureUpdateHTML*: proc(self: ptr IActiveDesktopP): HRESULT {.stdcall.} SetScheme*: proc(self: ptr IActiveDesktopP, pwszSchemeName: PCWSTR, dwFlags: DWORD): HRESULT {.stdcall.} GetScheme*: proc(self: ptr IActiveDesktopP, pwszSchemeName: PWSTR, pdwcchBuffer: ptr DWORD, dwFlags: DWORD): HRESULT {.stdcall.} LPACTIVEDESKTOPP* = ptr IActiveDesktopP IADesktopP2* {.pure.} = object lpVtbl*: ptr IADesktopP2Vtbl IADesktopP2Vtbl* {.pure, inheritable.} = object of IUnknownVtbl ReReadWallpaper*: proc(self: ptr IADesktopP2): HRESULT {.stdcall.} GetADObjectFlags*: proc(self: ptr IADesktopP2, pdwFlags: ptr DWORD, dwMask: DWORD): HRESULT {.stdcall.} UpdateAllDesktopSubscriptions*: proc(self: ptr IADesktopP2): HRESULT {.stdcall.} MakeDynamicChanges*: proc(self: ptr IADesktopP2, pOleObj: ptr IOleObject): HRESULT {.stdcall.} LPADESKTOPP2* = ptr IADesktopP2 const MAX_COLUMN_NAME_LEN* = 80 MAX_COLUMN_DESC_LEN* = 128 type SHCOLUMNINFO* {.pure, packed.} = object scid*: SHCOLUMNID vt*: VARTYPE fmt*: DWORD cChars*: UINT csFlags*: DWORD wszTitle*: array[MAX_COLUMN_NAME_LEN, WCHAR] wszDescription*: array[MAX_COLUMN_DESC_LEN, WCHAR] LPSHCOLUMNINFO* = ptr SHCOLUMNINFO LPCSHCOLUMNINFO* = ptr SHCOLUMNINFO SHCOLUMNINIT* {.pure.} = object dwFlags*: ULONG dwReserved*: ULONG wszFolder*: array[MAX_PATH, WCHAR] LPSHCOLUMNINIT* = ptr SHCOLUMNINIT LPCSHCOLUMNINIT* = ptr SHCOLUMNINIT SHCOLUMNDATA* {.pure.} = object dwFlags*: ULONG dwFileAttributes*: DWORD dwReserved*: ULONG pwszExt*: ptr WCHAR wszFile*: array[MAX_PATH, WCHAR] LPSHCOLUMNDATA* = ptr SHCOLUMNDATA LPCSHCOLUMNDATA* = ptr SHCOLUMNDATA NRESARRAY* {.pure.} = object cItems*: UINT nr*: array[1, NETRESOURCE] LPNRESARRAY* = ptr NRESARRAY CIDA* {.pure.} = object cidl*: UINT aoffset*: array[1, UINT] LPIDA* = ptr CIDA FILEDESCRIPTORA* {.pure.} = object dwFlags*: DWORD clsid*: CLSID sizel*: SIZEL pointl*: POINTL dwFileAttributes*: DWORD ftCreationTime*: FILETIME ftLastAccessTime*: FILETIME ftLastWriteTime*: FILETIME nFileSizeHigh*: DWORD nFileSizeLow*: DWORD cFileName*: array[MAX_PATH, CHAR] LPFILEDESCRIPTORA* = ptr FILEDESCRIPTORA FILEDESCRIPTORW* {.pure.} = object dwFlags*: DWORD clsid*: CLSID sizel*: SIZEL pointl*: POINTL dwFileAttributes*: DWORD ftCreationTime*: FILETIME ftLastAccessTime*: FILETIME ftLastWriteTime*: FILETIME nFileSizeHigh*: DWORD nFileSizeLow*: DWORD cFileName*: array[MAX_PATH, WCHAR] LPFILEDESCRIPTORW* = ptr FILEDESCRIPTORW FILEGROUPDESCRIPTORA* {.pure.} = object cItems*: UINT fgd*: array[1, FILEDESCRIPTORA] LPFILEGROUPDESCRIPTORA* = ptr FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTORW* {.pure.} = object cItems*: UINT fgd*: array[1, FILEDESCRIPTORW] LPFILEGROUPDESCRIPTORW* = ptr FILEGROUPDESCRIPTORW DROPFILES* {.pure.} = object pFiles*: DWORD pt*: POINT fNC*: WINBOOL fWide*: WINBOOL LPDROPFILES* = ptr DROPFILES SHChangeDWORDAsIDList* {.pure, packed.} = object cb*: USHORT dwItem1*: DWORD dwItem2*: DWORD cbZero*: USHORT LPSHChangeDWORDAsIDList* = ptr SHChangeDWORDAsIDList SHChangeUpdateImageIDList* {.pure, packed.} = object cb*: USHORT iIconIndex*: int32 iCurIndex*: int32 uFlags*: UINT dwProcessID*: DWORD szName*: array[MAX_PATH, WCHAR] cbZero*: USHORT LPSHChangeUpdateImageIDList* = ptr SHChangeUpdateImageIDList SHChangeProductKeyAsIDList* {.pure.} = object cb*: USHORT wszProductKey*: array[39, WCHAR] cbZero*: USHORT LPSHChangeProductKeyAsIDList* = ptr SHChangeProductKeyAsIDList SHDESCRIPTIONID* {.pure.} = object dwDescriptionId*: DWORD clsid*: CLSID LPSHDESCRIPTIONID* = ptr SHDESCRIPTIONID CABINETSTATE* {.pure.} = object cLength*: WORD nVersion*: WORD fFullPathTitle* {.bitsize:1.}: WINBOOL fSaveLocalView* {.bitsize:1.}: WINBOOL fNotShell* {.bitsize:1.}: WINBOOL fSimpleDefault* {.bitsize:1.}: WINBOOL fDontShowDescBar* {.bitsize:1.}: WINBOOL fNewWindowMode* {.bitsize:1.}: WINBOOL fShowCompColor* {.bitsize:1.}: WINBOOL fDontPrettyNames* {.bitsize:1.}: WINBOOL fAdminsCreateCommonGroups* {.bitsize:1.}: WINBOOL fUnusedFlags* {.bitsize:7.}: UINT fMenuEnumFilter*: UINT LPCABINETSTATE* = ptr CABINETSTATE OPENASINFO* {.pure.} = object pcszFile*: LPCWSTR pcszClass*: LPCWSTR oaifInFlags*: OPEN_AS_INFO_FLAGS POPENASINFO* = ptr OPENASINFO const PIFNAMESIZE* = 30 PIFSTARTLOCSIZE* = 63 PIFPARAMSSIZE* = 64 PIFDEFPATHSIZE* = 64 PIFDEFFILESIZE* = 80 PIFMAXFILEPATH* = 260 type PROPPRG* {.pure, packed.} = object flPrg*: WORD flPrgInit*: WORD achTitle*: array[PIFNAMESIZE, CHAR] achCmdLine*: array[PIFSTARTLOCSIZE+PIFPARAMSSIZE+1, CHAR] achWorkDir*: array[PIFDEFPATHSIZE, CHAR] wHotKey*: WORD achIconFile*: array[PIFDEFFILESIZE, CHAR] wIconIndex*: WORD dwEnhModeFlags*: DWORD dwRealModeFlags*: DWORD achOtherFile*: array[PIFDEFFILESIZE, CHAR] achPIFFile*: array[PIFMAXFILEPATH, CHAR] PPROPPRG* = ptr PROPPRG LPPROPPRG* = ptr PROPPRG LPCPROPPRG* = ptr PROPPRG QCMINFO_IDMAP_PLACEMENT* {.pure.} = object id*: UINT fFlags*: UINT QCMINFO_IDMAP* {.pure.} = object nMaxIds*: UINT pIdList*: array[1, QCMINFO_IDMAP_PLACEMENT] QCMINFO* {.pure.} = object hmenu*: HMENU indexMenu*: UINT idCmdFirst*: UINT idCmdLast*: UINT pIdMap*: ptr QCMINFO_IDMAP LPQCMINFO* = ptr QCMINFO TBINFO* {.pure.} = object cbuttons*: UINT uFlags*: UINT LPTBINFO* = ptr TBINFO DETAILSINFO* {.pure.} = object pidl*: PCUITEMID_CHILD fmt*: int32 cxChar*: int32 str*: STRRET iImage*: int32 PDETAILSINFO* = ptr DETAILSINFO DFMICS* {.pure.} = object cbSize*: DWORD fMask*: DWORD lParam*: LPARAM idCmdFirst*: UINT idDefMax*: UINT pici*: LPCMINVOKECOMMANDINFO punkSite*: ptr IUnknown PDFMICS* = ptr DFMICS LPFNVIEWCALLBACK* = proc (psvOuter: ptr IShellView, psf: ptr IShellFolder, hwndMain: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} CSFV* {.pure.} = object cbSize*: UINT pshf*: ptr IShellFolder psvOuter*: ptr IShellView pidl*: PCIDLIST_ABSOLUTE lEvents*: LONG pfnCallback*: LPFNVIEWCALLBACK fvm*: FOLDERVIEWMODE LPCSFV* = ptr CSFV SFV_SETITEMPOS* {.pure.} = object pidl*: PCUITEMID_CHILD pt*: POINT LPSFV_SETITEMPOS* = ptr SFV_SETITEMPOS PCSFV_SETITEMPOS* = ptr SFV_SETITEMPOS SHELLSTATEA* {.pure, packed.} = object fShowAllObjects* {.bitsize:1.}: WINBOOL fShowExtensions* {.bitsize:1.}: WINBOOL fNoConfirmRecycle* {.bitsize:1.}: WINBOOL fShowSysFiles* {.bitsize:1.}: WINBOOL fShowCompColor* {.bitsize:1.}: WINBOOL fDoubleClickInWebView* {.bitsize:1.}: WINBOOL fDesktopHTML* {.bitsize:1.}: WINBOOL fWin95Classic* {.bitsize:1.}: WINBOOL fDontPrettyPath* {.bitsize:1.}: WINBOOL fShowAttribCol* {.bitsize:1.}: WINBOOL fMapNetDrvBtn* {.bitsize:1.}: WINBOOL fShowInfoTip* {.bitsize:1.}: WINBOOL fHideIcons* {.bitsize:1.}: WINBOOL fWebView* {.bitsize:1.}: WINBOOL fFilter* {.bitsize:1.}: WINBOOL fShowSuperHidden* {.bitsize:1.}: WINBOOL fNoNetCrawling* {.bitsize:1.}: WINBOOL dwWin95Unused*: DWORD uWin95Unused*: UINT lParamSort*: LONG iSortDirection*: int32 version*: UINT uNotUsed*: UINT fSepProcess* {.bitsize:1.}: WINBOOL fStartPanelOn* {.bitsize:1.}: WINBOOL fShowStartPage* {.bitsize:1.}: WINBOOL fAutoCheckSelect* {.bitsize:1.}: WINBOOL fIconsOnly* {.bitsize:1.}: WINBOOL fShowTypeOverlay* {.bitsize:1.}: WINBOOL fShowStatusBar* {.bitsize:1.}: WINBOOL fSpareFlags* {.bitsize:9.}: UINT padding*: array[2, byte] LPSHELLSTATEA* = ptr SHELLSTATEA SHELLSTATEW* {.pure, packed.} = object fShowAllObjects* {.bitsize:1.}: WINBOOL fShowExtensions* {.bitsize:1.}: WINBOOL fNoConfirmRecycle* {.bitsize:1.}: WINBOOL fShowSysFiles* {.bitsize:1.}: WINBOOL fShowCompColor* {.bitsize:1.}: WINBOOL fDoubleClickInWebView* {.bitsize:1.}: WINBOOL fDesktopHTML* {.bitsize:1.}: WINBOOL fWin95Classic* {.bitsize:1.}: WINBOOL fDontPrettyPath* {.bitsize:1.}: WINBOOL fShowAttribCol* {.bitsize:1.}: WINBOOL fMapNetDrvBtn* {.bitsize:1.}: WINBOOL fShowInfoTip* {.bitsize:1.}: WINBOOL fHideIcons* {.bitsize:1.}: WINBOOL fWebView* {.bitsize:1.}: WINBOOL fFilter* {.bitsize:1.}: WINBOOL fShowSuperHidden* {.bitsize:1.}: WINBOOL fNoNetCrawling* {.bitsize:1.}: WINBOOL dwWin95Unused*: DWORD uWin95Unused*: UINT lParamSort*: LONG iSortDirection*: int32 version*: UINT uNotUsed*: UINT fSepProcess* {.bitsize:1.}: WINBOOL fStartPanelOn* {.bitsize:1.}: WINBOOL fShowStartPage* {.bitsize:1.}: WINBOOL fAutoCheckSelect* {.bitsize:1.}: WINBOOL fIconsOnly* {.bitsize:1.}: WINBOOL fShowTypeOverlay* {.bitsize:1.}: WINBOOL fShowStatusBar* {.bitsize:1.}: WINBOOL fSpareFlags* {.bitsize:9.}: UINT padding*: array[2, byte] LPSHELLSTATEW* = ptr SHELLSTATEW SHELLFLAGSTATE* {.pure.} = object fShowAllObjects* {.bitsize:1.}: WINBOOL fShowExtensions* {.bitsize:1.}: WINBOOL fNoConfirmRecycle* {.bitsize:1.}: WINBOOL fShowSysFiles* {.bitsize:1.}: WINBOOL fShowCompColor* {.bitsize:1.}: WINBOOL fDoubleClickInWebView* {.bitsize:1.}: WINBOOL fDesktopHTML* {.bitsize:1.}: WINBOOL fWin95Classic* {.bitsize:1.}: WINBOOL fDontPrettyPath* {.bitsize:1.}: WINBOOL fShowAttribCol* {.bitsize:1.}: WINBOOL fMapNetDrvBtn* {.bitsize:1.}: WINBOOL fShowInfoTip* {.bitsize:1.}: WINBOOL fHideIcons* {.bitsize:1.}: WINBOOL fAutoCheckSelect* {.bitsize:1.}: WINBOOL fIconsOnly* {.bitsize:1.}: WINBOOL fRestFlags* {.bitsize:1.}: UINT LPSHELLFLAGSTATE* = ptr SHELLFLAGSTATE AASHELLMENUFILENAME* {.pure.} = object cbTotal*: SHORT rgbReserved*: array[12, BYTE] szFileName*: array[1, WCHAR] LPAASHELLMENUFILENAME* = ptr AASHELLMENUFILENAME AASHELLMENUITEM* {.pure.} = object lpReserved1*: pointer iReserved*: int32 uiReserved*: UINT lpName*: LPAASHELLMENUFILENAME psz*: LPWSTR LPAASHELLMENUITEM* = ptr AASHELLMENUITEM SMCSHCHANGENOTIFYSTRUCT* {.pure.} = object lEvent*: LONG pidl1*: PCIDLIST_ABSOLUTE pidl2*: PCIDLIST_ABSOLUTE PSMCSHCHANGENOTIFYSTRUCT* = ptr SMCSHCHANGENOTIFYSTRUCT const ABM_NEW* = 0x00000000 ABM_REMOVE* = 0x00000001 ABM_QUERYPOS* = 0x00000002 ABM_SETPOS* = 0x00000003 ABM_GETSTATE* = 0x00000004 ABM_GETTASKBARPOS* = 0x00000005 ABM_ACTIVATE* = 0x00000006 ABM_GETAUTOHIDEBAR* = 0x00000007 ABM_SETAUTOHIDEBAR* = 0x00000008 ABM_WINDOWPOSCHANGED* = 0x0000009 ABM_SETSTATE* = 0x0000000a ABM_GETAUTOHIDEBAREX* = 0x0000000b ABM_SETAUTOHIDEBAREX* = 0x0000000c ABN_STATECHANGE* = 0x0000000 ABN_POSCHANGED* = 0x0000001 ABN_FULLSCREENAPP* = 0x0000002 ABN_WINDOWARRANGE* = 0x0000003 ABS_AUTOHIDE* = 0x0000001 ABS_ALWAYSONTOP* = 0x0000002 ABE_LEFT* = 0 ABE_TOP* = 1 ABE_RIGHT* = 2 ABE_BOTTOM* = 3 FO_MOVE* = 0x1 FO_COPY* = 0x2 FO_DELETE* = 0x3 FO_RENAME* = 0x4 FOF_MULTIDESTFILES* = 0x1 FOF_CONFIRMMOUSE* = 0x2 FOF_SILENT* = 0x4 FOF_RENAMEONCOLLISION* = 0x8 FOF_NOCONFIRMATION* = 0x10 FOF_WANTMAPPINGHANDLE* = 0x20 FOF_ALLOWUNDO* = 0x40 FOF_FILESONLY* = 0x80 FOF_SIMPLEPROGRESS* = 0x100 FOF_NOCONFIRMMKDIR* = 0x200 FOF_NOERRORUI* = 0x400 FOF_NOCOPYSECURITYATTRIBS* = 0x800 FOF_NORECURSION* = 0x1000 FOF_NO_CONNECTED_ELEMENTS* = 0x2000 FOF_WANTNUKEWARNING* = 0x4000 FOF_NORECURSEREPARSE* = 0x8000 FOF_NO_UI* = FOF_SILENT or FOF_NOCONFIRMATION or FOF_NOERRORUI or FOF_NOCONFIRMMKDIR PO_DELETE* = 0x0013 PO_RENAME* = 0x0014 PO_PORTCHANGE* = 0x0020 PO_REN_PORT* = 0x0034 SE_ERR_FNF* = 2 SE_ERR_PNF* = 3 SE_ERR_ACCESSDENIED* = 5 SE_ERR_OOM* = 8 SE_ERR_DLLNOTFOUND* = 32 SE_ERR_SHARE* = 26 SE_ERR_ASSOCINCOMPLETE* = 27 SE_ERR_DDETIMEOUT* = 28 SE_ERR_DDEFAIL* = 29 SE_ERR_DDEBUSY* = 30 SE_ERR_NOASSOC* = 31 SEE_MASK_DEFAULT* = 0x0 SEE_MASK_CLASSNAME* = 0x1 SEE_MASK_CLASSKEY* = 0x3 SEE_MASK_IDLIST* = 0x4 SEE_MASK_INVOKEIDLIST* = 0xc SEE_MASK_ICON* = 0x10 SEE_MASK_HOTKEY* = 0x20 SEE_MASK_NOCLOSEPROCESS* = 0x40 SEE_MASK_CONNECTNETDRV* = 0x80 SEE_MASK_NOASYNC* = 0x100 SEE_MASK_FLAG_DDEWAIT* = SEE_MASK_NOASYNC SEE_MASK_DOENVSUBST* = 0x200 SEE_MASK_FLAG_NO_UI* = 0x400 SEE_MASK_UNICODE* = 0x4000 SEE_MASK_NO_CONSOLE* = 0x8000 SEE_MASK_ASYNCOK* = 0x100000 SEE_MASK_HMONITOR* = 0x200000 SEE_MASK_NOZONECHECKS* = 0x800000 SEE_MASK_NOQUERYCLASSSTORE* = 0x1000000 SEE_MASK_WAITFORINPUTIDLE* = 0x2000000 SEE_MASK_FLAG_LOG_USAGE* = 0x4000000 SEE_MASK_FLAG_HINST_IS_SITE* = 0x8000000 ASSOCCLASS_SHELL_KEY* = 0 ASSOCCLASS_PROGID_KEY* = 1 ASSOCCLASS_PROGID_STR* = 2 ASSOCCLASS_CLSID_KEY* = 3 ASSOCCLASS_CLSID_STR* = 4 ASSOCCLASS_APP_KEY* = 5 ASSOCCLASS_APP_STR* = 6 ASSOCCLASS_SYSTEM_STR* = 7 ASSOCCLASS_FOLDER* = 8 ASSOCCLASS_STAR* = 9 ASSOCCLASS_FIXED_PROGID_STR* = 10 ASSOCCLASS_PROTOCOL_STR* = 11 SHERB_NOCONFIRMATION* = 0x00000001 SHERB_NOPROGRESSUI* = 0x00000002 SHERB_NOSOUND* = 0x00000004 QUNS_NOT_PRESENT* = 1 QUNS_BUSY* = 2 QUNS_RUNNING_D3D_FULL_SCREEN* = 3 QUNS_PRESENTATION_MODE* = 4 QUNS_ACCEPTS_NOTIFICATIONS* = 5 QUNS_QUIET_TIME* = 6 QUNS_APP* = 7 NIN_SELECT* = WM_USER+0 NINF_KEY* = 0x1 NIN_KEYSELECT* = NIN_SELECT or NINF_KEY NIN_BALLOONSHOW* = WM_USER+2 NIN_BALLOONHIDE* = WM_USER+3 NIN_BALLOONTIMEOUT* = WM_USER+4 NIN_BALLOONUSERCLICK* = WM_USER+5 NIN_POPUPOPEN* = WM_USER+6 NIN_POPUPCLOSE* = WM_USER+7 NIM_ADD* = 0x00000000 NIM_MODIFY* = 0x00000001 NIM_DELETE* = 0x00000002 NIM_SETFOCUS* = 0x00000003 NIM_SETVERSION* = 0x00000004 NOTIFYICON_VERSION* = 3 NOTIFYICON_VERSION_4* = 4 NIF_MESSAGE* = 0x00000001 NIF_ICON* = 0x00000002 NIF_TIP* = 0x00000004 NIF_STATE* = 0x00000008 NIF_INFO* = 0x00000010 NIF_GUID* = 0x00000020 NIF_REALTIME* = 0x00000040 NIF_SHOWTIP* = 0x00000080 NIS_HIDDEN* = 0x00000001 NIS_SHAREDICON* = 0x00000002 NIIF_NONE* = 0x00000000 NIIF_INFO* = 0x00000001 NIIF_WARNING* = 0x00000002 NIIF_ERROR* = 0x00000003 NIIF_USER* = 0x00000004 NIIF_ICON_MASK* = 0x0000000f NIIF_NOSOUND* = 0x00000010 NIIF_LARGE_ICON* = 0x00000020 NIIF_RESPECT_QUIET_TIME* = 0x00000080 SHGFI_ICON* = 0x000000100 SHGFI_DISPLAYNAME* = 0x000000200 SHGFI_TYPENAME* = 0x000000400 SHGFI_ATTRIBUTES* = 0x000000800 SHGFI_ICONLOCATION* = 0x000001000 SHGFI_EXETYPE* = 0x000002000 SHGFI_SYSICONINDEX* = 0x000004000 SHGFI_LINKOVERLAY* = 0x000008000 SHGFI_SELECTED* = 0x000010000 SHGFI_ATTR_SPECIFIED* = 0x000020000 SHGFI_LARGEICON* = 0x000000000 SHGFI_SMALLICON* = 0x000000001 SHGFI_OPENICON* = 0x000000002 SHGFI_SHELLICONSIZE* = 0x000000004 SHGFI_PIDL* = 0x000000008 SHGFI_USEFILEATTRIBUTES* = 0x000000010 SHGFI_ADDOVERLAYS* = 0x000000020 SHGFI_OVERLAYINDEX* = 0x000000040 SHGSI_ICONLOCATION* = 0 SHGSI_ICON* = SHGFI_ICON SHGSI_SYSICONINDEX* = SHGFI_SYSICONINDEX SHGSI_LINKOVERLAY* = SHGFI_LINKOVERLAY SHGSI_SELECTED* = SHGFI_SELECTED SHGSI_LARGEICON* = SHGFI_LARGEICON SHGSI_SMALLICON* = SHGFI_SMALLICON SHGSI_SHELLICONSIZE* = SHGFI_SHELLICONSIZE SIID_DOCNOASSOC* = 0 SIID_DOCASSOC* = 1 SIID_APPLICATION* = 2 SIID_FOLDER* = 3 SIID_FOLDEROPEN* = 4 SIID_DRIVE525* = 5 SIID_DRIVE35* = 6 SIID_DRIVEREMOVE* = 7 SIID_DRIVEFIXED* = 8 SIID_DRIVENET* = 9 SIID_DRIVENETDISABLED* = 10 SIID_DRIVECD* = 11 SIID_DRIVERAM* = 12 SIID_WORLD* = 13 SIID_SERVER* = 15 SIID_PRINTER* = 16 SIID_MYNETWORK* = 17 SIID_FIND* = 22 SIID_HELP* = 23 SIID_SHARE* = 28 SIID_LINK* = 29 SIID_SLOWFILE* = 30 SIID_RECYCLER* = 31 SIID_RECYCLERFULL* = 32 SIID_MEDIACDAUDIO* = 40 SIID_LOCK* = 47 SIID_AUTOLIST* = 49 SIID_PRINTERNET* = 50 SIID_SERVERSHARE* = 51 SIID_PRINTERFAX* = 52 SIID_PRINTERFAXNET* = 53 SIID_PRINTERFILE* = 54 SIID_STACK* = 55 SIID_MEDIASVCD* = 56 SIID_STUFFEDFOLDER* = 57 SIID_DRIVEUNKNOWN* = 58 SIID_DRIVEDVD* = 59 SIID_MEDIADVD* = 60 SIID_MEDIADVDRAM* = 61 SIID_MEDIADVDRW* = 62 SIID_MEDIADVDR* = 63 SIID_MEDIADVDROM* = 64 SIID_MEDIACDAUDIOPLUS* = 65 SIID_MEDIACDRW* = 66 SIID_MEDIACDR* = 67 SIID_MEDIACDBURN* = 68 SIID_MEDIABLANKCD* = 69 SIID_MEDIACDROM* = 70 SIID_AUDIOFILES* = 71 SIID_IMAGEFILES* = 72 SIID_VIDEOFILES* = 73 SIID_MIXEDFILES* = 74 SIID_FOLDERBACK* = 75 SIID_FOLDERFRONT* = 76 SIID_SHIELD* = 77 SIID_WARNING* = 78 SIID_INFO* = 79 SIID_ERROR* = 80 SIID_KEY* = 81 SIID_SOFTWARE* = 82 SIID_RENAME* = 83 SIID_DELETE* = 84 SIID_MEDIAAUDIODVD* = 85 SIID_MEDIAMOVIEDVD* = 86 SIID_MEDIAENHANCEDCD* = 87 SIID_MEDIAENHANCEDDVD* = 88 SIID_MEDIAHDDVD* = 89 SIID_MEDIABLURAY* = 90 SIID_MEDIAVCD* = 91 SIID_MEDIADVDPLUSR* = 92 SIID_MEDIADVDPLUSRW* = 93 SIID_DESKTOPPC* = 94 SIID_MOBILEPC* = 95 SIID_USERS* = 96 SIID_MEDIASMARTMEDIA* = 97 SIID_MEDIACOMPACTFLASH* = 98 SIID_DEVICECELLPHONE* = 99 SIID_DEVICECAMERA* = 100 SIID_DEVICEVIDEOCAMERA* = 101 SIID_DEVICEAUDIOPLAYER* = 102 SIID_NETWORKCONNECT* = 103 SIID_INTERNET* = 104 SIID_ZIPFILE* = 105 SIID_SETTINGS* = 106 SIID_DRIVEHDDVD* = 132 SIID_DRIVEBD* = 133 SIID_MEDIAHDDVDROM* = 134 SIID_MEDIAHDDVDR* = 135 SIID_MEDIAHDDVDRAM* = 136 SIID_MEDIABDROM* = 137 SIID_MEDIABDR* = 138 SIID_MEDIABDRE* = 139 SIID_CLUSTEREDDRIVE* = 140 SIID_MAX_ICONS* = 175 SIID_INVALID* = SHSTOCKICONID(-1) SHGNLI_PIDL* = 0x000000001 SHGNLI_PREFIXNAME* = 0x000000002 SHGNLI_NOUNIQUE* = 0x000000004 SHGNLI_NOLNK* = 0x000000008 SHGNLI_NOLOCNAME* = 0x000000010 SHGNLI_USEURLEXT* = 0x000000020 PRINTACTION_OPEN* = 0 PRINTACTION_PROPERTIES* = 1 PRINTACTION_NETINSTALL* = 2 PRINTACTION_NETINSTALLLINK* = 3 PRINTACTION_TESTPAGE* = 4 PRINTACTION_OPENNETPRN* = 5 PRINTACTION_DOCUMENTDEFAULTS* = 6 PRINTACTION_SERVERPROPERTIES* = 7 PRINT_PROP_FORCE_NAME* = 0x01 OFFLINE_STATUS_LOCAL* = 0x0001 OFFLINE_STATUS_REMOTE* = 0x0002 OFFLINE_STATUS_INCOMPLETE* = 0x0004 SHIL_LARGE* = 0 SHIL_SMALL* = 1 SHIL_EXTRALARGE* = 2 SHIL_SYSSMALL* = 3 SHIL_JUMBO* = 4 SHIL_LAST* = SHIL_JUMBO WC_NETADDRESS* = "msctls_netaddress" NCM_GETADDRESS* = WM_USER+1 NCM_SETALLOWTYPE* = WM_USER+2 NCM_GETALLOWTYPE* = WM_USER+3 NCM_DISPLAYERRORTIP* = WM_USER+4 SZ_CONTENTTYPE_HTMLA* = "text/html" SZ_CONTENTTYPE_HTMLW* = "text/html" SZ_CONTENTTYPE_CDFA* = "application/x-cdf" SZ_CONTENTTYPE_CDFW* = "application/x-cdf" STIF_DEFAULT* = 0x00000000 STIF_SUPPORT_HEX* = 0x00000001 GCT_INVALID* = 0x0000 GCT_LFNCHAR* = 0x0001 GCT_SHORTCHAR* = 0x0002 GCT_WILD* = 0x0004 GCT_SEPARATOR* = 0x0008 URL_SCHEME_INVALID* = -1 URL_SCHEME_UNKNOWN* = 0 URL_SCHEME_FTP* = 1 URL_SCHEME_HTTP* = 2 URL_SCHEME_GOPHER* = 3 URL_SCHEME_MAILTO* = 4 URL_SCHEME_NEWS* = 5 URL_SCHEME_NNTP* = 6 URL_SCHEME_TELNET* = 7 URL_SCHEME_WAIS* = 8 URL_SCHEME_FILE* = 9 URL_SCHEME_MK* = 10 URL_SCHEME_HTTPS* = 11 URL_SCHEME_SHELL* = 12 URL_SCHEME_SNEWS* = 13 URL_SCHEME_LOCAL* = 14 URL_SCHEME_JAVASCRIPT* = 15 URL_SCHEME_VBSCRIPT* = 16 URL_SCHEME_ABOUT* = 17 URL_SCHEME_RES* = 18 URL_SCHEME_MSSHELLROOTED* = 19 URL_SCHEME_MSSHELLIDLIST* = 20 URL_SCHEME_MSHELP* = 21 URL_SCHEME_MAXVALUE* = 22 URL_PART_NONE* = 0 URL_PART_SCHEME* = 1 URL_PART_HOSTNAME* = 2 URL_PART_USERNAME* = 3 URL_PART_PASSWORD* = 4 URL_PART_PORT* = 5 URL_PART_QUERY* = 6 urlIsUrl* = 0 urlIsOpaque* = 1 urlIsNohistory* = 2 urlIsFileurl* = 3 urlIsAppliable* = 4 urlIsDirectory* = 5 urlIsHasquery* = 6 urlUnescape* = 0x10000000 URL_ESCAPE_UNSAFE* = 0x20000000 URL_PLUGGABLE_PROTOCOL* = 0x40000000 URL_WININET_COMPATIBILITY* = 0x80000000'i32 URL_DONT_ESCAPE_EXTRA_INFO* = 0x02000000 URL_DONT_UNESCAPE_EXTRA_INFO* = URL_DONT_ESCAPE_EXTRA_INFO URL_BROWSER_MODE* = URL_DONT_ESCAPE_EXTRA_INFO URL_ESCAPE_SPACES_ONLY* = 0x04000000 URL_DONT_SIMPLIFY* = 0x08000000 URL_NO_META* = URL_DONT_SIMPLIFY URL_UNESCAPE_INPLACE* = 0x00100000 URL_CONVERT_IF_DOSPATH* = 0x00200000 URL_UNESCAPE_HIGH_ANSI_ONLY* = 0x00400000 URL_INTERNAL_PATH* = 0x00800000 URL_FILE_USE_PATHURL* = 0x00010000 URL_DONT_UNESCAPE* = 0x00020000 URL_ESCAPE_PERCENT* = 0x00001000 URL_ESCAPE_SEGMENT_ONLY* = 0x00002000 URL_PARTFLAG_KEEPSCHEME* = 0x00000001 URL_APPLY_DEFAULT* = 0x00000001 URL_APPLY_GUESSSCHEME* = 0x00000002 URL_APPLY_GUESSFILE* = 0x00000004 URL_APPLY_FORCEAPPLY* = 0x00000008 SRRF_RT_REG_NONE* = 0x00000001 SRRF_RT_REG_SZ* = 0x00000002 SRRF_RT_REG_EXPAND_SZ* = 0x00000004 SRRF_RT_REG_BINARY* = 0x00000008 SRRF_RT_REG_DWORD* = 0x00000010 SRRF_RT_REG_MULTI_SZ* = 0x00000020 SRRF_RT_REG_QWORD* = 0x00000040 SRRF_RT_DWORD* = SRRF_RT_REG_BINARY or SRRF_RT_REG_DWORD SRRF_RT_QWORD* = SRRF_RT_REG_BINARY or SRRF_RT_REG_QWORD SRRF_RT_ANY* = 0x0000ffff SRRF_RM_ANY* = 0x00000000 SRRF_RM_NORMAL* = 0x00010000 SRRF_RM_SAFE* = 0x00020000 SRRF_RM_SAFENETWORK* = 0x00040000 SRRF_NOEXPAND* = 0x10000000 SRRF_ZEROONFAILURE* = 0x20000000 SHREGDEL_DEFAULT* = 0x00000000 SHREGDEL_HKCU* = 0x00000001 SHREGDEL_HKLM* = 0x00000010 SHREGDEL_BOTH* = 0x00000011 SHREGENUM_DEFAULT* = 0x00000000 SHREGENUM_HKCU* = 0x00000001 SHREGENUM_HKLM* = 0x00000010 SHREGENUM_BOTH* = 0x00000011 SHREGSET_HKCU* = 0x00000001 SHREGSET_FORCE_HKCU* = 0x00000002 SHREGSET_HKLM* = 0x00000004 SHREGSET_FORCE_HKLM* = 0x00000008 SHREGSET_DEFAULT* = SHREGSET_FORCE_HKCU or SHREGSET_HKLM ASSOCF_INIT_NOREMAPCLSID* = 0x00000001 ASSOCF_INIT_BYEXENAME* = 0x00000002 ASSOCF_OPEN_BYEXENAME* = 0x00000002 ASSOCF_INIT_DEFAULTTOSTAR* = 0x00000004 ASSOCF_INIT_DEFAULTTOFOLDER* = 0x00000008 ASSOCF_NOUSERSETTINGS* = 0x00000010 ASSOCF_NOTRUNCATE* = 0x00000020 ASSOCF_VERIFY* = 0x00000040 ASSOCF_REMAPRUNDLL* = 0x00000080 ASSOCF_NOFIXUPS* = 0x00000100 ASSOCF_IGNOREBASECLASS* = 0x00000200 ASSOCF_INIT_IGNOREUNKNOWN* = 0x00000400 ASSOCSTR_COMMAND* = 1 ASSOCSTR_EXECUTABLE* = 2 ASSOCSTR_FRIENDLYDOCNAME* = 3 ASSOCSTR_FRIENDLYAPPNAME* = 4 ASSOCSTR_NOOPEN* = 5 ASSOCSTR_SHELLNEWVALUE* = 6 ASSOCSTR_DDECOMMAND* = 7 ASSOCSTR_DDEIFEXEC* = 8 ASSOCSTR_DDEAPPLICATION* = 9 ASSOCSTR_DDETOPIC* = 10 ASSOCSTR_INFOTIP* = 11 ASSOCSTR_QUICKTIP* = 12 ASSOCSTR_TILEINFO* = 13 ASSOCSTR_CONTENTTYPE* = 14 ASSOCSTR_DEFAULTICON* = 15 ASSOCSTR_SHELLEXTENSION* = 16 ASSOCSTR_DROPTARGET* = 17 ASSOCSTR_DELEGATEEXECUTE* = 18 ASSOCSTR_MAX* = 19 ASSOCKEY_SHELLEXECCLASS* = 1 ASSOCKEY_APP* = 2 ASSOCKEY_CLASS* = 3 ASSOCKEY_BASECLASS* = 4 ASSOCKEY_MAX* = 5 ASSOCDATA_MSIDESCRIPTOR* = 1 ASSOCDATA_NOACTIVATEHANDLER* = 2 ASSOCDATA_QUERYCLASSSTORE* = 3 ASSOCDATA_HASPERUSERASSOC* = 4 ASSOCDATA_EDITFLAGS* = 5 ASSOCDATA_VALUE* = 6 ASSOCDATA_MAX* = 7 ASSOCENUM_NONE* = 0 SHGVSPB_PERUSER* = 0x00000001 SHGVSPB_ALLUSERS* = 0x00000002 SHGVSPB_PERFOLDER* = 0x00000004 SHGVSPB_ALLFOLDERS* = 0x00000008 SHGVSPB_INHERIT* = 0x00000010 SHGVSPB_ROAM* = 0x00000020 SHGVSPB_NOAUTODEFAULTS* = 0x80000000'i32 SHGVSPB_FOLDER* = SHGVSPB_PERUSER or SHGVSPB_PERFOLDER SHGVSPB_FOLDERNODEFAULTS* = SHGVSPB_PERUSER or SHGVSPB_PERFOLDER or SHGVSPB_NOAUTODEFAULTS SHGVSPB_USERDEFAULTS* = SHGVSPB_PERUSER or SHGVSPB_ALLFOLDERS SHGVSPB_GLOBALDEAFAULTS* = SHGVSPB_ALLUSERS or SHGVSPB_ALLFOLDERS SHACF_DEFAULT* = 0x00000000 SHACF_FILESYSTEM* = 0x00000001 SHACF_URLHISTORY* = 0x00000002 SHACF_URLMRU* = 0x00000004 SHACF_URLALL* = SHACF_URLHISTORY or SHACF_URLMRU SHACF_USETAB* = 0x00000008 SHACF_FILESYS_ONLY* = 0x00000010 SHACF_FILESYS_DIRS* = 0x00000020 SHACF_AUTOSUGGEST_FORCE_ON* = 0x10000000 SHACF_AUTOSUGGEST_FORCE_OFF* = 0x20000000 SHACF_AUTOAPPEND_FORCE_ON* = 0x40000000 SHACF_AUTOAPPEND_FORCE_OFF* = 0x80000000'i32 CTF_INSIST* = 0x00000001 CTF_THREAD_REF* = 0x00000002 CTF_PROCESS_REF* = 0x00000004 CTF_COINIT* = 0x00000008 CTF_FREELIBANDEXIT* = 0x00000010 CTF_REF_COUNTED* = 0x00000020 CTF_WAIT_ALLOWCOM* = 0x00000040 DLLVER_PLATFORM_WINDOWS* = 0x00000001 DLLVER_PLATFORM_NT* = 0x00000002 DLLVER_MAJOR_MASK* = 0xFFFF000000000000 DLLVER_MINOR_MASK* = 0x0000FFFF00000000 DLLVER_BUILD_MASK* = 0x00000000FFFF0000'i32 DLLVER_QFE_MASK* = 0x000000000000FFFF CSIDL_FLAG_CREATE* = 0x8000 CSIDL_PERSONAL* = 0x0005 CSIDL_MYPICTURES* = 0x0027 CSIDL_APPDATA* = 0x001a CSIDL_MYMUSIC* = 0x000d CSIDL_MYVIDEO* = 0x000e SHGFP_TYPE_CURRENT* = 0 SHGFP_TYPE_DEFAULT* = 1 STR_MYDOCS_CLSID* = "{450D8FBA-AD25-11D0-98A8-0800361B1103}" PSGUID_INTERNETSHORTCUT* = DEFINE_GUID("000214a0-0000-0000-c000-000000000046") PSGUID_INTERNETSITE* = DEFINE_GUID("000214a1-0000-0000-c000-000000000046") IID_ICopyHookA* = DEFINE_GUID("000214ef-0000-0000-c000-000000000046") IID_IShellCopyHookA* = IID_ICopyHookA IID_ICopyHookW* = DEFINE_GUID("000214fc-0000-0000-c000-000000000046") IID_IShellCopyHookW* = IID_ICopyHookW IID_IShellLinkW* = DEFINE_GUID("000214f9-0000-0000-c000-000000000046") SID_LinkSite* = IID_IShellLinkW IID_IShellFolderViewCB* = DEFINE_GUID("2047e320-f2a9-11ce-ae65-08002b2e1262") SID_ShellFolderViewCB* = IID_IShellFolderViewCB IID_IShellBrowser* = DEFINE_GUID("000214e2-0000-0000-c000-000000000046") SID_SShellBrowser* = IID_IShellBrowser CLSID_ShellDesktop* = DEFINE_GUID("00021400-0000-0000-c000-000000000046") SID_SShellDesktop* = CLSID_ShellDesktop CLSID_NetworkDomain* = DEFINE_GUID("46e06680-4bf0-11d1-83ee-00a0c90dc849") CLSID_NetworkServer* = DEFINE_GUID("c0542a90-4bf0-11d1-83ee-00a0c90dc849") CLSID_NetworkShare* = DEFINE_GUID("54a754c0-4bf0-11d1-83ee-00a0c90dc849") CLSID_MyComputer* = DEFINE_GUID("20d04fe0-3aea-1069-a2d8-08002b30309d") CLSID_Internet* = DEFINE_GUID("871c5380-42a0-1069-a2ea-08002b30309d") CLSID_RecycleBin* = DEFINE_GUID("645ff040-5081-101b-9f08-00aa002f954e") CLSID_ControlPanel* = DEFINE_GUID("21ec2020-3aea-1069-a2dd-08002b30309d") CLSID_Printers* = DEFINE_GUID("2227a280-3aea-1069-a2de-08002b30309d") CLSID_MyDocuments* = DEFINE_GUID("450d8fba-ad25-11d0-98a8-0800361b1103") CATID_BrowsableShellExt* = DEFINE_GUID("00021490-0000-0000-c000-000000000046") CATID_BrowseInPlace* = DEFINE_GUID("00021491-0000-0000-c000-000000000046") CATID_DeskBand* = DEFINE_GUID("00021492-0000-0000-c000-000000000046") CATID_InfoBand* = DEFINE_GUID("00021493-0000-0000-c000-000000000046") CATID_CommBand* = DEFINE_GUID("00021494-0000-0000-c000-000000000046") FMTID_Intshcut* = DEFINE_GUID("000214a0-0000-0000-c000-000000000046") FMTID_InternetSite* = DEFINE_GUID("000214a1-0000-0000-c000-000000000046") CGID_Explorer* = DEFINE_GUID("000214d0-0000-0000-c000-000000000046") CGID_ShellDocView* = DEFINE_GUID("000214d1-0000-0000-c000-000000000046") CGID_ShellServiceObject* = DEFINE_GUID("000214d2-0000-0000-c000-000000000046") CGID_ExplorerBarDoc* = DEFINE_GUID("000214d3-0000-0000-c000-000000000046") IID_INewShortcutHookA* = DEFINE_GUID("000214e1-0000-0000-c000-000000000046") IID_IExtractIconA* = DEFINE_GUID("000214eb-0000-0000-c000-000000000046") IID_IShellDetails* = DEFINE_GUID("000214ec-0000-0000-c000-000000000046") IID_IFileViewerA* = DEFINE_GUID("000214f0-0000-0000-c000-000000000046") IID_IFileViewerSite* = DEFINE_GUID("000214f3-0000-0000-c000-000000000046") IID_IShellExecuteHookA* = DEFINE_GUID("000214f5-0000-0000-c000-000000000046") IID_IPropSheetPage* = DEFINE_GUID("000214f6-0000-0000-c000-000000000046") IID_INewShortcutHookW* = DEFINE_GUID("000214f7-0000-0000-c000-000000000046") IID_IFileViewerW* = DEFINE_GUID("000214f8-0000-0000-c000-000000000046") IID_IExtractIconW* = DEFINE_GUID("000214fa-0000-0000-c000-000000000046") IID_IShellExecuteHookW* = DEFINE_GUID("000214fb-0000-0000-c000-000000000046") IID_IQueryInfo* = DEFINE_GUID("00021500-0000-0000-c000-000000000046") IID_IBriefcaseStg* = DEFINE_GUID("8bce1fa1-0921-101b-b1ff-00dd010ccc48") IID_IURLSearchHook* = DEFINE_GUID("ac60f6a0-0fd9-11d0-99cb-00c04fd64497") IID_ISearchContext* = DEFINE_GUID("09f656a2-41af-480c-88f7-16cc0d164615") IID_IURLSearchHook2* = DEFINE_GUID("5ee44da4-6d32-46e3-86bc-07540dedd0e0") IID_IDefViewID* = DEFINE_GUID("985f64f0-d410-4e02-be22-da07f2b5c5e1") CLSID_FolderShortcut* = DEFINE_GUID("0afaced1-e828-11d1-9187-b532f1e9575d") IID_IDockingWindowSite* = DEFINE_GUID("2a342fc2-7b26-11d0-8ca9-00a0c92dbfe8") IID_IDockingWindowFrame* = DEFINE_GUID("47d2657a-7b27-11d0-8ca9-00a0c92dbfe8") IID_IShellIconOverlay* = DEFINE_GUID("7d688a70-c613-11d0-999b-00c04fd655e1") IID_IShellIconOverlayIdentifier* = DEFINE_GUID("0c6c4200-c589-11d0-999a-00c04fd655e1") CLSID_CFSIconOverlayManager* = DEFINE_GUID("63b51f81-c868-11d0-999c-00c04fd655e1") IID_IShellIconOverlayManager* = DEFINE_GUID("f10b5e34-dd3b-42a7-aa7d-2f4ec54bb09b") IID_IThumbnailCapture* = DEFINE_GUID("4ea39266-7211-409f-b622-f63dbd16c533") IID_IShellImageStore* = DEFINE_GUID("48c8118c-b924-11d1-98d5-00c04fb687da") CLSID_ShellThumbnailDiskCache* = DEFINE_GUID("1ebdcf80-a200-11d0-a3a4-00c04fd706ec") SID_DefView* = DEFINE_GUID("6d12fe80-7911-11cf-9534-0000c05bae0b") CGID_DefView* = DEFINE_GUID("4af07f10-d231-11d0-b942-00a0c90312e1") CLSID_MenuBand* = DEFINE_GUID("5b4dae26-b807-11d0-9815-00c04fd91972") IID_IShellFolderBand* = DEFINE_GUID("7fe80cc8-c247-11d0-b93a-00a0c90312e1") IID_IDefViewFrame* = DEFINE_GUID("710eb7a0-45ed-11d0-924a-0020afc7ac4d") VID_LargeIcons* = DEFINE_GUID("0057d0e0-3573-11cf-ae69-08002b2e1262") VID_SmallIcons* = DEFINE_GUID("089000c0-3573-11cf-ae69-08002b2e1262") VID_List* = DEFINE_GUID("0e1fa5e0-3573-11cf-ae69-08002b2e1262") VID_Details* = DEFINE_GUID("137e7700-3573-11cf-ae69-08002b2e1262") VID_Tile* = DEFINE_GUID("65f125e5-7be1-4810-ba9d-d271c8432ce3") VID_Content* = DEFINE_GUID("30c2c434-0889-4c8d-985d-a9f71830b0a9") VID_Thumbnails* = DEFINE_GUID("8bebb290-52d0-11d0-b7f4-00c04fd706ec") VID_ThumbStrip* = DEFINE_GUID("8eefa624-d1e9-445b-94b7-74fbce2ea11a") SID_SInPlaceBrowser* = DEFINE_GUID("1d2ae02b-3655-46cc-b63a-285988153bca") SID_SSearchBoxInfo* = DEFINE_GUID("142daa61-516b-4713-b49c-fb985ef82998") SID_CommandsPropertyBag* = DEFINE_GUID("6e043250-4416-485c-b143-e62a760d9fe5") IID_IDiscardableBrowserProperty* = DEFINE_GUID("49c3de7c-d329-11d0-ab73-00c04fc33e80") IID_IShellChangeNotify* = DEFINE_GUID("d82be2b1-5764-11d0-a96e-00c04fd705a2") CLSID_InternetShortcut* = DEFINE_GUID("fbf23b40-e3f0-101b-8488-00aa003e56f8") IID_IUniformResourceLocatorA* = DEFINE_GUID("fbf23b80-e3f0-101b-8488-00aa003e56f8") IID_IUniformResourceLocatorW* = DEFINE_GUID("cabb0da0-da57-11cf-9974-0020afd79762") LIBID_Shell32* = DEFINE_GUID("50a7e9b0-70ef-11d1-b75a-00a0c90564fe") IID_IFolderViewOC* = DEFINE_GUID("9ba05970-f6a8-11cf-a442-00a0c90a8f39") DIID_DShellFolderViewEvents* = DEFINE_GUID("62112aa2-ebe4-11cf-a5fb-0020afe7292d") IID_DShellFolderViewEvents* = DEFINE_GUID("62112aa2-ebe4-11cf-a5fb-0020afe7292d") CLSID_ShellFolderViewOC* = DEFINE_GUID("9ba05971-f6a8-11cf-a442-00a0c90a8f39") IID_DFConstraint* = DEFINE_GUID("4a3df050-23bd-11d2-939f-00a0c91eedba") IID_Folder* = DEFINE_GUID("bbcbde60-c3ff-11ce-8350-444553540000") IID_Folder2* = DEFINE_GUID("f0d2d8ef-3890-11d2-bf8b-00c04fb93661") OFS_INACTIVE* = -1 OFS_ONLINE* = 0 OFS_OFFLINE* = 1 OFS_SERVERBACK* = 2 OFS_DIRTYCACHE* = 3 IID_Folder3* = DEFINE_GUID("a7ae5f64-c4d7-4d7f-9307-4d24ee54b841") IID_FolderItem* = DEFINE_GUID("fac32c80-cbe4-11ce-8350-444553540000") IID_FolderItem2* = DEFINE_GUID("edc817aa-92b8-11d1-b075-00c04fc33aa5") CLSID_ShellFolderItem* = DEFINE_GUID("2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e") IID_FolderItems* = DEFINE_GUID("744129e0-cbe5-11ce-8350-444553540000") IID_FolderItems2* = DEFINE_GUID("c94f0ad0-f363-11d2-a327-00c04f8eec7f") IID_FolderItems3* = DEFINE_GUID("eaa7c309-bbec-49d5-821d-64d966cb667f") IID_FolderItemVerb* = DEFINE_GUID("08ec3e00-50b0-11cf-960c-0080c7f4ee85") IID_FolderItemVerbs* = DEFINE_GUID("1f8352c0-50b0-11cf-960c-0080c7f4ee85") IID_IShellLinkDual* = DEFINE_GUID("88a05c00-f000-11ce-8350-444553540000") IID_IShellLinkDual2* = DEFINE_GUID("317ee249-f12e-11d2-b1e4-00c04f8eeb3e") CLSID_ShellLinkObject* = DEFINE_GUID("11219420-1768-11d1-95be-00609797ea4f") IID_IShellFolderViewDual* = DEFINE_GUID("e7a1af80-4d96-11cf-960c-0080c7f4ee85") IID_IShellFolderViewDual2* = DEFINE_GUID("31c147b6-0ade-4a3c-b514-ddf932ef6d17") IID_IShellFolderViewDual3* = DEFINE_GUID("29ec8e6c-46d3-411f-baaa-611a6c9cac66") CLSID_ShellFolderView* = DEFINE_GUID("62112aa1-ebe4-11cf-a5fb-0020afe7292d") SFVVO_SHOWALLOBJECTS* = 0x1 SFVVO_SHOWEXTENSIONS* = 0x2 SFVVO_SHOWCOMPCOLOR* = 0x8 SFVVO_SHOWSYSFILES* = 0x20 SFVVO_WIN95CLASSIC* = 0x40 SFVVO_DOUBLECLICKINWEBVIEW* = 0x80 SFVVO_DESKTOPHTML* = 0x200 IID_IShellDispatch* = DEFINE_GUID("d8f015c0-c278-11ce-a49e-444553540000") IID_IShellDispatch2* = DEFINE_GUID("a4c6892c-3ba9-11d2-9dea-00c04fb16162") IID_IShellDispatch3* = DEFINE_GUID("177160ca-bb5a-411c-841d-bd38facdeaa0") IID_IShellDispatch4* = DEFINE_GUID("efd84b2d-4bcf-4298-be25-eb542a59fbda") IID_IShellDispatch5* = DEFINE_GUID("866738b9-6cf2-4de8-8767-f794ebe74f4e") IID_IShellDispatch6* = DEFINE_GUID("286e6f1b-7113-4355-9562-96b7e9d64c54") CLSID_Shell* = DEFINE_GUID("13709620-c279-11ce-a49e-444553540000") CLSID_ShellDispatchInproc* = DEFINE_GUID("0a89a860-d7b1-11ce-8350-444553540000") ssfDESKTOP* = 0x0 ssfPROGRAMS* = 0x2 ssfCONTROLS* = 0x3 ssfPRINTERS* = 0x4 ssfPERSONAL* = 0x5 ssfFAVORITES* = 0x6 ssfSTARTUP* = 0x7 ssfRECENT* = 0x8 ssfSENDTO* = 0x9 ssfBITBUCKET* = 0xa ssfSTARTMENU* = 0xb ssfDESKTOPDIRECTORY* = 0x10 ssfDRIVES* = 0x11 ssfNETWORK* = 0x12 ssfNETHOOD* = 0x13 ssfFONTS* = 0x14 ssfTEMPLATES* = 0x15 ssfCOMMONSTARTMENU* = 0x16 ssfCOMMONPROGRAMS* = 0x17 ssfCOMMONSTARTUP* = 0x18 ssfCOMMONDESKTOPDIR* = 0x19 ssfAPPDATA* = 0x1a ssfPRINTHOOD* = 0x1b ssfLOCALAPPDATA* = 0x1c ssfALTSTARTUP* = 0x1d ssfCOMMONALTSTARTUP* = 0x1e ssfCOMMONFAVORITES* = 0x1f ssfINTERNETCACHE* = 0x20 ssfCOOKIES* = 0x21 ssfHISTORY* = 0x22 ssfCOMMONAPPDATA* = 0x23 ssfWINDOWS* = 0x24 ssfSYSTEM* = 0x25 ssfPROGRAMFILES* = 0x26 ssfMYPICTURES* = 0x27 ssfPROFILE* = 0x28 ssfSYSTEMx86* = 0x29 ssfPROGRAMFILESx86* = 0x30 IID_IFileSearchBand* = DEFINE_GUID("2d91eea1-9932-11d2-be86-00a0c9a83da1") CLSID_FileSearchBand* = DEFINE_GUID("c4ee31f3-4768-11d2-be5c-00a0c9a83da1") IID_IWebWizardHost* = DEFINE_GUID("18bcc359-4990-4bfb-b951-3c83702be5f9") IID_INewWDEvents* = DEFINE_GUID("0751c551-7568-41c9-8e5b-e22e38919236") IID_IAutoComplete* = DEFINE_GUID("00bb2762-6a77-11d0-a535-00c04fd7d062") ACO_NONE* = 0x0 ACO_AUTOSUGGEST* = 0x1 ACO_AUTOAPPEND* = 0x2 ACO_SEARCH* = 0x4 ACO_FILTERPREFIXES* = 0x8 ACO_USETAB* = 0x10 ACO_UPDOWNKEYDROPSLIST* = 0x20 ACO_RTLREADING* = 0x40 ACO_WORD_FILTER* = 0x80 ACO_NOPREFIXFILTERING* = 0x100 IID_IAutoComplete2* = DEFINE_GUID("eac04bc0-3791-11d2-bb95-0060977b464c") ACEO_NONE* = 0x0 ACEO_MOSTRECENTFIRST* = 0x1 ACEO_FIRSTUNUSED* = 0x10000 IID_IEnumACString* = DEFINE_GUID("8e74c210-cf9d-4eaf-a403-7356428f0a5a") IID_IDataObjectAsyncCapability* = DEFINE_GUID("3d8b0590-f691-11d2-8ea9-006097df5bd4") SID_SInternetExplorer* = IID_IWebBrowserApp CLSID_ProgressDialog* = DEFINE_GUID("f8383852-fcd3-11d1-a6b9-006097df5bd4") SID_SProgressUI* = CLSID_ProgressDialog CLSID_CUrlHistory* = DEFINE_GUID("3c374a40-bae4-11cf-bf7d-00aa006946ee") SID_SUrlHistory* = CLSID_CUrlHistory SID_SWebBrowserApp* = IID_IWebBrowserApp CLSID_CURLSearchHook* = DEFINE_GUID("cfbfae00-17a6-11d0-99cb-00c04fd64497") IID_IObjMgr* = DEFINE_GUID("00bb2761-6a77-11d0-a535-00c04fd7d062") IID_IACList* = DEFINE_GUID("77a130b0-94fd-11d0-a544-00c04fd7d062") IID_IACList2* = DEFINE_GUID("470141a0-5186-11d2-bbb6-0060977b464c") IID_ICurrentWorkingDirectory* = DEFINE_GUID("91956d21-9276-11d1-921a-006097df5bd4") CLSID_AutoComplete* = DEFINE_GUID("00bb2763-6a77-11d0-a535-00c04fd7d062") CLSID_ACLHistory* = DEFINE_GUID("00bb2764-6a77-11d0-a535-00c04fd7d062") CLSID_ACListISF* = DEFINE_GUID("03c036f1-a186-11d0-824a-00aa005b4383") CLSID_ACLMRU* = DEFINE_GUID("6756a641-de71-11d0-831b-00aa005b4383") CLSID_ACLMulti* = DEFINE_GUID("00bb2765-6a77-11d0-a535-00c04fd7d062") CLSID_ACLCustomMRU* = DEFINE_GUID("6935db93-21e8-4ccc-beb9-9fe3c77a297a") IID_IProgressDialog* = DEFINE_GUID("ebbc7c04-315e-11d2-b62f-006097df5bd4") SID_STopLevelBrowser* = DEFINE_GUID("4c96be40-915c-11cf-99d3-00aa004ae837") PSGUID_SHELLDETAILS* = DEFINE_GUID("28636aa6-953d-11d2-b5d6-00c04fd918d0") PID_FINDDATA* = 0 PID_NETRESOURCE* = 1 PID_DESCRIPTIONID* = 2 PID_WHICHFOLDER* = 3 PID_NETWORKLOCATION* = 4 PID_COMPUTERNAME* = 5 PID_DISPLAY_PROPERTIES* = 0 PID_INTROTEXT* = 1 PID_SYNC_COPY_IN* = 2 PIDSI_ARTIST* = 2 PIDSI_SONGTITLE* = 3 PIDSI_ALBUM* = 4 PIDSI_YEAR* = 5 PIDSI_COMMENT* = 6 PIDSI_TRACK* = 7 PIDSI_GENRE* = 11 PIDSI_LYRICS* = 12 PID_MISC_STATUS* = 2 PID_MISC_ACCESSCOUNT* = 3 PID_MISC_OWNER* = 4 PID_HTMLINFOTIPFILE* = 5 PID_MISC_PICS* = 6 PIDDRSI_PROTECTED* = 2 PIDDRSI_DESCRIPTION* = 3 PIDDRSI_PLAYCOUNT* = 4 PIDDRSI_PLAYSTARTS* = 5 PIDDRSI_PLAYEXPIRES* = 6 PID_DISPLACED_FROM* = 2 PID_DISPLACED_DATE* = 3 PSGUID_BRIEFCASE* = DEFINE_GUID("328d8b21-7729-4bfc-954c-902b329d56b0") PSGUID_MISC* = DEFINE_GUID("9b174b34-40ff-11d2-a27e-00c04fc30871") PSGUID_WEBVIEW* = DEFINE_GUID("f2275480-f782-4291-bd94-f13693513aec") PSGUID_MUSIC* = DEFINE_GUID("56a3372e-ce9c-11d2-9f0e-006097c686f6") PSGUID_DRM* = DEFINE_GUID("aeac19e4-89ae-4508-b9b7-bb867abee2ed") PSGUID_VIDEO* = DEFINE_GUID("64440491-4c8b-11d1-8b70-080036b11a03") PSGUID_IMAGEPROPERTIES* = DEFINE_GUID("14b81da1-0135-4d31-96d9-6cbfc9671a99") PSGUID_CUSTOMIMAGEPROPERTIES* = DEFINE_GUID("7ecd8b0e-c136-4a9b-9411-4ebd6673ccc3") PSGUID_LIBRARYPROPERTIES* = DEFINE_GUID("5d76b67f-9b3d-44bb-b6ae-25da4f638a67") PSGUID_DISPLACED* = DEFINE_GUID("9b174b33-40ff-11d2-a27e-00c04fc30871") CLSID_FileTypes* = DEFINE_GUID("b091e540-83e3-11cf-a713-0020afd79762") CLSID_ActiveDesktop* = DEFINE_GUID("75048700-ef1f-11d0-9888-006097deacf9") IID_IActiveDesktop* = DEFINE_GUID("f490eb00-1240-11d1-9888-006097deacf9") IID_IActiveDesktopP* = DEFINE_GUID("52502ee0-ec80-11d0-89ab-00c04fc2972d") IID_IADesktopP2* = DEFINE_GUID("b22754e2-4574-11d1-9888-006097deacf9") IID_ISynchronizedCallBack* = DEFINE_GUID("74c26041-70d1-11d1-b75a-00a0c90564fe") IID_IQueryAssociations* = DEFINE_GUID("c46ca590-3c3f-11d2-bee6-0000f805ca57") CLSID_QueryAssociations* = DEFINE_GUID("a07034fd-6caa-4954-ac3f-97a27216f98a") IID_IColumnProvider* = DEFINE_GUID("e8025004-1c42-11d2-be2c-00a0c9a83da1") CLSID_LinkColumnProvider* = DEFINE_GUID("24f14f02-7b1c-11d1-838f-0000f80461cf") CGID_ShortCut* = DEFINE_GUID("93a68750-951a-11d1-946f-000000000000") IID_INamedPropertyBag* = DEFINE_GUID("fb700430-952c-11d1-946f-000000000000") CLSID_InternetButtons* = DEFINE_GUID("1e796980-9cc5-11d1-a83f-00c04fc99d61") CLSID_MSOButtons* = DEFINE_GUID("178f34b8-a282-11d2-86c5-00c04f8eea99") CLSID_ToolbarExtButtons* = DEFINE_GUID("2ce4b5d8-a28f-11d2-86c5-00c04f8eea99") CLSID_DarwinAppPublisher* = DEFINE_GUID("cfccc7a0-a282-11d1-9082-006008059382") CLSID_DocHostUIHandler* = DEFINE_GUID("7057e952-bd1b-11d1-8919-00c04fc2c836") FMTID_ShellDetails* = DEFINE_GUID("28636aa6-953d-11d2-b5d6-00c04fd918d0") FMTID_Storage* = DEFINE_GUID("b725f130-47ef-101a-a5f1-02608c9eebac") FMTID_ImageProperties* = DEFINE_GUID("14b81da1-0135-4d31-96d9-6cbfc9671a99") FMTID_CustomImageProperties* = DEFINE_GUID("7ecd8b0e-c136-4a9b-9411-4ebd6673ccc3") FMTID_LibraryProperties* = DEFINE_GUID("5d76b67f-9b3d-44bb-b6ae-25da4f638a67") FMTID_Displaced* = DEFINE_GUID("9b174b33-40ff-11d2-a27e-00c04fc30871") FMTID_Briefcase* = DEFINE_GUID("328d8b21-7729-4bfc-954c-902b329d56b0") FMTID_Misc* = DEFINE_GUID("9b174b34-40ff-11d2-a27e-00c04fc30871") FMTID_WebView* = DEFINE_GUID("f2275480-f782-4291-bd94-f13693513aec") FMTID_MUSIC* = DEFINE_GUID("56a3372e-ce9c-11d2-9f0e-006097c686f6") FMTID_DRM* = DEFINE_GUID("aeac19e4-89ae-4508-b9b7-bb867abee2ed") PIDVSI_STREAM_NAME* = 0x00000002 PIDVSI_FRAME_WIDTH* = 0x00000003 PIDVSI_FRAME_HEIGHT* = 0x00000004 PIDVSI_TIMELENGTH* = 0x00000007 PIDVSI_FRAME_COUNT* = 0x00000005 PIDVSI_FRAME_RATE* = 0x00000006 PIDVSI_DATA_RATE* = 0x00000008 PIDVSI_SAMPLE_SIZE* = 0x00000009 PIDVSI_COMPRESSION* = 0x0000000a PIDVSI_STREAM_NUMBER* = 0x0000000b PSGUID_AUDIO* = DEFINE_GUID("64440490-4c8b-11d1-8b70-080036b11a03") PIDASI_FORMAT* = 0x00000002 PIDASI_TIMELENGTH* = 0x00000003 PIDASI_AVG_DATA_RATE* = 0x00000004 PIDASI_SAMPLE_RATE* = 0x00000005 PIDASI_SAMPLE_SIZE* = 0x00000006 PIDASI_CHANNEL_COUNT* = 0x00000007 PIDASI_STREAM_NUMBER* = 0x00000008 PIDASI_STREAM_NAME* = 0x00000009 PIDASI_COMPRESSION* = 0x0000000a PSGUID_CONTROLPANEL* = DEFINE_GUID("305ca226-d286-468e-b848-2b2e8e697b74") PID_CONTROLPANEL_CATEGORY* = 2 PSGUID_VOLUME* = DEFINE_GUID("9b174b35-40ff-11d2-a27e-00c04fc30871") PSGUID_SHARE* = DEFINE_GUID("d8c3986f-813b-449c-845d-87b95d674ade") PSGUID_LINK* = DEFINE_GUID("b9b4b3fc-2b51-4a42-b5d8-324146afcf25") PSGUID_QUERY_D* = DEFINE_GUID("49691c90-7e17-101a-a91c-08002b2ecda9") PSGUID_SUMMARYINFORMATION* = DEFINE_GUID("f29f85e0-4ff9-1068-ab91-08002b27b3d9") PSGUID_DOCUMENTSUMMARYINFORMATION* = DEFINE_GUID("d5cdd502-2e9c-101b-9397-08002b2cf9ae") PSGUID_MEDIAFILESUMMARYINFORMATION* = DEFINE_GUID("64440492-4c8b-11d1-8b70-080036b11a03") PSGUID_IMAGESUMMARYINFORMATION* = DEFINE_GUID("6444048f-4c8b-11d1-8b70-080036b11a03") PID_VOLUME_FREE* = 2 PID_VOLUME_CAPACITY* = 3 PID_VOLUME_FILESYSTEM* = 4 PID_SHARE_CSC_STATUS* = 2 PID_LINK_TARGET* = 2 PID_LINK_TARGET_TYPE* = 3 PID_QUERY_RANK* = 2 FMTID_Volume* = DEFINE_GUID("9b174b35-40ff-11d2-a27e-00c04fc30871") FMTID_Query* = DEFINE_GUID("49691c90-7e17-101a-a91c-08002b2ecda9") CLSID_HWShellExecute* = DEFINE_GUID("ffb8655f-81b9-4fce-b89c-9a6ba76d13e7") CLSID_DragDropHelper* = DEFINE_GUID("4657278a-411b-11d2-839a-00c04fd918d0") CLSID_CAnchorBrowsePropertyPage* = DEFINE_GUID("3050f3bb-98b5-11cf-bb82-00aa00bdce0b") CLSID_CImageBrowsePropertyPage* = DEFINE_GUID("3050f3b3-98b5-11cf-bb82-00aa00bdce0b") CLSID_CDocBrowsePropertyPage* = DEFINE_GUID("3050f3b4-98b5-11cf-bb82-00aa00bdce0b") SID_STopWindow* = DEFINE_GUID("49e1b500-4636-11d3-97f7-00c04f45d0b3") SID_SGetViewFromViewDual* = DEFINE_GUID("889a935d-971e-4b12-b90c-24dfc9e1e5e8") CLSID_FolderItem* = DEFINE_GUID("fef10fa2-355e-4e06-9381-9b24d7f7cc88") CLSID_FolderItemsMultiLevel* = DEFINE_GUID("53c74826-ab99-4d33-aca4-3117f51d3788") CLSID_NewMenu* = DEFINE_GUID("d969a300-e7ff-11d0-a93b-00a0c90f2719") BHID_SFObject* = DEFINE_GUID("3981e224-f559-11d3-8e3a-00c04f6837d5") BHID_SFUIObject* = DEFINE_GUID("3981e225-f559-11d3-8e3a-00c04f6837d5") BHID_SFViewObject* = DEFINE_GUID("3981e226-f559-11d3-8e3a-00c04f6837d5") BHID_Storage* = DEFINE_GUID("3981e227-f559-11d3-8e3a-00c04f6837d5") BHID_Stream* = DEFINE_GUID("1cebb3ab-7c10-499a-a417-92ca16c4cb83") BHID_RandomAccessStream* = DEFINE_GUID("f16fc93b-77ae-4cfe-bda7-a866eea6878d") BHID_LinkTargetItem* = DEFINE_GUID("3981e228-f559-11d3-8e3a-00c04f6837d5") BHID_StorageEnum* = DEFINE_GUID("4621a4e3-f0d6-4773-8a9c-46e77b174840") BHID_Transfer* = DEFINE_GUID("d5e346a1-f753-4932-b403-4574800e2498") BHID_PropertyStore* = DEFINE_GUID("0384e1a4-1523-439c-a4c8-ab911052f586") BHID_ThumbnailHandler* = DEFINE_GUID("7b2e650a-8e20-4f4a-b09e-6597afc72fb0") BHID_EnumItems* = DEFINE_GUID("94f60519-2850-4924-aa5a-d15e84868039") BHID_DataObject* = DEFINE_GUID("b8c0bd9f-ed24-455c-83e6-d5390c4fe8c4") BHID_AssociationArray* = DEFINE_GUID("bea9ef17-82f1-4f60-9284-4f8db75c3be9") BHID_Filter* = DEFINE_GUID("38d08778-f557-4690-9ebf-ba54706ad8f7") BHID_EnumAssocHandlers* = DEFINE_GUID("b8ab0b9c-c2ec-4f7a-918d-314900e6280a") SID_CtxQueryAssociations* = DEFINE_GUID("faadfc40-b777-4b69-aa81-77035ef0e6e8") IID_IDocViewSite* = DEFINE_GUID("87d605e0-c511-11cf-89a9-00a0c9054129") CLSID_QuickLinks* = DEFINE_GUID("0e5cbf21-d15f-11d0-8301-00aa005b4383") CLSID_ISFBand* = DEFINE_GUID("d82be2b0-5764-11d0-a96e-00c04fd705a2") IID_CDefView* = DEFINE_GUID("4434ff80-ef4c-11ce-ae65-08002b2e1262") CLSID_ShellFldSetExt* = DEFINE_GUID("6d5313c0-8c62-11d1-b2cd-006097df8c11") SID_SMenuBandChild* = DEFINE_GUID("ed9cc020-08b9-11d1-9823-00c04fd91972") SID_SMenuBandParent* = DEFINE_GUID("8c278eec-3eab-11d1-8cb0-00c04fd918d0") SID_SMenuPopup* = DEFINE_GUID("d1e7afeb-6a2e-11d0-8c78-00c04fd918b4") SID_SMenuBandBottomSelected* = DEFINE_GUID("165ebaf4-6d51-11d2-83ad-00c04fd918d0") SID_SMenuBandBottom* = DEFINE_GUID("743ca664-0deb-11d1-9825-00c04fd91972") SID_MenuShellFolder* = DEFINE_GUID("a6c17eb4-2d65-11d2-838f-00c04fd918d0") SID_SMenuBandContextMenuModifier* = DEFINE_GUID("39545874-7162-465e-b783-2aa1874fef81") SID_SMenuBandBKContextMenu* = DEFINE_GUID("164bbd86-1d0d-4de0-9a3b-d9729647c2b8") CGID_MENUDESKBAR* = DEFINE_GUID("5c9f0a12-959e-11d0-a3a4-00a0c9082636") SID_SMenuBandTop* = DEFINE_GUID("9493a810-ec38-11d0-bc46-00aa006ce2f5") CLSID_MenuToolbarBase* = DEFINE_GUID("40b96610-b522-11d1-b3b4-00aa006efde7") IID_IBanneredBar* = DEFINE_GUID("596a9a94-013e-11d1-8d34-00a0c90f2719") CLSID_MenuBandSite* = DEFINE_GUID("e13ef4e4-d2f2-11d0-9816-00c04fd91972") SID_SCommDlgBrowser* = DEFINE_GUID("80f30233-b7df-11d2-a33b-006097df5bd4") CPFG_LOGON_USERNAME* = DEFINE_GUID("da15bbe8-954d-4fd3-b0f4-1fb5b90b174b") CPFG_LOGON_PASSWORD* = DEFINE_GUID("60624cfa-a477-47b1-8a8e-3a4a19981827") CPFG_SMARTCARD_USERNAME* = DEFINE_GUID("3e1ecf69-568c-4d96-9d59-46444174e2d6") CPFG_SMARTCARD_PIN* = DEFINE_GUID("4fe5263b-9181-46c1-b0a4-9dedd4db7dea") CPFG_CREDENTIAL_PROVIDER_LOGO* = DEFINE_GUID("2d837775-f6cd-464e-a745-482fd0b47493") CPFG_CREDENTIAL_PROVIDER_LABEL* = DEFINE_GUID("286bbff3-bad4-438f-b007-79b7267c3d48") FOLDERID_AccountPictures* = DEFINE_GUID("008ca0b1-55b4-4c56-b8a8-4de4b299d3be") FOLDERID_AddNewPrograms* = DEFINE_GUID("de61d971-5ebc-4f02-a3a9-6c82895e5c04") FOLDERID_AdminTools* = DEFINE_GUID("724ef170-a42d-4fef-9f26-b60e846fba4f") FOLDERID_AppsFolder* = DEFINE_GUID("1e87508d-89c2-42f0-8a7e-645a0f50ca58") FOLDERID_ApplicationShortcuts* = DEFINE_GUID("a3918781-e5f2-4890-b3d9-a7e54332328c") FOLDERID_AppUpdates* = DEFINE_GUID("a305ce99-f527-492b-8b1a-7e76fa98d6e4") FOLDERID_CDBurning* = DEFINE_GUID("9e52ab10-f80d-49df-acb8-4330f5687855") FOLDERID_ChangeRemovePrograms* = DEFINE_GUID("df7266ac-9274-4867-8d55-3bd661de872d") FOLDERID_CommonAdminTools* = DEFINE_GUID("d0384e7d-bac3-4797-8f14-cba229b392b5") FOLDERID_CommonOEMLinks* = DEFINE_GUID("c1bae2d0-10df-4334-bedd-7aa20b227a9d") FOLDERID_CommonPrograms* = DEFINE_GUID("0139d44e-6afe-49f2-8690-3dafcae6ffb8") FOLDERID_CommonStartMenu* = DEFINE_GUID("a4115719-d62e-491d-aa7c-e74b8be3b067") FOLDERID_CommonStartup* = DEFINE_GUID("82a5ea35-d9cd-47c5-9629-e15d2f714e6e") FOLDERID_CommonTemplates* = DEFINE_GUID("b94237e7-57ac-4347-9151-b08c6c32d1f7") FOLDERID_ComputerFolder* = DEFINE_GUID("0ac0837c-bbf8-452a-850d-79d08e667ca7") FOLDERID_ConflictFolder* = DEFINE_GUID("4bfefb45-347d-4006-a5be-ac0cb0567192") FOLDERID_ConnectionsFolder* = DEFINE_GUID("6f0cd92b-2e97-45d1-88ff-b0d186b8dedd") FOLDERID_Contacts* = DEFINE_GUID("56784854-c6cb-462b-8169-88e350acb882") FOLDERID_ControlPanelFolder* = DEFINE_GUID("82a74aeb-aeb4-465c-a014-d097ee346d63") FOLDERID_Cookies* = DEFINE_GUID("2b0f765d-c0e9-4171-908e-08a611b84ff6") FOLDERID_Desktop* = DEFINE_GUID("b4bfcc3a-db2c-424c-b029-7fe99a87c641") FOLDERID_DeviceMetadataStore* = DEFINE_GUID("5ce4a5e9-e4eb-479d-b89f-130c02886155") FOLDERID_Documents* = DEFINE_GUID("fdd39ad0-238f-46af-adb4-6c85480369c7") FOLDERID_DocumentsLibrary* = DEFINE_GUID("7b0db17d-9cd2-4a93-9733-46cc89022e7c") FOLDERID_Downloads* = DEFINE_GUID("374de290-123f-4565-9164-39c4925e467b") FOLDERID_Favorites* = DEFINE_GUID("1777f761-68ad-4d8a-87bd-30b759fa33dd") FOLDERID_Fonts* = DEFINE_GUID("fd228cb7-ae11-4ae3-864c-16f3910ab8fe") FOLDERID_Games* = DEFINE_GUID("cac52c1a-b53d-4edc-92d7-6b2e8ac19434") FOLDERID_GameTasks* = DEFINE_GUID("054fae61-4dd8-4787-80b6-090220c4b700") FOLDERID_History* = DEFINE_GUID("d9dc8a3b-b784-432e-a781-5a1130a75963") FOLDERID_HomeGroup* = DEFINE_GUID("52528a6b-b9e3-4add-b60d-588c2dba842d") FOLDERID_HomeGroupCurrentUser* = DEFINE_GUID("9b74b6a3-0dfd-4f11-9e78-5f7800f2e772") FOLDERID_ImplicitAppShortcuts* = DEFINE_GUID("bcb5256f-79f6-4cee-b725-dc34e402fd46") FOLDERID_InternetCache* = DEFINE_GUID("352481e8-33be-4251-ba85-6007caedcf9d") FOLDERID_InternetFolder* = DEFINE_GUID("4d9f7874-4e0c-4904-967b-40b0d20c3e4b") FOLDERID_Libraries* = DEFINE_GUID("1b3ea5dc-b587-4786-b4ef-bd1dc332aeae") FOLDERID_Links* = DEFINE_GUID("bfb9d5e0-c6a9-404c-b2b2-ae6db6af4968") FOLDERID_LocalAppData* = DEFINE_GUID("f1b32785-6fba-4fcf-9d55-7b8e7f157091") FOLDERID_LocalAppDataLow* = DEFINE_GUID("a520a1a4-1780-4ff6-bd18-167343c5af16") FOLDERID_LocalizedResourcesDir* = DEFINE_GUID("2a00375e-224c-49de-b8d1-440df7ef3ddc") FOLDERID_Music* = DEFINE_GUID("4bd8d571-6d19-48d3-be97-422220080e43") FOLDERID_MusicLibrary* = DEFINE_GUID("2112ab0a-c86a-4ffe-a368-0de96e47012e") FOLDERID_NetHood* = DEFINE_GUID("c5abbf53-e17f-4121-8900-86626fc2c973") FOLDERID_NetworkFolder* = DEFINE_GUID("d20beec4-5ca8-4905-ae3b-bf251ea09b53") FOLDERID_OriginalImages* = DEFINE_GUID("2c36c0aa-5812-4b87-bfd0-4cd0dfb19b39") FOLDERID_PhotoAlbums* = DEFINE_GUID("69d2cf90-fc33-4fb7-9a0c-ebb0f0fcb43c") FOLDERID_Pictures* = DEFINE_GUID("33e28130-4e1e-4676-835a-98395c3bc3bb") FOLDERID_PicturesLibrary* = DEFINE_GUID("a990ae9f-a03b-4e80-94bc-9912d7504104") FOLDERID_Playlists* = DEFINE_GUID("de92c1c7-837f-4f69-a3bb-86e631204a23") FOLDERID_PrintHood* = DEFINE_GUID("9274bd8d-cfd1-41c3-b35e-b13f55a758f4") FOLDERID_PrintersFolder* = DEFINE_GUID("76fc4e2d-d6ad-4519-a663-37bd56068185") FOLDERID_Profile* = DEFINE_GUID("5e6c858f-0e22-4760-9afe-ea3317b67173") FOLDERID_ProgramData* = DEFINE_GUID("62ab5d82-fdc1-4dc3-a9dd-070d1d495d97") FOLDERID_ProgramFiles* = DEFINE_GUID("905e63b6-c1bf-494e-b29c-65b732d3d21a") FOLDERID_ProgramFilesX64* = DEFINE_GUID("6d809377-6af0-444b-8957-a3773f02200e") FOLDERID_ProgramFilesX86* = DEFINE_GUID("7c5a40ef-a0fb-4bfc-874a-c0f2e0b9fa8e") FOLDERID_ProgramFilesCommon* = DEFINE_GUID("f7f1ed05-9f6d-47a2-aaae-29d317c6f066") FOLDERID_ProgramFilesCommonX64* = DEFINE_GUID("6365d5a7-0f0d-45e5-87f6-0da56b6a4f7d") FOLDERID_ProgramFilesCommonX86* = DEFINE_GUID("de974d24-d9c6-4d3e-bf91-f4455120b917") FOLDERID_Programs* = DEFINE_GUID("a77f5d77-2e2b-44c3-a6a2-aba601054a51") FOLDERID_Public* = DEFINE_GUID("dfdf76a2-c82a-4d63-906a-5644ac457385") FOLDERID_PublicDesktop* = DEFINE_GUID("c4aa340d-f20f-4863-afef-f87ef2e6ba25") FOLDERID_PublicDocuments* = DEFINE_GUID("ed4824af-dce4-45a8-81e2-fc7965083634") FOLDERID_PublicDownloads* = DEFINE_GUID("3d644c9b-1fb8-4f30-9b45-f670235f79c0") FOLDERID_PublicGameTasks* = DEFINE_GUID("debf2536-e1a8-4c59-b6a2-414586476aea") FOLDERID_PublicLibraries* = DEFINE_GUID("48daf80b-e6cf-4f4e-b800-0e69d84ee384") FOLDERID_PublicMusic* = DEFINE_GUID("3214fab5-9757-4298-bb61-92a9deaa44ff") FOLDERID_PublicPictures* = DEFINE_GUID("b6ebfb86-6907-413c-9af7-4fc2abf07cc5") FOLDERID_PublicRingtones* = DEFINE_GUID("e555ab60-153b-4d17-9f04-a5fe99fc15ec") FOLDERID_PublicUserTiles* = DEFINE_GUID("0482af6c-08f1-4c34-8c90-e17ec98b1e17") FOLDERID_PublicVideos* = DEFINE_GUID("2400183a-6185-49fb-a2d8-4a392a602ba3") FOLDERID_QuickLaunch* = DEFINE_GUID("52a4f021-7b75-48a9-9f6b-4b87a210bc8f") FOLDERID_Recent* = DEFINE_GUID("ae50c081-ebd2-438a-8655-8a092e34987a") FOLDERID_RecordedTVLibrary* = DEFINE_GUID("1a6fdba2-f42d-4358-a798-b74d745926c5") FOLDERID_RecycleBinFolder* = DEFINE_GUID("b7534046-3ecb-4c18-be4e-64cd4cb7d6ac") FOLDERID_ResourceDir* = DEFINE_GUID("8ad10c31-2adb-4296-a8f7-e4701232c972") FOLDERID_Ringtones* = DEFINE_GUID("c870044b-f49e-4126-a9c3-b52a1ff411e8") FOLDERID_RoamingAppData* = DEFINE_GUID("3eb685db-65f9-4cf6-a03a-e3ef65729f3d") FOLDERID_RoamingTiles* = DEFINE_GUID("00bcfc5a-ed94-4e48-96a1-3f6217f21990") FOLDERID_RoamedTileImages* = DEFINE_GUID("aaa8d5a5-f1d6-4259-baa8-78e7ef60835e") FOLDERID_SampleMusic* = DEFINE_GUID("b250c668-f57d-4ee1-a63c-290ee7d1aa1f") FOLDERID_SamplePictures* = DEFINE_GUID("c4900540-2379-4c75-844b-64e6faf8716b") FOLDERID_SamplePlaylists* = DEFINE_GUID("15ca69b3-30ee-49c1-ace1-6b5ec372afb5") FOLDERID_SampleVideos* = DEFINE_GUID("859ead94-2e85-48ad-a71a-0969cb56a6cd") FOLDERID_SavedGames* = DEFINE_GUID("4c5c32ff-bb9d-43b0-b5b4-2d72e54eaaa4") FOLDERID_SavedSearches* = DEFINE_GUID("7d1d3a04-debb-4115-95cf-2f29da2920da") FOLDERID_Screenshots* = DEFINE_GUID("b7bede81-df94-4682-a7d8-57a52620b86f") FOLDERID_SEARCH_MAPI* = DEFINE_GUID("98ec0e18-2098-4d44-8644-66979315a281") FOLDERID_SEARCH_CSC* = DEFINE_GUID("ee32e446-31ca-4aba-814f-a5ebd2fd6d5e") FOLDERID_SearchHome* = DEFINE_GUID("190337d1-b8ca-4121-a639-6d472d16972a") FOLDERID_SendTo* = DEFINE_GUID("8983036c-27c0-404b-8f08-102d10dcfd74") FOLDERID_SidebarDefaultParts* = DEFINE_GUID("7b396e54-9ec5-4300-be0a-2482ebae1a26") FOLDERID_SidebarParts* = DEFINE_GUID("a75d362e-50fc-4fb7-ac2c-a8beaa314493") FOLDERID_StartMenu* = DEFINE_GUID("625b53c3-ab48-4ec1-ba1f-a1ef4146fc19") FOLDERID_Startup* = DEFINE_GUID("b97d20bb-f46a-4c97-ba10-5e3608430854") FOLDERID_SyncManagerFolder* = DEFINE_GUID("43668bf8-c14e-49b2-97c9-747784d784b7") FOLDERID_SyncResultsFolder* = DEFINE_GUID("289a9a43-be44-4057-a41b-587a76d7e7f9") FOLDERID_SyncSetupFolder* = DEFINE_GUID("0f214138-b1d3-4a90-bba9-27cbc0c5389a") FOLDERID_System* = DEFINE_GUID("1ac14e77-02e7-4e5d-b744-2eb1ae5198b7") FOLDERID_SystemX86* = DEFINE_GUID("d65231b0-b2f1-4857-a4ce-a8e7c6ea7d27") FOLDERID_Templates* = DEFINE_GUID("a63293e8-664e-48db-a079-df759e0509f7") FOLDERID_UserPinned* = DEFINE_GUID("9e3995ab-1f9c-4f13-b827-48b24b6c7174") FOLDERID_UserProfiles* = DEFINE_GUID("0762d272-c50a-4bb0-a382-697dcd729b80") FOLDERID_UserProgramFiles* = DEFINE_GUID("5cd7aee2-2219-4a67-b85d-6c9ce15660cb") FOLDERID_UserProgramFilesCommon* = DEFINE_GUID("bcbd3057-ca5c-4622-b42d-bc56db0ae516") FOLDERID_UsersFiles* = DEFINE_GUID("f3ce0f7c-4901-4acc-8648-d5d44b04ef8f") FOLDERID_UsersLibraries* = DEFINE_GUID("a302545d-deff-464b-abe8-61c8648d939b") FOLDERID_Videos* = DEFINE_GUID("18989b1d-99b5-455b-841c-ab7c74e4ddfc") FOLDERID_VideosLibrary* = DEFINE_GUID("491e922f-5643-4af4-a7eb-4e7a138d8174") FOLDERID_Windows* = DEFINE_GUID("f38bf404-1d43-42f2-9305-67de0b28fc23") FOLDERTYPEID_Invalid* = DEFINE_GUID("57807898-8c4f-4462-bb63-71042380b109") FOLDERTYPEID_Generic* = DEFINE_GUID("5c4f28b5-f869-4e84-8e60-f11db97c5cc7") FOLDERTYPEID_GenericSearchResults* = DEFINE_GUID("7fde1a1e-8b31-49a5-93b8-6be14cfa4943") FOLDERTYPEID_GenericLibrary* = DEFINE_GUID("5f4eab9a-6833-4f61-899d-31cf46979d49") FOLDERTYPEID_Documents* = DEFINE_GUID("7d49d726-3c21-4f05-99aa-fdc2c9474656") FOLDERTYPEID_Pictures* = DEFINE_GUID("b3690e58-e961-423b-b687-386ebfd83239") FOLDERTYPEID_Music* = DEFINE_GUID("94d6ddcc-4a68-4175-a374-bd584a510b78") FOLDERTYPEID_Videos* = DEFINE_GUID("5fa96407-7e77-483c-ac93-691d05850de8") FOLDERTYPEID_UserFiles* = DEFINE_GUID("cd0fc69b-71e2-46e5-9690-5bcd9f57aab3") FOLDERTYPEID_UsersLibraries* = DEFINE_GUID("c4d98f09-6124-4fe0-9942-826416082da9") FOLDERTYPEID_OtherUsers* = DEFINE_GUID("b337fd00-9dd5-4635-a6d4-da33fd102b7a") FOLDERTYPEID_PublishedItems* = DEFINE_GUID("7f2f5b96-ff74-41da-afd8-1c78a5f3aea2") FOLDERTYPEID_Communications* = DEFINE_GUID("91475fe5-586b-4eba-8d75-d17434b8cdf6") FOLDERTYPEID_Contacts* = DEFINE_GUID("de2b70ec-9bf7-4a93-bd3d-243f7881d492") FOLDERTYPEID_StartMenu* = DEFINE_GUID("ef87b4cb-f2ce-4785-8658-4ca6c63e38c6") FOLDERTYPEID_RecordedTV* = DEFINE_GUID("5557a28f-5da6-4f83-8809-c2c98a11a6fa") FOLDERTYPEID_SavedGames* = DEFINE_GUID("d0363307-28cb-4106-9f23-2956e3e5e0e7") FOLDERTYPEID_OpenSearch* = DEFINE_GUID("8faf9629-1980-46ff-8023-9dceab9c3ee3") FOLDERTYPEID_SearchConnector* = DEFINE_GUID("982725ee-6f47-479e-b447-812bfa7d2e8f") FOLDERTYPEID_AccountPictures* = DEFINE_GUID("db2a5d8f-06e6-4007-aba6-af877d526ea6") FOLDERTYPEID_Games* = DEFINE_GUID("b689b0d0-76d3-4cbb-87f7-585d0e0ce070") FOLDERTYPEID_ControlPanelCategory* = DEFINE_GUID("de4f0660-fa10-4b8f-a494-068b20b22307") FOLDERTYPEID_ControlPanelClassic* = DEFINE_GUID("0c3794f3-b545-43aa-a329-c37430c58d2a") FOLDERTYPEID_Printers* = DEFINE_GUID("2c7bbec6-c844-4a0a-91fa-cef6f59cfda1") FOLDERTYPEID_RecycleBin* = DEFINE_GUID("d6d9e004-cd87-442b-9d57-5e0aeb4f6f72") FOLDERTYPEID_SoftwareExplorer* = DEFINE_GUID("d674391b-52d9-4e07-834e-67c98610f39d") FOLDERTYPEID_CompressedFolder* = DEFINE_GUID("80213e82-bcfd-4c4f-8817-bb27601267a9") FOLDERTYPEID_NetworkExplorer* = DEFINE_GUID("25cc242b-9a7c-4f51-80e0-7a2928febe42") FOLDERTYPEID_Searches* = DEFINE_GUID("0b0ba2e3-405f-415e-a6ee-cad625207853") FOLDERTYPEID_SearchHome* = DEFINE_GUID("834d8a44-0974-4ed6-866e-f203d80b3810") SYNCMGR_OBJECTID_Icon* = DEFINE_GUID("6dbc85c3-5d07-4c72-a777-7fec78072c06") SYNCMGR_OBJECTID_EventStore* = DEFINE_GUID("4bef34b9-a786-4075-ba88-0c2b9d89a98f") SYNCMGR_OBJECTID_ConflictStore* = DEFINE_GUID("d78181f4-2389-47e4-a960-60bcc2ed930b") SYNCMGR_OBJECTID_BrowseContent* = DEFINE_GUID("57cbb584-e9b4-47ae-a120-c4df3335dee2") SYNCMGR_OBJECTID_ShowSchedule* = DEFINE_GUID("edc6f3e3-8441-4109-adf3-6c1ca0b7de47") SYNCMGR_OBJECTID_QueryBeforeActivate* = DEFINE_GUID("d882d80b-e7aa-49ed-86b7-e6e1f714cdfe") SYNCMGR_OBJECTID_QueryBeforeDeactivate* = DEFINE_GUID("a0efc282-60e0-460e-9374-ea88513cfc80") SYNCMGR_OBJECTID_QueryBeforeEnable* = DEFINE_GUID("04cbf7f0-5beb-4de1-bc90-908345c480f6") SYNCMGR_OBJECTID_QueryBeforeDisable* = DEFINE_GUID("bb5f64aa-f004-4eb5-8e4d-26751966344c") SYNCMGR_OBJECTID_QueryBeforeDelete* = DEFINE_GUID("f76c3397-afb3-45d7-a59f-5a49e905437e") SYNCMGR_OBJECTID_EventLinkClick* = DEFINE_GUID("2203bdc1-1af1-4082-8c30-28399f41384c") EP_NavPane* = DEFINE_GUID("cb316b22-25f7-42b8-8a09-540d23a43c2f") EP_Commands* = DEFINE_GUID("d9745868-ca5f-4a76-91cd-f5a129fbb076") EP_Commands_Organize* = DEFINE_GUID("72e81700-e3ec-4660-bf24-3c3b7b648806") EP_Commands_View* = DEFINE_GUID("21f7c32d-eeaa-439b-bb51-37b96fd6a943") EP_DetailsPane* = DEFINE_GUID("43abf98b-89b8-472d-b9ce-e69b8229f019") EP_PreviewPane* = DEFINE_GUID("893c63d1-45c8-4d17-be19-223be71be365") EP_QueryPane* = DEFINE_GUID("65bcde4f-4f07-4f27-83a7-1afca4df7ddd") EP_AdvQueryPane* = DEFINE_GUID("b4e9db8b-34ba-4c39-b5cc-16a1bd2c411c") EP_StatusBar* = DEFINE_GUID("65fe56ce-5cfe-4bc4-ad8a-7ae3fe7e8f7c") EP_Ribbon* = DEFINE_GUID("d27524a8-c9f2-4834-a106-df8889fd4f37") CATID_LocationFactory* = DEFINE_GUID("965c4d51-8b76-4e57-80b7-564d2ea4b55e") CATID_LocationProvider* = DEFINE_GUID("1b3ca474-2614-414b-b813-1aceca3e3dd8") ItemCount_Property_GUID* = DEFINE_GUID("abbf5c45-5ccc-47b7-bb4e-87cb87bbd162") SelectedItemCount_Property_GUID* = DEFINE_GUID("8fe316d2-0e52-460a-9c1e-48f273d470a3") ItemIndex_Property_GUID* = DEFINE_GUID("92a053da-2969-4021-bf27-514cfc2e4a69") CATID_SearchableApplication* = DEFINE_GUID("366c292a-d9b3-4dbf-bb70-e62ec3d0bbbf") IID_IObjectArray* = DEFINE_GUID("92ca9dcd-5622-4bba-a805-5e9f541bd8c9") IID_IObjectCollection* = DEFINE_GUID("5632b1a4-e38a-400a-928a-d4cd63230295") COPYENGINE_S_YES* = HRESULT 0x00270001 COPYENGINE_S_NOT_HANDLED* = HRESULT 0x00270003 COPYENGINE_S_USER_RETRY* = HRESULT 0x00270004 COPYENGINE_S_USER_IGNORED* = HRESULT 0x00270005 COPYENGINE_S_MERGE* = HRESULT 0x00270006 COPYENGINE_S_DONT_PROCESS_CHILDREN* = HRESULT 0x00270008 COPYENGINE_S_ALREADY_DONE* = HRESULT 0x0027000a COPYENGINE_S_PENDING* = HRESULT 0x0027000b COPYENGINE_S_KEEP_BOTH* = HRESULT 0x0027000c COPYENGINE_S_CLOSE_PROGRAM* = HRESULT 0x0027000d COPYENGINE_S_COLLISIONRESOLVED* = HRESULT 0x0027000e COPYENGINE_S_PROGRESS_PAUSE* = HRESULT 0x0027000f COPYENGINE_E_USER_CANCELLED* = HRESULT 0x80270000'i32 COPYENGINE_E_CANCELLED* = HRESULT 0x80270001'i32 COPYENGINE_E_REQUIRES_ELEVATION* = HRESULT 0x80270002'i32 COPYENGINE_E_SAME_FILE* = HRESULT 0x80270003'i32 COPYENGINE_E_DIFF_DIR* = HRESULT 0x80270004'i32 COPYENGINE_E_MANY_SRC_1_DEST* = HRESULT 0x80270005'i32 COPYENGINE_E_DEST_SUBTREE* = HRESULT 0x80270009'i32 COPYENGINE_E_DEST_SAME_TREE* = HRESULT 0x8027000a'i32 COPYENGINE_E_FLD_IS_FILE_DEST* = HRESULT 0x8027000b'i32 COPYENGINE_E_FILE_IS_FLD_DEST* = HRESULT 0x8027000c'i32 COPYENGINE_E_FILE_TOO_LARGE* = HRESULT 0x8027000d'i32 COPYENGINE_E_REMOVABLE_FULL* = HRESULT 0x8027000e'i32 COPYENGINE_E_DEST_IS_RO_CD* = HRESULT 0x8027000f'i32 COPYENGINE_E_DEST_IS_RW_CD* = HRESULT 0x80270010'i32 COPYENGINE_E_DEST_IS_R_CD* = HRESULT 0x80270011'i32 COPYENGINE_E_DEST_IS_RO_DVD* = HRESULT 0x80270012'i32 COPYENGINE_E_DEST_IS_RW_DVD* = HRESULT 0x80270013'i32 COPYENGINE_E_DEST_IS_R_DVD* = HRESULT 0x80270014'i32 COPYENGINE_E_SRC_IS_RO_CD* = HRESULT 0x80270015'i32 COPYENGINE_E_SRC_IS_RW_CD* = HRESULT 0x80270016'i32 COPYENGINE_E_SRC_IS_R_CD* = HRESULT 0x80270017'i32 COPYENGINE_E_SRC_IS_RO_DVD* = HRESULT 0x80270018'i32 COPYENGINE_E_SRC_IS_RW_DVD* = HRESULT 0x80270019'i32 COPYENGINE_E_SRC_IS_R_DVD* = HRESULT 0x8027001a'i32 COPYENGINE_E_INVALID_FILES_SRC* = HRESULT 0x8027001b'i32 COPYENGINE_E_INVALID_FILES_DEST* = HRESULT 0x8027001c'i32 COPYENGINE_E_PATH_TOO_DEEP_SRC* = HRESULT 0x8027001d'i32 COPYENGINE_E_PATH_TOO_DEEP_DEST* = HRESULT 0x8027001e'i32 COPYENGINE_E_ROOT_DIR_SRC* = HRESULT 0x8027001f'i32 COPYENGINE_E_ROOT_DIR_DEST* = HRESULT 0x80270020'i32 COPYENGINE_E_ACCESS_DENIED_SRC* = HRESULT 0x80270021'i32 COPYENGINE_E_ACCESS_DENIED_DEST* = HRESULT 0x80270022'i32 COPYENGINE_E_PATH_NOT_FOUND_SRC* = HRESULT 0x80270023'i32 COPYENGINE_E_PATH_NOT_FOUND_DEST* = HRESULT 0x80270024'i32 COPYENGINE_E_NET_DISCONNECT_SRC* = HRESULT 0x80270025'i32 COPYENGINE_E_NET_DISCONNECT_DEST* = HRESULT 0x80270026'i32 COPYENGINE_E_SHARING_VIOLATION_SRC* = HRESULT 0x80270027'i32 COPYENGINE_E_SHARING_VIOLATION_DEST* = HRESULT 0x80270028'i32 COPYENGINE_E_ALREADY_EXISTS_NORMAL* = HRESULT 0x80270029'i32 COPYENGINE_E_ALREADY_EXISTS_READONLY* = HRESULT 0x8027002a'i32 COPYENGINE_E_ALREADY_EXISTS_SYSTEM* = HRESULT 0x8027002b'i32 COPYENGINE_E_ALREADY_EXISTS_FOLDER* = HRESULT 0x8027002c'i32 COPYENGINE_E_STREAM_LOSS* = HRESULT 0x8027002d'i32 COPYENGINE_E_EA_LOSS* = HRESULT 0x8027002e'i32 COPYENGINE_E_PROPERTY_LOSS* = HRESULT 0x8027002f'i32 COPYENGINE_E_PROPERTIES_LOSS* = HRESULT 0x80270030'i32 COPYENGINE_E_ENCRYPTION_LOSS* = HRESULT 0x80270031'i32 COPYENGINE_E_DISK_FULL* = HRESULT 0x80270032'i32 COPYENGINE_E_DISK_FULL_CLEAN* = HRESULT 0x80270033'i32 COPYENGINE_E_EA_NOT_SUPPORTED* = HRESULT 0x80270034'i32 COPYENGINE_E_CANT_REACH_SOURCE* = HRESULT 0x80270035'i32 COPYENGINE_E_RECYCLE_UNKNOWN_ERROR* = HRESULT 0x80270035'i32 COPYENGINE_E_RECYCLE_FORCE_NUKE* = HRESULT 0x80270036'i32 COPYENGINE_E_RECYCLE_SIZE_TOO_BIG* = HRESULT 0x80270037'i32 COPYENGINE_E_RECYCLE_PATH_TOO_LONG* = HRESULT 0x80270038'i32 COPYENGINE_E_RECYCLE_BIN_NOT_FOUND* = HRESULT 0x8027003a'i32 COPYENGINE_E_NEWFILE_NAME_TOO_LONG* = HRESULT 0x8027003b'i32 COPYENGINE_E_NEWFOLDER_NAME_TOO_LONG* = HRESULT 0x8027003c'i32 COPYENGINE_E_DIR_NOT_EMPTY* = HRESULT 0x8027003d'i32 COPYENGINE_E_FAT_MAX_IN_ROOT* = HRESULT 0x8027003e'i32 COPYENGINE_E_ACCESSDENIED_READONLY* = HRESULT 0x8027003f'i32 COPYENGINE_E_REDIRECTED_TO_WEBPAGE* = HRESULT 0x80270040'i32 COPYENGINE_E_SERVER_BAD_FILE_TYPE* = HRESULT 0x80270041'i32 NETCACHE_E_NEGATIVE_CACHE* = HRESULT 0x80270100'i32 EXECUTE_E_LAUNCH_APPLICATION* = HRESULT 0x80270101'i32 SHELL_E_WRONG_BITDEPTH* = HRESULT 0x80270102'i32 LINK_E_DELETE* = HRESULT 0x80270103'i32 STORE_E_NEWER_VERSION_AVAILABLE* = HRESULT 0x80270104'i32 LIBRARY_E_NO_SAVE_LOCATION* = HRESULT 0x80270200'i32 LIBRARY_E_NO_ACCESSIBLE_LOCATION* = HRESULT 0x80270201'i32 E_USERTILE_UNSUPPORTEDFILETYPE* = HRESULT 0x80270210'i32 E_USERTILE_CHANGEDISABLED* = HRESULT 0x80270211'i32 E_USERTILE_LARGEORDYNAMIC* = HRESULT 0x80270212'i32 E_USERTILE_VIDEOFRAMESIZE* = HRESULT 0x80270213'i32 E_USERTILE_FILESIZE* = HRESULT 0x80270214'i32 IMM_ACC_DOCKING_E_INSUFFICIENTHEIGHT* = HRESULT 0x80270230'i32 IMM_ACC_DOCKING_E_DOCKOCCUPIED* = HRESULT 0x80270231'i32 IMSC_E_SHELL_COMPONENT_STARTUP_FAILURE* = HRESULT 0x80270233'i32 E_TILE_NOTIFICATIONS_PLATFORM_FAILURE* = HRESULT 0x80270249'i32 E_SHELL_EXTENSION_BLOCKED* = HRESULT 0x80270301'i32 CMF_NORMAL* = 0x0 CMF_DEFAULTONLY* = 0x1 CMF_VERBSONLY* = 0x2 CMF_EXPLORE* = 0x4 CMF_NOVERBS* = 0x8 CMF_CANRENAME* = 0x10 CMF_NODEFAULT* = 0x20 CMF_INCLUDESTATIC* = 0x40 CMF_ITEMMENU* = 0x80 CMF_EXTENDEDVERBS* = 0x100 CMF_DISABLEDVERBS* = 0x200 CMF_ASYNCVERBSTATE* = 0x400 CMF_OPTIMIZEFORINVOKE* = 0x800 CMF_SYNCCASCADEMENU* = 0x1000 CMF_DONOTPICKDEFAULT* = 0x2000 CMF_RESERVED* = 0xffff0000'i32 GCS_VERBA* = 0x0 GCS_HELPTEXTA* = 0x1 GCS_VALIDATEA* = 0x2 GCS_VERBW* = 0x4 GCS_HELPTEXTW* = 0x5 GCS_VALIDATEW* = 0x6 GCS_VERBICONW* = 0x14 GCS_UNICODE* = 0x4 CMDSTR_NEWFOLDERA* = "NewFolder" CMDSTR_VIEWLISTA* = "ViewList" CMDSTR_VIEWDETAILSA* = "ViewDetails" CMDSTR_NEWFOLDERW* = "NewFolder" CMDSTR_VIEWLISTW* = "ViewList" CMDSTR_VIEWDETAILSW* = "ViewDetails" CMIC_MASK_HOTKEY* = SEE_MASK_HOTKEY CMIC_MASK_ICON* = SEE_MASK_ICON CMIC_MASK_FLAG_NO_UI* = SEE_MASK_FLAG_NO_UI CMIC_MASK_UNICODE* = SEE_MASK_UNICODE CMIC_MASK_NO_CONSOLE* = SEE_MASK_NO_CONSOLE CMIC_MASK_ASYNCOK* = SEE_MASK_ASYNCOK CMIC_MASK_NOASYNC* = SEE_MASK_NOASYNC CMIC_MASK_SHIFT_DOWN* = 0x10000000 CMIC_MASK_CONTROL_DOWN* = 0x40000000 CMIC_MASK_FLAG_LOG_USAGE* = SEE_MASK_FLAG_LOG_USAGE CMIC_MASK_NOZONECHECKS* = SEE_MASK_NOZONECHECKS CMIC_MASK_PTINVOKE* = 0x20000000 IID_IContextMenu* = DEFINE_GUID("000214e4-0000-0000-c000-000000000046") IID_IContextMenu2* = DEFINE_GUID("000214f4-0000-0000-c000-000000000046") IID_IContextMenu3* = DEFINE_GUID("bcfce0a0-ec17-11d0-8d10-00a0c90f2719") IID_IExecuteCommand* = DEFINE_GUID("7f9185b0-cb92-43c5-80a9-92277a4f7b54") IID_IPersistFolder* = DEFINE_GUID("000214ea-0000-0000-c000-000000000046") IRTIR_TASK_NOT_RUNNING* = 0 IRTIR_TASK_RUNNING* = 1 IRTIR_TASK_SUSPENDED* = 2 IRTIR_TASK_PENDING* = 3 IRTIR_TASK_FINISHED* = 4 IID_IRunnableTask* = DEFINE_GUID("85788d00-6807-11d0-b810-00c04fd706ec") TOID_NULL* = GUID_NULL ITSAT_DEFAULT_PRIORITY* = 0x10000000 ITSAT_MAX_PRIORITY* = 0x7fffffff ITSAT_MIN_PRIORITY* = 0x00000000 ITSSFLAG_COMPLETE_ON_DESTROY* = 0x0 ITSSFLAG_KILL_ON_DESTROY* = 0x1 ITSSFLAG_FLAGS_MASK* = 0x3 ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT* = 10*1000 ITSS_THREAD_TERMINATE_TIMEOUT* = INFINITE ITSS_THREAD_TIMEOUT_NO_CHANGE* = INFINITE-1 IID_IShellTaskScheduler* = DEFINE_GUID("6ccb7be0-6807-11d0-b810-00c04fd706ec") SID_ShellTaskScheduler* = IID_IShellTaskScheduler IID_IQueryCodePage* = DEFINE_GUID("c7b236ce-ee80-11d0-985f-006008059382") IID_IPersistFolder2* = DEFINE_GUID("1ac3d9f0-175c-11d1-95be-00609797ea4f") CSIDL_FLAG_DONT_VERIFY* = 0x4000 CSIDL_FLAG_PFTI_TRACKTARGET* = CSIDL_FLAG_DONT_VERIFY IID_IPersistFolder3* = DEFINE_GUID("cef04fdf-fe72-11d2-87a5-00c04f6837cf") IID_IPersistIDList* = DEFINE_GUID("1079acfc-29bd-11d3-8e0d-00c04f6837d5") IID_IEnumIDList* = DEFINE_GUID("000214f2-0000-0000-c000-000000000046") IID_IEnumFullIDList* = DEFINE_GUID("d0191542-7954-4908-bc06-b2360bbe45ba") SHGDN_NORMAL* = 0x0 SHGDN_INFOLDER* = 0x1 SHGDN_FOREDITING* = 0x1000 SHGDN_FORADDRESSBAR* = 0x4000 SHGDN_FORPARSING* = 0x8000 SHCONTF_CHECKING_FOR_CHILDREN* = 0x10 SHCONTF_FOLDERS* = 0x20 SHCONTF_NONFOLDERS* = 0x40 SHCONTF_INCLUDEHIDDEN* = 0x80 SHCONTF_INIT_ON_FIRST_NEXT* = 0x100 SHCONTF_NETPRINTERSRCH* = 0x200 SHCONTF_SHAREABLE* = 0x400 SHCONTF_STORAGE* = 0x800 SHCONTF_NAVIGATION_ENUM* = 0x1000 SHCONTF_FASTITEMS* = 0x2000 SHCONTF_FLATLIST* = 0x4000 SHCONTF_ENABLE_ASYNC* = 0x8000 SHCONTF_INCLUDESUPERHIDDEN* = 0x10000 SHCIDS_ALLFIELDS* = 0x80000000'i32 SHCIDS_CANONICALONLY* = 0x10000000 SHCIDS_BITMASK* = 0xffff0000'i32 SHCIDS_COLUMNMASK* = 0x0000ffff SFGAO_CANCOPY* = DROPEFFECT_COPY SFGAO_CANMOVE* = DROPEFFECT_MOVE SFGAO_CANLINK* = DROPEFFECT_LINK SFGAO_STORAGE* = 0x8 SFGAO_CANRENAME* = 0x10 SFGAO_CANDELETE* = 0x20 SFGAO_HASPROPSHEET* = 0x40 SFGAO_DROPTARGET* = 0x100 SFGAO_CAPABILITYMASK* = 0x177 SFGAO_SYSTEM* = 0x1000 SFGAO_ENCRYPTED* = 0x2000 SFGAO_ISSLOW* = 0x4000 SFGAO_GHOSTED* = 0x8000 SFGAO_LINK* = 0x10000 SFGAO_SHARE* = 0x20000 SFGAO_READONLY* = 0x40000 SFGAO_HIDDEN* = 0x80000 SFGAO_DISPLAYATTRMASK* = 0xfc000 SFGAO_FILESYSANCESTOR* = 0x10000000 SFGAO_FOLDER* = 0x20000000 SFGAO_FILESYSTEM* = 0x40000000 SFGAO_HASSUBFOLDER* = 0x80000000'i32 SFGAO_CONTENTSMASK* = 0x80000000'i32 SFGAO_VALIDATE* = 0x1000000 SFGAO_REMOVABLE* = 0x2000000 SFGAO_COMPRESSED* = 0x4000000 SFGAO_BROWSABLE* = 0x8000000 SFGAO_NONENUMERATED* = 0x100000 SFGAO_NEWCONTENT* = 0x200000 SFGAO_CANMONIKER* = 0x400000 SFGAO_HASSTORAGE* = 0x400000 SFGAO_STREAM* = 0x400000 SFGAO_STORAGEANCESTOR* = 0x00800000 SFGAO_STORAGECAPMASK* = 0x70c50008 SFGAO_PKEYSFGAOMASK* = 0x81044000'i32 STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE* = "Force Folder Shortcut Resolve" STR_AVOID_DRIVE_RESTRICTION_POLICY* = "Avoid Drive Restriction Policy" STR_SKIP_BINDING_CLSID* = "Skip Binding CLSID" STR_PARSE_PREFER_FOLDER_BROWSING* = "Parse Prefer Folder Browsing" STR_DONT_PARSE_RELATIVE* = "Don't Parse Relative" STR_PARSE_TRANSLATE_ALIASES* = "Parse Translate Aliases" STR_PARSE_SKIP_NET_CACHE* = "Skip Net Resource Cache" STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS* = "Parse Shell Protocol To File Objects" STR_TRACK_CLSID* = "Track the CLSID" STR_INTERNAL_NAVIGATE* = "Internal Navigation" STR_PARSE_PROPERTYSTORE* = "DelegateNamedProperties" STR_NO_VALIDATE_FILENAME_CHARS* = "NoValidateFilenameChars" STR_BIND_DELEGATE_CREATE_OBJECT* = "Delegate Object Creation" STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS* = "Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING" STR_PARSE_PREFER_WEB_BROWSING* = "Do not bind to Internet shell folder handlers" STR_PARSE_SHOW_NET_DIAGNOSTICS_UI* = "Show network diagnostics UI" STR_PARSE_DONT_REQUIRE_VALIDATED_URLS* = "Do not require validated URLs" STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE* = "Validate UR" BIND_INTERRUPTABLE* = 0xffffffff'i32 STR_BIND_FOLDERS_READ_ONLY* = "Folders As Read Only" STR_BIND_FOLDER_ENUM_MODE* = "Folder Enum Mode" FEM_VIEWRESULT* = 0 FEM_NAVIGATION* = 1 IID_IObjectWithFolderEnumMode* = DEFINE_GUID("6a9d9026-0e6e-464c-b000-42ecc07de673") STR_PARSE_WITH_EXPLICIT_PROGID* = "ExplicitProgid" STR_PARSE_WITH_EXPLICIT_ASSOCAPP* = "ExplicitAssociationApp" STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL* = "ExplicitAssociationSuccessful" STR_PARSE_AND_CREATE_ITEM* = "ParseAndCreateItem" STR_PROPERTYBAG_PARAM* = "SHBindCtxPropertyBag" STR_ENUM_ITEMS_FLAGS* = "SHCONTF" IID_IParseAndCreateItem* = DEFINE_GUID("67efed0e-e827-4408-b493-78f3982b685c") STR_ITEM_CACHE_CONTEXT* = "ItemCacheContext" IID_IShellFolder* = DEFINE_GUID("000214e6-0000-0000-c000-000000000046") IID_IEnumExtraSearch* = DEFINE_GUID("0e700be1-9db6-11d1-a1ce-00c04fd75d13") IID_IShellFolder2* = DEFINE_GUID("93f2f68c-1d1b-11d3-a30e-00c04f79abd1") FWF_NONE* = 0x0 FWF_AUTOARRANGE* = 0x1 FWF_ABBREVIATEDNAMES* = 0x2 FWF_SNAPTOGRID* = 0x4 FWF_OWNERDATA* = 0x8 FWF_BESTFITWINDOW* = 0x10 FWF_DESKTOP* = 0x20 FWF_SINGLESEL* = 0x40 FWF_NOSUBFOLDERS* = 0x80 FWF_TRANSPARENT* = 0x100 FWF_NOCLIENTEDGE* = 0x200 FWF_NOSCROLL* = 0x400 FWF_ALIGNLEFT* = 0x800 FWF_NOICONS* = 0x1000 FWF_SHOWSELALWAYS* = 0x2000 FWF_NOVISIBLE* = 0x4000 FWF_SINGLECLICKACTIVATE* = 0x8000 FWF_NOWEBVIEW* = 0x10000 FWF_HIDEFILENAMES* = 0x20000 FWF_CHECKSELECT* = 0x40000 FWF_NOENUMREFRESH* = 0x80000 FWF_NOGROUPING* = 0x100000 FWF_FULLROWSELECT* = 0x200000 FWF_NOFILTERS* = 0x400000 FWF_NOCOLUMNHEADER* = 0x800000 FWF_NOHEADERINALLVIEWS* = 0x1000000 FWF_EXTENDEDTILES* = 0x2000000 FWF_TRICHECKSELECT* = 0x4000000 FWF_AUTOCHECKSELECT* = 0x8000000 FWF_NOBROWSERVIEWSTATE* = 0x10000000 FWF_SUBSETGROUPS* = 0x20000000 FWF_USESEARCHFOLDER* = 0x40000000 FWF_ALLOWRTLREADING* = 0x80000000'i32 FVM_AUTO* = -1 FVM_FIRST* = 1 FVM_ICON* = 1 FVM_SMALLICON* = 2 FVM_LIST* = 3 FVM_DETAILS* = 4 FVM_THUMBNAIL* = 5 FVM_TILE* = 6 FVM_THUMBSTRIP* = 7 FVM_CONTENT* = 8 FVM_LAST* = 8 FLVM_UNSPECIFIED* = -1 FLVM_FIRST* = 1 FLVM_DETAILS* = 1 FLVM_TILES* = 2 FLVM_ICONS* = 3 FLVM_LIST* = 4 FLVM_CONTENT* = 5 FLVM_LAST* = 5 FVO_DEFAULT* = 0x0 FVO_VISTALAYOUT* = 0x1 FVO_CUSTOMPOSITION* = 0x2 FVO_CUSTOMORDERING* = 0x4 FVO_SUPPORTHYPERLINKS* = 0x8 FVO_NOANIMATIONS* = 0x10 FVO_NOSCROLLTIPS* = 0x20 IID_IFolderViewOptions* = DEFINE_GUID("3cc974d2-b302-4d36-ad3e-06d93f695d3f") SVSI_DESELECT* = 0x0 SVSI_SELECT* = 0x1 SVSI_EDIT* = 0x3 SVSI_DESELECTOTHERS* = 0x4 SVSI_ENSUREVISIBLE* = 0x8 SVSI_FOCUSED* = 0x10 SVSI_TRANSLATEPT* = 0x20 SVSI_SELECTIONMARK* = 0x40 SVSI_POSITIONITEM* = 0x80 SVSI_CHECK* = 0x100 SVSI_CHECK2* = 0x200 SVSI_KEYBOARDSELECT* = 0x401 SVSI_NOTAKEFOCUS* = 0x40000000 SVSI_NOSTATECHANGE* = UINT 0x80000000'i32 SVGIO_BACKGROUND* = 0x0 SVGIO_SELECTION* = 0x1 SVGIO_ALLVIEW* = 0x2 SVGIO_CHECKED* = 0x3 SVGIO_TYPE_MASK* = 0xf SVGIO_FLAG_VIEWORDER* = 0x80000000'i32 SVUIA_DEACTIVATE* = 0 SVUIA_ACTIVATE_NOFOCUS* = 1 SVUIA_ACTIVATE_FOCUS* = 2 SVUIA_INPLACEACTIVATE* = 3 IID_IShellView* = DEFINE_GUID("000214e3-0000-0000-c000-000000000046") SV2GV_CURRENTVIEW* = UINT(-1) SV2GV_DEFAULTVIEW* = UINT(-2) IID_IShellView2* = DEFINE_GUID("88e39e80-3578-11cf-ae69-08002b2e1262") SV3CVW3_DEFAULT* = 0x0 SV3CVW3_NONINTERACTIVE* = 0x1 SV3CVW3_FORCEVIEWMODE* = 0x2 SV3CVW3_FORCEFOLDERFLAGS* = 0x4 IID_IShellView3* = DEFINE_GUID("ec39fa88-f8af-41c5-8421-38bed28f4673") IID_IFolderView* = DEFINE_GUID("cde725b0-ccc9-4519-917e-325d72fab4ce") SID_SFolderView* = IID_IFolderView IID_ISearchBoxInfo* = DEFINE_GUID("6af6e03f-d664-4ef4-9626-f7e0ed36755e") SORT_DESCENDING* = -1 SORT_ASCENDING* = 1 FVST_EMPTYTEXT* = 0 IID_IFolderView2* = DEFINE_GUID("1af3a467-214f-4298-908e-06b03e0b39f9") IID_IFolderViewSettings* = DEFINE_GUID("ae8c987d-8797-4ed3-be72-2a47dd938db0") IID_IPreviewHandlerVisuals* = DEFINE_GUID("196bf9a5-b346-4ef0-aa1e-5dcdb76768b1") VPWF_DEFAULT* = 0x0 VPWF_ALPHABLEND* = 0x1 VPCF_TEXT* = 1 VPCF_BACKGROUND* = 2 VPCF_SORTCOLUMN* = 3 VPCF_SUBTEXT* = 4 VPCF_TEXTBACKGROUND* = 5 IID_IVisualProperties* = DEFINE_GUID("e693cf68-d967-4112-8763-99172aee5e5a") CDBOSC_SETFOCUS* = 0x00000000 CDBOSC_KILLFOCUS* = 0x00000001 CDBOSC_SELCHANGE* = 0x00000002 CDBOSC_RENAME* = 0x00000003 CDBOSC_STATECHANGE* = 0x00000004 IID_ICommDlgBrowser* = DEFINE_GUID("000214f1-0000-0000-c000-000000000046") SID_SExplorerBrowserFrame* = IID_ICommDlgBrowser CDB2N_CONTEXTMENU_DONE* = 0x00000001 CDB2N_CONTEXTMENU_START* = 0x00000002 CDB2GVF_SHOWALLFILES* = 0x1 CDB2GVF_ISFILESAVE* = 0x2 CDB2GVF_ALLOWPREVIEWPANE* = 0x4 CDB2GVF_NOSELECTVERB* = 0x8 CDB2GVF_NOINCLUDEITEM* = 0x10 CDB2GVF_ISFOLDERPICKER* = 0x20 CDB2GVF_ADDSHIELD* = 0x40 IID_ICommDlgBrowser2* = DEFINE_GUID("10339516-2894-11d2-9039-00c04f8eeb3e") IID_ICommDlgBrowser3* = DEFINE_GUID("c8ad25a1-3294-41ee-8165-71174bd01c57") CM_MASK_WIDTH* = 0x1 CM_MASK_DEFAULTWIDTH* = 0x2 CM_MASK_IDEALWIDTH* = 0x4 CM_MASK_NAME* = 0x8 CM_MASK_STATE* = 0x10 CM_STATE_NONE* = 0x0 CM_STATE_VISIBLE* = 0x1 CM_STATE_FIXEDWIDTH* = 0x2 CM_STATE_NOSORTBYFOLDERNESS* = 0x4 CM_STATE_ALWAYSVISIBLE* = 0x8 CM_ENUM_ALL* = 0x1 CM_ENUM_VISIBLE* = 0x2 CM_WIDTH_USEDEFAULT* = -1 CM_WIDTH_AUTOSIZE* = -2 IID_IColumnManager* = DEFINE_GUID("d8ec27bb-3f3b-4042-b10a-4acfd924d453") IID_IFolderFilterSite* = DEFINE_GUID("c0a651f5-b48b-11d2-b5ed-006097c686f6") IID_IFolderFilter* = DEFINE_GUID("9cc22886-dc8e-11d2-b1d0-00c04f8eeb3e") IID_IInputObjectSite* = DEFINE_GUID("f1db8392-7331-11d0-8c99-00a0c92dbfe8") IID_IInputObject* = DEFINE_GUID("68284faa-6a48-11d0-8c78-00c04fd918b4") IID_IInputObject2* = DEFINE_GUID("6915c085-510b-44cd-94af-28dfa56cf92b") IID_IShellIcon* = DEFINE_GUID("000214e5-0000-0000-c000-000000000046") SBSP_DEFBROWSER* = 0x0000 SBSP_SAMEBROWSER* = 0x0001 SBSP_NEWBROWSER* = 0x0002 SBSP_DEFMODE* = 0x0000 SBSP_OPENMODE* = 0x0010 SBSP_EXPLOREMODE* = 0x0020 SBSP_HELPMODE* = 0x0040 SBSP_NOTRANSFERHIST* = 0x0080 SBSP_ABSOLUTE* = 0x0000 SBSP_RELATIVE* = 0x1000 SBSP_PARENT* = 0x2000 SBSP_NAVIGATEBACK* = 0x4000 SBSP_NAVIGATEFORWARD* = 0x8000 SBSP_ALLOW_AUTONAVIGATE* = 0x00010000 SBSP_KEEPSAMETEMPLATE* = 0x00020000 SBSP_KEEPWORDWHEELTEXT* = 0x00040000 SBSP_ACTIVATE_NOFOCUS* = 0x00080000 SBSP_CREATENOHISTORY* = 0x00100000 SBSP_PLAYNOSOUND* = 0x00200000 SBSP_CALLERUNTRUSTED* = 0x00800000 SBSP_TRUSTFIRSTDOWNLOAD* = 0x01000000 SBSP_UNTRUSTEDFORDOWNLOAD* = 0x02000000 SBSP_NOAUTOSELECT* = 0x04000000 SBSP_WRITENOHISTORY* = 0x08000000 SBSP_TRUSTEDFORACTIVEX* = 0x10000000 SBSP_FEEDNAVIGATION* = 0x20000000 SBSP_REDIRECT* = 0x40000000 SBSP_INITIATEDBYHLINKFRAME* = 0x80000000'i32 FCW_STATUS* = 0x0001 FCW_TOOLBAR* = 0x0002 FCW_TREE* = 0x0003 FCW_INTERNETBAR* = 0x0006 FCW_PROGRESS* = 0x0008 FCT_MERGE* = 0x0001 FCT_CONFIGABLE* = 0x0002 FCT_ADDTOEND* = 0x0004 IID_IProfferService* = DEFINE_GUID("cb728b20-f786-11ce-92ad-00aa00a74cd0") SID_SProfferService* = IID_IProfferService STR_DONT_RESOLVE_LINK* = "Don't Resolve Link" STR_GET_ASYNC_HANDLER* = "GetAsyncHandler" SIGDN_NORMALDISPLAY* = 0x0 SIGDN_PARENTRELATIVEPARSING* = int32 0x80018001'i32 SIGDN_DESKTOPABSOLUTEPARSING* = int32 0x80028000'i32 SIGDN_PARENTRELATIVEEDITING* = int32 0x80031001'i32 SIGDN_DESKTOPABSOLUTEEDITING* = int32 0x8004c000'i32 SIGDN_FILESYSPATH* = int32 0x80058000'i32 SIGDN_URL* = int32 0x80068000'i32 SIGDN_PARENTRELATIVEFORADDRESSBAR* = int32 0x8007c001'i32 SIGDN_PARENTRELATIVE* = int32 0x80080001'i32 SIGDN_PARENTRELATIVEFORUI* = int32 0x80094001'i32 SICHINT_DISPLAY* = 0x0 SICHINT_ALLFIELDS* = int32 0x80000000'i32 SICHINT_CANONICAL* = 0x10000000 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL* = 0x20000000 IID_IShellItem* = DEFINE_GUID("43826d1e-e718-42ee-bc55-a1e261c37bfe") DOGIF_DEFAULT* = 0x0 DOGIF_TRAVERSE_LINK* = 0x1 DOGIF_NO_HDROP* = 0x2 DOGIF_NO_URL* = 0x4 DOGIF_ONLY_IF_ONE* = 0x8 STR_GPS_HANDLERPROPERTIESONLY* = "GPS_HANDLERPROPERTIESONLY" STR_GPS_FASTPROPERTIESONLY* = "GPS_FASTPROPERTIESONLY" STR_GPS_OPENSLOWITEM* = "GPS_OPENSLOWITEM" STR_GPS_DELAYCREATION* = "GPS_DELAYCREATION" STR_GPS_BESTEFFORT* = "GPS_BESTEFFORT" STR_GPS_NO_OPLOCK* = "GPS_NO_OPLOCK" IID_IShellItem2* = DEFINE_GUID("7e9fb0d3-919f-4307-ab2e-9b1860310c93") SIIGBF_RESIZETOFIT* = 0x0 SIIGBF_BIGGERSIZEOK* = 0x1 SIIGBF_MEMORYONLY* = 0x2 SIIGBF_ICONONLY* = 0x4 SIIGBF_THUMBNAILONLY* = 0x8 SIIGBF_INCACHEONLY* = 0x10 SIIGBF_CROPTOSQUARE* = 0x20 SIIGBF_WIDETHUMBNAILS* = 0x40 SIIGBF_ICONBACKGROUND* = 0x80 SIIGBF_SCALEUP* = 0x100 IID_IShellItemImageFactory* = DEFINE_GUID("bcc18b79-ba16-442f-80c4-8a59c30c463b") IID_IUserAccountChangeCallback* = DEFINE_GUID("a561e69a-b4b8-4113-91a5-64c6bcca3430") IID_IEnumShellItems* = DEFINE_GUID("70629033-e363-4a28-a567-0db78006e6d7") STGOP_MOVE* = 1 STGOP_COPY* = 2 STGOP_SYNC* = 3 STGOP_REMOVE* = 5 STGOP_RENAME* = 6 STGOP_APPLYPROPERTIES* = 8 STGOP_NEW* = 10 TSF_NORMAL* = 0x0 TSF_FAIL_EXIST* = 0x0 TSF_RENAME_EXIST* = 0x1 TSF_OVERWRITE_EXIST* = 0x2 TSF_ALLOW_DECRYPTION* = 0x4 TSF_NO_SECURITY* = 0x8 TSF_COPY_CREATION_TIME* = 0x10 TSF_COPY_WRITE_TIME* = 0x20 TSF_USE_FULL_ACCESS* = 0x40 TSF_DELETE_RECYCLE_IF_POSSIBLE* = 0x80 TSF_COPY_HARD_LINK* = 0x100 TSF_COPY_LOCALIZED_NAME* = 0x200 TSF_MOVE_AS_COPY_DELETE* = 0x400 TSF_SUSPEND_SHELLEVENTS* = 0x800 TS_NONE* = 0x0 TS_PERFORMING* = 0x1 TS_PREPARING* = 0x2 TS_INDETERMINATE* = 0x4 IID_ITransferAdviseSink* = DEFINE_GUID("d594d0d8-8da7-457b-b3b4-ce5dbaac0b88") IID_ITransferSource* = DEFINE_GUID("00adb003-bde9-45c6-8e29-d09f9353e108") IID_IEnumResources* = DEFINE_GUID("2dd81fe3-a83c-4da9-a330-47249d345ba1") IID_IShellItemResources* = DEFINE_GUID("ff5693be-2ce0-4d48-b5c5-40817d1acdb9") IID_ITransferDestination* = DEFINE_GUID("48addd32-3ca5-4124-abe3-b5a72531b207") IID_IStreamAsync* = DEFINE_GUID("fe0b6665-e0ca-49b9-a178-2b5cb48d92a5") IID_IStreamUnbufferedInfo* = DEFINE_GUID("8a68fdda-1fdc-4c20-8ceb-416643b5a625") IID_IFileOperationProgressSink* = DEFINE_GUID("04b0f1a7-9490-44bc-96e1-4296a31252e2") SIATTRIBFLAGS_AND* = 0x1 SIATTRIBFLAGS_OR* = 0x2 SIATTRIBFLAGS_APPCOMPAT* = 0x3 SIATTRIBFLAGS_MASK* = 0x3 SIATTRIBFLAGS_ALLITEMS* = 0x4000 IID_IShellItemArray* = DEFINE_GUID("b63ea76d-1f85-456f-a19c-48159efa858b") IID_IInitializeWithItem* = DEFINE_GUID("7f73be3f-fb79-493c-a6c7-7ee14e245841") IID_IObjectWithSelection* = DEFINE_GUID("1c9cd5bb-98e9-4491-a60f-31aacc72b83c") IID_IObjectWithBackReferences* = DEFINE_GUID("321a6a6a-d61f-4bf3-97ae-14be2986bb36") PUIFNF_DEFAULT* = 0x0 PUIFNF_MNEMONIC* = 0x1 PUIF_DEFAULT* = 0x0 PUIF_RIGHTALIGN* = 0x1 PUIF_NOLABELININFOTIP* = 0x2 PUIFFDF_DEFAULT* = 0x0 PUIFFDF_RIGHTTOLEFT* = 0x1 PUIFFDF_SHORTFORMAT* = 0x2 PUIFFDF_NOTIME* = 0x4 PUIFFDF_FRIENDLYDATE* = 0x8 IID_IPropertyUI* = DEFINE_GUID("757a7d9f-919a-4118-99d7-dbb208c8cc66") IID_ICategoryProvider* = DEFINE_GUID("9af64809-5864-4c26-a720-c1f78c086ee3") CATINFO_NORMAL* = 0x0 CATINFO_COLLAPSED* = 0x1 CATINFO_HIDDEN* = 0x2 CATINFO_EXPANDED* = 0x4 CATINFO_NOHEADER* = 0x8 CATINFO_NOTCOLLAPSIBLE* = 0x10 CATINFO_NOHEADERCOUNT* = 0x20 CATINFO_SUBSETTED* = 0x40 CATSORT_DEFAULT* = 0x0 CATSORT_NAME* = 0x1 IID_ICategorizer* = DEFINE_GUID("a3b14589-9174-49a8-89a3-06a1ae2b9ba7") DI_GETDRAGIMAGE* = "ShellGetDragImage" IID_IDropTargetHelper* = DEFINE_GUID("4657278b-411b-11d2-839a-00c04fd918d0") IID_IDragSourceHelper* = DEFINE_GUID("de5bf786-477a-11d2-839d-00c04fd918d0") DSH_ALLOWDROPDESCRIPTIONTEXT* = 0x1 IID_IDragSourceHelper2* = DEFINE_GUID("83e07d0d-0c5f-4163-bf1a-60b274051e40") SLR_NO_UI* = 0x1 SLR_ANY_MATCH* = 0x2 SLR_UPDATE* = 0x4 SLR_NOUPDATE* = 0x8 SLR_NOSEARCH* = 0x10 SLR_NOTRACK* = 0x20 SLR_NOLINKINFO* = 0x40 SLR_INVOKE_MSI* = 0x80 SLR_NO_UI_WITH_MSG_PUMP* = 0x101 SLR_OFFER_DELETE_WITHOUT_FILE* = 0x200 SLR_KNOWNFOLDER* = 0x400 SLR_MACHINE_IN_LOCAL_TARGET* = 0x800 SLR_UPDATE_MACHINE_AND_SID* = 0x1000 SLGP_SHORTPATH* = 0x1 SLGP_UNCPRIORITY* = 0x2 SLGP_RAWPATH* = 0x4 SLGP_RELATIVEPRIORITY* = 0x8 IID_IShellLinkA* = DEFINE_GUID("000214ee-0000-0000-c000-000000000046") IID_IShellLinkDataList* = DEFINE_GUID("45e2b4ae-b1c3-11d0-b92f-00a0c90312e1") IID_IResolveShellLink* = DEFINE_GUID("5cd52983-9449-11d2-963a-00c04f79adf0") SPINITF_NORMAL* = 0x0 SPINITF_MODAL* = 0x1 SPINITF_NOMINIMIZE* = 0x8 IID_IActionProgressDialog* = DEFINE_GUID("49ff1172-eadc-446d-9285-156453a6431c") IID_IHWEventHandler* = DEFINE_GUID("c1fb73d0-ec3a-4ba2-b512-8cdb9187b6d1") IID_IHWEventHandler2* = DEFINE_GUID("cfcc809f-295d-42e8-9ffc-424b33c487e6") ARCONTENT_AUTORUNINF* = 0x00000002 ARCONTENT_AUDIOCD* = 0x00000004 ARCONTENT_DVDMOVIE* = 0x00000008 ARCONTENT_BLANKCD* = 0x00000010 ARCONTENT_BLANKDVD* = 0x00000020 ARCONTENT_UNKNOWNCONTENT* = 0x00000040 ARCONTENT_AUTOPLAYPIX* = 0x00000080 ARCONTENT_AUTOPLAYMUSIC* = 0x00000100 ARCONTENT_AUTOPLAYVIDEO* = 0x00000200 ARCONTENT_VCD* = 0x00000400 ARCONTENT_SVCD* = 0x00000800 ARCONTENT_DVDAUDIO* = 0x00001000 ARCONTENT_BLANKBD* = 0x00002000 ARCONTENT_BLURAY* = 0x00004000 ARCONTENT_CAMERASTORAGE* = 0x00008000 ARCONTENT_CUSTOMEVENT* = 0x00010000 ARCONTENT_NONE* = 0x00000000 ARCONTENT_MASK* = 0x0001FFFE ARCONTENT_PHASE_UNKNOWN* = 0x00000000 ARCONTENT_PHASE_PRESNIFF* = 0x10000000 ARCONTENT_PHASE_SNIFFING* = 0x20000000 ARCONTENT_PHASE_FINAL* = 0x40000000 ARCONTENT_PHASE_MASK* = 0x70000000 IID_IQueryCancelAutoPlay* = DEFINE_GUID("ddefe873-6997-4e68-be26-39b633adbe12") IID_IDynamicHWHandler* = DEFINE_GUID("dc2601d7-059e-42fc-a09d-2afd21b6d5f7") SPBEGINF_NORMAL* = 0x0 SPBEGINF_AUTOTIME* = 0x2 SPBEGINF_NOPROGRESSBAR* = 0x10 SPBEGINF_MARQUEEPROGRESS* = 0x20 SPBEGINF_NOCANCELBUTTON* = 0x40 SPACTION_NONE* = 0 SPACTION_MOVING* = 1 SPACTION_COPYING* = 2 SPACTION_RECYCLING* = 3 SPACTION_APPLYINGATTRIBS* = 4 SPACTION_DOWNLOADING* = 5 SPACTION_SEARCHING_INTERNET* = 6 SPACTION_CALCULATING* = 7 SPACTION_UPLOADING* = 8 SPACTION_SEARCHING_FILES* = 9 SPACTION_DELETING* = 10 SPACTION_RENAMING* = 11 SPACTION_FORMATTING* = 12 SPACTION_COPY_MOVING* = 13 SPTEXT_ACTIONDESCRIPTION* = 1 SPTEXT_ACTIONDETAIL* = 2 IID_IActionProgress* = DEFINE_GUID("49ff1173-eadc-446d-9285-156453a6431c") IID_IShellExtInit* = DEFINE_GUID("000214e8-0000-0000-c000-000000000046") EXPPS_FILETYPES* = 0x1 IID_IShellPropSheetExt* = DEFINE_GUID("000214e9-0000-0000-c000-000000000046") IID_IRemoteComputer* = DEFINE_GUID("000214fe-0000-0000-c000-000000000046") IID_IQueryContinue* = DEFINE_GUID("7307055c-b24a-486b-9f25-163e597a28a9") IID_IObjectWithCancelEvent* = DEFINE_GUID("f279b885-0ae9-4b85-ac06-ddecf9408941") IID_IUserNotification* = DEFINE_GUID("ba9711ba-5893-4787-a7e1-41277151550b") IID_IUserNotificationCallback* = DEFINE_GUID("19108294-0441-4aff-8013-fa0a730b0bea") IID_IUserNotification2* = DEFINE_GUID("215913cc-57eb-4fab-ab5a-e5fa7bea2a6c") IID_IItemNameLimits* = DEFINE_GUID("1df0d7f1-b267-4d28-8b10-12e23202a5c4") IID_ISearchFolderItemFactory* = DEFINE_GUID("a0ffbc28-5482-4366-be27-3e81e78e06c2") IEI_PRIORITY_MAX* = ITSAT_MAX_PRIORITY IEI_PRIORITY_MIN* = ITSAT_MIN_PRIORITY IEIT_PRIORITY_NORMAL* = ITSAT_DEFAULT_PRIORITY IEIFLAG_ASYNC* = 0x0001 IEIFLAG_CACHE* = 0x0002 IEIFLAG_ASPECT* = 0x0004 IEIFLAG_OFFLINE* = 0x0008 IEIFLAG_GLEAM* = 0x0010 IEIFLAG_SCREEN* = 0x0020 IEIFLAG_ORIGSIZE* = 0x0040 IEIFLAG_NOSTAMP* = 0x0080 IEIFLAG_NOBORDER* = 0x0100 IEIFLAG_QUALITY* = 0x0200 IEIFLAG_REFRESH* = 0x0400 IID_IExtractImage* = DEFINE_GUID("bb2e617c-0920-11d1-9a0b-00c04fc2d6c1") IID_IExtractImage2* = DEFINE_GUID("953bb1ee-93b4-11d1-98a3-00c04fb687da") IID_IThumbnailHandlerFactory* = DEFINE_GUID("e35b4b2e-00da-4bc1-9f13-38bc11f5d417") IID_IParentAndItem* = DEFINE_GUID("b3a4b685-b685-4805-99d9-5dead2873236") IID_IDockingWindow* = DEFINE_GUID("012dd920-7b26-11d0-8ca9-00a0c92dbfe8") DBIM_MINSIZE* = 0x0001 DBIM_MAXSIZE* = 0x0002 DBIM_INTEGRAL* = 0x0004 DBIM_ACTUAL* = 0x0008 DBIM_TITLE* = 0x0010 DBIM_MODEFLAGS* = 0x0020 DBIM_BKCOLOR* = 0x0040 DBIMF_NORMAL* = 0x0000 DBIMF_FIXED* = 0x0001 DBIMF_FIXEDBMP* = 0x0004 DBIMF_VARIABLEHEIGHT* = 0x0008 DBIMF_UNDELETEABLE* = 0x0010 DBIMF_DEBOSSED* = 0x0020 DBIMF_BKCOLOR* = 0x0040 DBIMF_USECHEVRON* = 0x0080 DBIMF_BREAK* = 0x0100 DBIMF_ADDTOFRONT* = 0x0200 DBIMF_TOPALIGN* = 0x0400 DBIMF_NOGRIPPER* = 0x0800 DBIMF_ALWAYSGRIPPER* = 0x1000 DBIMF_NOMARGINS* = 0x2000 DBIF_VIEWMODE_NORMAL* = 0x0000 DBIF_VIEWMODE_VERTICAL* = 0x0001 DBIF_VIEWMODE_FLOATING* = 0x0002 DBIF_VIEWMODE_TRANSPARENT* = 0x0004 DBID_BANDINFOCHANGED* = 0 DBID_SHOWONLY* = 1 DBID_MAXIMIZEBAND* = 2 DBID_PUSHCHEVRON* = 3 DBID_DELAYINIT* = 4 DBID_FINISHINIT* = 5 DBID_SETWINDOWTHEME* = 6 DBID_PERMITAUTOHIDE* = 7 DBPC_SELECTFIRST* = DWORD(-1) DBPC_SELECTLAST* = DWORD(-2) IID_IDeskBand* = DEFINE_GUID("eb0fe172-1a3a-11d0-89b3-00a0c90a90ac") CGID_DeskBand* = IID_IDeskBand IID_IDeskBandInfo* = DEFINE_GUID("77e425fc-cbf9-4307-ba6a-bb5727745661") IID_IDeskBand2* = DEFINE_GUID("79d16de4-abee-4021-8d9d-9169b261d657") IID_ITaskbarList* = DEFINE_GUID("56fdf342-fd6d-11d0-958a-006097c9a090") IID_ITaskbarList2* = DEFINE_GUID("602d4995-b13a-429b-a66e-1935e44f4317") THBF_ENABLED* = 0x0 THBF_DISABLED* = 0x1 THBF_DISMISSONCLICK* = 0x2 THBF_NOBACKGROUND* = 0x4 THBF_HIDDEN* = 0x8 THBF_NONINTERACTIVE* = 0x10 THB_BITMAP* = 0x1 THB_ICON* = 0x2 THB_TOOLTIP* = 0x4 THB_FLAGS* = 0x8 THBN_CLICKED* = 0x1800 TBPF_NOPROGRESS* = 0x0 TBPF_INDETERMINATE* = 0x1 TBPF_NORMAL* = 0x2 TBPF_ERROR* = 0x4 TBPF_PAUSED* = 0x8 IID_ITaskbarList3* = DEFINE_GUID("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf") STPF_NONE* = 0x0 STPF_USEAPPTHUMBNAILALWAYS* = 0x1 STPF_USEAPPTHUMBNAILWHENACTIVE* = 0x2 STPF_USEAPPPEEKALWAYS* = 0x4 STPF_USEAPPPEEKWHENACTIVE* = 0x8 IID_ITaskbarList4* = DEFINE_GUID("c43dc798-95d1-4bea-9030-bb99e2983a1a") IID_IStartMenuPinnedList* = DEFINE_GUID("4cd19ada-25a5-4a32-b3b7-347bee5be36b") IID_ICDBurn* = DEFINE_GUID("3d73a659-e5d0-4d42-afc0-5121ba425c8d") IDD_WIZEXTN_FIRST* = 0x5000 IDD_WIZEXTN_LAST* = 0x5100 IID_IWizardSite* = DEFINE_GUID("88960f5b-422f-4e7b-8013-73415381c3c3") SID_WizardSite* = IID_IWizardSite IID_IWizardExtension* = DEFINE_GUID("c02ea696-86cc-491e-9b23-74394a0444a8") IID_IWebWizardExtension* = DEFINE_GUID("0e6b3f66-98d1-48c0-a222-fbde74e2fbc5") SID_WebWizardHost* = IID_IWebWizardExtension SHPWHF_NORECOMPRESS* = 0x00000001 SHPWHF_NONETPLACECREATE* = 0x00000002 SHPWHF_NOFILESELECTOR* = 0x00000004 SHPWHF_USEMRU* = 0x00000008 SHPWHF_ANYLOCATION* = 0x00000100 SHPWHF_VALIDATEVIAWEBFOLDERS* = 0x00010000 IID_IPublishingWizard* = DEFINE_GUID("aa9198bb-ccec-472d-beed-19a4f6733f7a") IID_IFolderViewHost* = DEFINE_GUID("1ea58f02-d55a-411d-b09e-9e65ac21605b") IID_IExplorerBrowserEvents* = DEFINE_GUID("361bbdc7-e6ee-4e13-be58-58e2240c810f") EBO_NONE* = 0x0 EBO_NAVIGATEONCE* = 0x1 EBO_SHOWFRAMES* = 0x2 EBO_ALWAYSNAVIGATE* = 0x4 EBO_NOTRAVELLOG* = 0x8 EBO_NOWRAPPERWINDOW* = 0x10 EBO_HTMLSHAREPOINTVIEW* = 0x20 EBO_NOBORDER* = 0x40 EBO_NOPERSISTVIEWSTATE* = 0x80 EBF_NONE* = 0x0 EBF_SELECTFROMDATAOBJECT* = 0x100 EBF_NODROPTARGET* = 0x200 IID_IExplorerBrowser* = DEFINE_GUID("dfd3b6b5-c10c-4be9-85f6-a66969f402f6") IID_IAccessibleObject* = DEFINE_GUID("95a391c5-9ed4-4c28-8401-ab9e06719e11") IID_IResultsFolder* = DEFINE_GUID("96e5ae6d-6ae1-4b1c-900c-c6480eaa8828") IID_IEnumObjects* = DEFINE_GUID("2c1c7e2e-2d0e-4059-831e-1e6f82335c2e") OPPROGDLG_DEFAULT* = 0x0 OPPROGDLG_ENABLEPAUSE* = 0x80 OPPROGDLG_ALLOWUNDO* = 0x100 OPPROGDLG_DONTDISPLAYSOURCEPATH* = 0x200 OPPROGDLG_DONTDISPLAYDESTPATH* = 0x400 OPPROGDLG_NOMULTIDAYESTIMATES* = 0x800 OPPROGDLG_DONTDISPLAYLOCATIONS* = 0x1000 PDM_DEFAULT* = 0x0 PDM_RUN* = 0x1 PDM_PREFLIGHT* = 0x2 PDM_UNDOING* = 0x4 PDM_ERRORSBLOCKING* = 0x8 PDM_INDETERMINATE* = 0x10 PDOPS_RUNNING* = 1 PDOPS_PAUSED* = 2 PDOPS_CANCELLED* = 3 PDOPS_STOPPED* = 4 PDOPS_ERRORS* = 5 IID_IOperationsProgressDialog* = DEFINE_GUID("0c9fb851-e5c9-43eb-a370-f0677b13874c") IID_IIOCancelInformation* = DEFINE_GUID("f5b0bf81-8cb5-4b1b-9449-1a159e0c733c") FOFX_NOSKIPJUNCTIONS* = 0x00010000 FOFX_PREFERHARDLINK* = 0x00020000 FOFX_SHOWELEVATIONPROMPT* = 0x00040000 FOFX_RECYCLEONDELETE* = 0x00080000 FOFX_EARLYFAILURE* = 0x00100000 FOFX_PRESERVEFILEEXTENSIONS* = 0x00200000 FOFX_KEEPNEWERFILE* = 0x00400000 FOFX_NOCOPYHOOKS* = 0x00800000 FOFX_NOMINIMIZEBOX* = 0x01000000 FOFX_MOVEACLSACROSSVOLUMES* = 0x02000000 FOFX_DONTDISPLAYSOURCEPATH* = 0x04000000 FOFX_DONTDISPLAYDESTPATH* = 0x08000000 FOFX_REQUIREELEVATION* = 0x10000000 FOFX_ADDUNDORECORD* = 0x20000000 FOFX_COPYASDOWNLOAD* = 0x40000000 FOFX_DONTDISPLAYLOCATIONS* = 0x80000000'i32 IID_IFileOperation* = DEFINE_GUID("947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8") IID_IObjectProvider* = DEFINE_GUID("a6087428-3be3-4d73-b308-7c04a540bf1a") IID_INamespaceWalkCB* = DEFINE_GUID("d92995f8-cf5e-4a76-bf59-ead39ea2b97e") IID_INamespaceWalkCB2* = DEFINE_GUID("7ac7492b-c38e-438a-87db-68737844ff70") NSWF_DEFAULT* = 0x0 NSWF_NONE_IMPLIES_ALL* = 0x1 NSWF_ONE_IMPLIES_ALL* = 0x2 NSWF_DONT_TRAVERSE_LINKS* = 0x4 NSWF_DONT_ACCUMULATE_RESULT* = 0x8 NSWF_TRAVERSE_STREAM_JUNCTIONS* = 0x10 NSWF_FILESYSTEM_ONLY* = 0x20 NSWF_SHOW_PROGRESS* = 0x40 NSWF_FLAG_VIEWORDER* = 0x80 NSWF_IGNORE_AUTOPLAY_HIDA* = 0x100 NSWF_ASYNC* = 0x200 NSWF_DONT_RESOLVE_LINKS* = 0x400 NSWF_ACCUMULATE_FOLDERS* = 0x800 NSWF_DONT_SORT* = 0x1000 NSWF_USE_TRANSFER_MEDIUM* = 0x2000 NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS* = 0x4000 NSWF_ANY_IMPLIES_ALL* = 0x8000 NSWF_ENUMERATE_BEST_EFFORT* = 0x00010000 NSWF_TRAVERSE_ONLY_STORAGE* = 0x00020000 IID_INamespaceWalk* = DEFINE_GUID("57ced8a7-3f4a-432c-9350-30f24483f74f") ACDD_VISIBLE* = 0x1 IID_IAutoCompleteDropDown* = DEFINE_GUID("3cd141f4-3c6a-11d2-bcaa-00c04fd929db") BSID_BANDADDED* = 0 BSID_BANDREMOVED* = 1 BSIM_STATE* = 0x00000001 BSIM_STYLE* = 0x00000002 BSSF_VISIBLE* = 0x00000001 BSSF_NOTITLE* = 0x00000002 BSSF_UNDELETEABLE* = 0x00001000 BSIS_AUTOGRIPPER* = 0x00000000 BSIS_NOGRIPPER* = 0x00000001 BSIS_ALWAYSGRIPPER* = 0x00000002 BSIS_LEFTALIGN* = 0x00000004 BSIS_SINGLECLICK* = 0x00000008 BSIS_NOCONTEXTMENU* = 0x00000010 BSIS_NODROPTARGET* = 0x00000020 BSIS_NOCAPTION* = 0x00000040 BSIS_PREFERNOLINEBREAK* = 0x00000080 BSIS_LOCKED* = 0x00000100 BSIS_PRESERVEORDERDURINGLAYOUT* = 0x00000200 BSIS_FIXEDORDER* = 0x00000400 IID_IBandSite* = DEFINE_GUID("4cf504b0-de96-11d0-8b3f-00a0c911e8e5") SID_SBandSite* = IID_IBandSite CGID_BandSite* = IID_IBandSite IID_IModalWindow* = DEFINE_GUID("b4db1657-70d7-485e-8e3e-6fcb5a5c1802") PROPSTR_EXTENSIONCOMPLETIONSTATE* = "ExtensionCompletionState" CDBE_RET_DEFAULT* = 0x0 CDBE_RET_DONTRUNOTHEREXTS* = 0x1 CDBE_RET_STOPWIZARD* = 0x2 IID_ICDBurnExt* = DEFINE_GUID("2271dcca-74fc-4414-8fb7-c56b05ace2d7") SID_CDWizardHost* = IID_ICDBurnExt CDBE_TYPE_MUSIC* = 0x1 CDBE_TYPE_DATA* = 0x2 CDBE_TYPE_ALL* = int32 0xffffffff'i32 IID_IContextMenuSite* = DEFINE_GUID("0811aebe-0b87-4c54-9e72-548cf649016b") IID_IEnumReadyCallback* = DEFINE_GUID("61e00d45-8fff-4e60-924e-6537b61612dd") IID_IEnumerableView* = DEFINE_GUID("8c8bf236-1aec-495f-9894-91d57c3c686f") SID_EnumerableView* = IID_IEnumerableView IID_IInsertItem* = DEFINE_GUID("d2b57227-3d23-4b95-93c0-492bd454c356") MBHANDCID_PIDLSELECT* = 0 IID_IMenuBand* = DEFINE_GUID("568804cd-cbd7-11d0-9816-00c04fd91972") IID_IFolderBandPriv* = DEFINE_GUID("47c01f95-e185-412c-b5c5-4f27df965aea") IID_IRegTreeItem* = DEFINE_GUID("a9521922-0812-4d44-9ec3-7fd38c726f3d") IID_IImageRecompress* = DEFINE_GUID("505f1513-6b3e-4892-a272-59f8889a4d3e") IID_IDeskBar* = DEFINE_GUID("eb0fe173-1a3a-11d0-89b3-00a0c90a90ac") MPOS_EXECUTE* = 0 MPOS_FULLCANCEL* = 1 MPOS_CANCELLEVEL* = 2 MPOS_SELECTLEFT* = 3 MPOS_SELECTRIGHT* = 4 MPOS_CHILDTRACKING* = 5 MPPF_SETFOCUS* = 0x1 MPPF_INITIALSELECT* = 0x2 MPPF_NOANIMATE* = 0x4 MPPF_KEYBOARD* = 0x10 MPPF_REPOSITION* = 0x20 MPPF_FORCEZORDER* = 0x40 MPPF_FINALSELECT* = 0x80 MPPF_TOP* = 0x20000000 MPPF_LEFT* = 0x40000000 MPPF_RIGHT* = 0x60000000 MPPF_BOTTOM* = int32 0x80000000'i32 MPPF_POS_MASK* = int32 0xe0000000'i32 MPPF_ALIGN_LEFT* = 0x2000000 MPPF_ALIGN_RIGHT* = 0x4000000 IID_IMenuPopup* = DEFINE_GUID("d1e7afeb-6a2e-11d0-8c78-00c04fd918b4") FUT_PLAYING* = 0 FUT_EDITING* = 1 FUT_GENERIC* = 2 OF_CAP_CANSWITCHTO* = 0x0001 OF_CAP_CANCLOSE* = 0x0002 IID_IFileIsInUse* = DEFINE_GUID("64a1cbf0-3a1a-4461-9158-376969693950") FDEOR_DEFAULT* = 0 FDEOR_ACCEPT* = 1 FDEOR_REFUSE* = 2 FDESVR_DEFAULT* = 0 FDESVR_ACCEPT* = 1 FDESVR_REFUSE* = 2 FDAP_BOTTOM* = 0 FDAP_TOP* = 1 IID_IFileDialogEvents* = DEFINE_GUID("973510db-7d7f-452b-8975-74a85828d354") FOS_OVERWRITEPROMPT* = 0x2 FOS_STRICTFILETYPES* = 0x4 FOS_NOCHANGEDIR* = 0x8 FOS_PICKFOLDERS* = 0x20 FOS_FORCEFILESYSTEM* = 0x40 FOS_ALLNONSTORAGEITEMS* = 0x80 FOS_NOVALIDATE* = 0x100 FOS_ALLOWMULTISELECT* = 0x200 FOS_PATHMUSTEXIST* = 0x800 FOS_FILEMUSTEXIST* = 0x1000 FOS_CREATEPROMPT* = 0x2000 FOS_SHAREAWARE* = 0x4000 FOS_NOREADONLYRETURN* = 0x8000 FOS_NOTESTFILECREATE* = 0x10000 FOS_HIDEMRUPLACES* = 0x20000 FOS_HIDEPINNEDPLACES* = 0x40000 FOS_NODEREFERENCELINKS* = 0x100000 FOS_DONTADDTORECENT* = 0x2000000 FOS_FORCESHOWHIDDEN* = 0x10000000 FOS_DEFAULTNOMINIMODE* = 0x20000000 FOS_FORCEPREVIEWPANEON* = 0x40000000 IID_IFileDialog* = DEFINE_GUID("42f85136-db7e-439c-85f1-e4075d135fc8") IID_IFileSaveDialog* = DEFINE_GUID("84bccd23-5fde-4cdb-aea4-af64b83d78ab") IID_IFileOpenDialog* = DEFINE_GUID("d57c7288-d4ad-4768-be02-9d969532d960") CDCS_INACTIVE* = 0x0 CDCS_ENABLED* = 0x1 CDCS_VISIBLE* = 0x2 CDCS_ENABLEDVISIBLE* = 0x3 IID_IFileDialogCustomize* = DEFINE_GUID("e6fdd21a-163f-4975-9c8c-a69f1ba37034") IID_IFileDialogControlEvents* = DEFINE_GUID("36116642-d713-4b97-9b83-7484a9d00433") IID_IFileDialog2* = DEFINE_GUID("61744fc7-85b5-4791-a9b0-272276309b13") AL_MACHINE* = 0 AL_EFFECTIVE* = 1 AL_USER* = 2 AT_FILEEXTENSION* = 0 AT_URLPROTOCOL* = 1 AT_STARTMENUCLIENT* = 2 AT_MIMETYPE* = 3 IID_IApplicationAssociationRegistration* = DEFINE_GUID("4e530b0a-e611-4c77-a3ac-9031d022281b") IID_IApplicationAssociationRegistrationUI* = DEFINE_GUID("1f76a169-f994-40ac-8fc8-0959e8874710") IID_IDelegateFolder* = DEFINE_GUID("add8ba80-002b-11d0-8f0f-00c04fd7d062") BFO_NONE* = 0x0 BFO_BROWSER_PERSIST_SETTINGS* = 0x1 BFO_RENAME_FOLDER_OPTIONS_TOINTERNET* = 0x2 BFO_BOTH_OPTIONS* = 0x4 BIF_PREFER_INTERNET_SHORTCUT* = 0x8 BFO_BROWSE_NO_IN_NEW_PROCESS* = 0x10 BFO_ENABLE_HYPERLINK_TRACKING* = 0x20 BFO_USE_IE_OFFLINE_SUPPORT* = 0x40 BFO_SUBSTITUE_INTERNET_START_PAGE* = 0x80 BFO_USE_IE_LOGOBANDING* = 0x100 BFO_ADD_IE_TOCAPTIONBAR* = 0x200 BFO_USE_DIALUP_REF* = 0x400 BFO_USE_IE_TOOLBAR* = 0x800 BFO_NO_PARENT_FOLDER_SUPPORT* = 0x1000 BFO_NO_REOPEN_NEXT_RESTART* = 0x2000 BFO_GO_HOME_PAGE* = 0x4000 BFO_PREFER_IEPROCESS* = 0x8000 BFO_SHOW_NAVIGATION_CANCELLED* = 0x10000 BFO_USE_IE_STATUSBAR* = 0x20000 BFO_QUERY_ALL* = int32 0xffffffff'i32 IID_IBrowserFrameOptions* = DEFINE_GUID("10df43c8-1dbe-11d3-8b34-006097df5bd4") NWMF_UNLOADING* = 0x1 NWMF_USERINITED* = 0x2 NWMF_FIRST* = 0x4 NWMF_OVERRIDEKEY* = 0x8 NWMF_SHOWHELP* = 0x10 NWMF_HTMLDIALOG* = 0x20 NWMF_FROMDIALOGCHILD* = 0x40 NWMF_USERREQUESTED* = 0x80 NWMF_USERALLOWED* = 0x100 NWMF_FORCEWINDOW* = 0x10000 NWMF_FORCETAB* = 0x20000 NWMF_SUGGESTWINDOW* = 0x40000 NWMF_SUGGESTTAB* = 0x80000 NWMF_INACTIVETAB* = 0x100000 IID_INewWindowManager* = DEFINE_GUID("d2bc4c84-3f72-4a52-a604-7bcbf3982cbb") SID_SNewWindowManager* = IID_INewWindowManager ATTACHMENT_PROMPT_NONE* = 0x0 ATTACHMENT_PROMPT_SAVE* = 0x1 ATTACHMENT_PROMPT_EXEC* = 0x2 ATTACHMENT_PROMPT_EXEC_OR_SAVE* = 0x3 ATTACHMENT_ACTION_CANCEL* = 0x0 ATTACHMENT_ACTION_SAVE* = 0x1 ATTACHMENT_ACTION_EXEC* = 0x2 IID_IAttachmentExecute* = DEFINE_GUID("73db1241-1e85-4581-8e4f-a81e1d0f8c57") SMDM_SHELLFOLDER* = 0x00000001 SMDM_HMENU* = 0x00000002 SMDM_TOOLBAR* = 0x00000004 SMIM_TYPE* = 0x1 SMIM_FLAGS* = 0x2 SMIM_ICON* = 0x4 SMIT_SEPARATOR* = 0x1 SMIT_STRING* = 0x2 SMIF_ICON* = 0x1 SMIF_ACCELERATOR* = 0x2 SMIF_DROPTARGET* = 0x4 SMIF_SUBMENU* = 0x8 SMIF_CHECKED* = 0x20 SMIF_DROPCASCADE* = 0x40 SMIF_HIDDEN* = 0x80 SMIF_DISABLED* = 0x100 SMIF_TRACKPOPUP* = 0x200 SMIF_DEMOTED* = 0x400 SMIF_ALTSTATE* = 0x800 SMIF_DRAGNDROP* = 0x1000 SMIF_NEW* = 0x2000 SMC_INITMENU* = 0x00000001 SMC_CREATE* = 0x00000002 SMC_EXITMENU* = 0x00000003 SMC_GETINFO* = 0x00000005 SMC_GETSFINFO* = 0x00000006 SMC_GETOBJECT* = 0x00000007 SMC_GETSFOBJECT* = 0x00000008 SMC_SFEXEC* = 0x00000009 SMC_SFSELECTITEM* = 0x0000000A SMC_REFRESH* = 0x00000010 SMC_DEMOTE* = 0x00000011 SMC_PROMOTE* = 0x00000012 SMC_DEFAULTICON* = 0x00000016 SMC_NEWITEM* = 0x00000017 SMC_CHEVRONEXPAND* = 0x00000019 SMC_DISPLAYCHEVRONTIP* = 0x0000002A SMC_SETSFOBJECT* = 0x0000002D SMC_SHCHANGENOTIFY* = 0x0000002E SMC_CHEVRONGETTIP* = 0x0000002F SMC_SFDDRESTRICTED* = 0x00000030 SMC_SFEXEC_MIDDLE* = 0x00000031 SMC_GETAUTOEXPANDSTATE* = 0x00000041 SMC_AUTOEXPANDCHANGE* = 0x00000042 SMC_GETCONTEXTMENUMODIFIER* = 0x00000043 SMC_GETBKCONTEXTMENU* = 0x00000044 SMC_OPEN* = 0x00000045 SMAE_EXPANDED* = 0x00000001 SMAE_CONTRACTED* = 0x00000002 SMAE_USER* = 0x00000004 SMAE_VALID* = 0x00000007 IID_IShellMenuCallback* = DEFINE_GUID("4ca300a1-9b8d-11d1-8b22-00c04fd918d0") SMINIT_DEFAULT* = 0x00000000 SMINIT_RESTRICT_DRAGDROP* = 0x00000002 SMINIT_TOPLEVEL* = 0x00000004 SMINIT_CACHED* = 0x00000010 SMINIT_AUTOEXPAND* = 0x00000100 SMINIT_AUTOTOOLTIP* = 0x00000200 SMINIT_DROPONCONTAINER* = 0x00000400 SMINIT_VERTICAL* = 0x10000000 SMINIT_HORIZONTAL* = 0x20000000 ANCESTORDEFAULT* = UINT(-1) SMSET_TOP* = 0x10000000 SMSET_BOTTOM* = 0x20000000 SMSET_DONTOWN* = 0x00000001 SMINV_REFRESH* = 0x00000001 SMINV_ID* = 0x00000008 IID_IShellMenu* = DEFINE_GUID("ee1f7637-e138-11d1-8379-00c04fd918d0") IID_IShellRunDll* = DEFINE_GUID("fce4bde0-4b68-4b80-8e9c-7426315a7388") KF_CATEGORY_VIRTUAL* = 1 KF_CATEGORY_FIXED* = 2 KF_CATEGORY_COMMON* = 3 KF_CATEGORY_PERUSER* = 4 KFDF_LOCAL_REDIRECT_ONLY* = 0x2 KFDF_ROAMABLE* = 0x4 KFDF_PRECREATE* = 0x8 KFDF_STREAM* = 0x10 KFDF_PUBLISHEXPANDEDPATH* = 0x20 KF_REDIRECT_USER_EXCLUSIVE* = 0x1 KF_REDIRECT_COPY_SOURCE_DACL* = 0x2 KF_REDIRECT_OWNER_USER* = 0x4 KF_REDIRECT_SET_OWNER_EXPLICIT* = 0x8 KF_REDIRECT_CHECK_ONLY* = 0x10 KF_REDIRECT_WITH_UI* = 0x20 KF_REDIRECT_UNPIN* = 0x40 KF_REDIRECT_PIN* = 0x80 KF_REDIRECT_COPY_CONTENTS* = 0x200 KF_REDIRECT_DEL_SOURCE_CONTENTS* = 0x400 KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS* = 0x800 KF_REDIRECTION_CAPABILITIES_ALLOW_ALL* = 0xff KF_REDIRECTION_CAPABILITIES_REDIRECTABLE* = 0x1 KF_REDIRECTION_CAPABILITIES_DENY_ALL* = 0xfff00 KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED* = 0x100 KF_REDIRECTION_CAPABILITIES_DENY_POLICY* = 0x200 KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS* = 0x400 IID_IKnownFolder* = DEFINE_GUID("3aa7af7e-9b36-420c-a8e3-f77d4674a488") FFFP_EXACTMATCH* = 0 FFFP_NEARESTPARENTMATCH* = 1 IID_IKnownFolderManager* = DEFINE_GUID("8be2d872-86aa-4d47-b776-32cca40c7018") SHARE_ROLE_INVALID* = -1 SHARE_ROLE_READER* = 0 SHARE_ROLE_CONTRIBUTOR* = 1 SHARE_ROLE_CO_OWNER* = 2 SHARE_ROLE_OWNER* = 3 SHARE_ROLE_CUSTOM* = 4 SHARE_ROLE_MIXED* = 5 DEFSHAREID_USERS* = 1 DEFSHAREID_PUBLIC* = 2 IID_ISharingConfigurationManager* = DEFINE_GUID("b4cd448a-9c86-4466-9201-2e62105b87ae") IID_IPreviousVersionsInfo* = DEFINE_GUID("76e54780-ad74-48e3-a695-3ba9a0aff10d") IID_IRelatedItem* = DEFINE_GUID("a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0") IID_IIdentityName* = DEFINE_GUID("7d903fca-d6f9-4810-8332-946c0177e247") IID_IDelegateItem* = DEFINE_GUID("3c5a1c94-c951-4cb7-bb6d-3b93f30cce93") IID_ICurrentItem* = DEFINE_GUID("240a7174-d653-4a1d-a6d3-d4943cfbfe3d") IID_ITransferMediumItem* = DEFINE_GUID("77f295d5-2d6f-4e19-b8ae-322f3e721ab5") IID_IUseToBrowseItem* = DEFINE_GUID("05edda5c-98a3-4717-8adb-c5e7da991eb1") IID_IDisplayItem* = DEFINE_GUID("c6fd5997-9f6b-4888-8703-94e80e8cde3f") IID_IViewStateIdentityItem* = DEFINE_GUID("9d264146-a94f-4195-9f9f-3bb12ce0c955") IID_IPreviewItem* = DEFINE_GUID("36149969-0a8f-49c8-8b00-4aecb20222fb") IID_IDestinationStreamFactory* = DEFINE_GUID("8a87781b-39a7-4a1f-aab3-a39b9c34a7d9") NMCII_NONE* = 0x0 NMCII_ITEMS* = 0x1 NMCII_FOLDERS* = 0x2 NMCSAEI_SELECT* = 0x0 NMCSAEI_EDIT* = 0x1 IID_INewMenuClient* = DEFINE_GUID("dcb07fdc-3bb5-451c-90be-966644fed7b0") SID_SNewMenuClient* = IID_INewMenuClient SID_SCommandBarState* = DEFINE_GUID("b99eaa5c-3850-4400-bc33-2ce534048bf8") IID_IInitializeWithBindCtx* = DEFINE_GUID("71c0d2bc-726d-45cc-a6c0-2e31c1db2159") IID_IShellItemFilter* = DEFINE_GUID("2659b475-eeb8-48b7-8f07-b378810f48cf") NSTCS_HASEXPANDOS* = 0x1 NSTCS_HASLINES* = 0x2 NSTCS_SINGLECLICKEXPAND* = 0x4 NSTCS_FULLROWSELECT* = 0x8 NSTCS_SPRINGEXPAND* = 0x10 NSTCS_HORIZONTALSCROLL* = 0x20 NSTCS_ROOTHASEXPANDO* = 0x40 NSTCS_SHOWSELECTIONALWAYS* = 0x80 NSTCS_NOINFOTIP* = 0x200 NSTCS_EVENHEIGHT* = 0x400 NSTCS_NOREPLACEOPEN* = 0x800 NSTCS_DISABLEDRAGDROP* = 0x1000 NSTCS_NOORDERSTREAM* = 0x2000 NSTCS_RICHTOOLTIP* = 0x4000 NSTCS_BORDER* = 0x8000 NSTCS_NOEDITLABELS* = 0x10000 NSTCS_TABSTOP* = 0x20000 NSTCS_FAVORITESMODE* = 0x80000 NSTCS_AUTOHSCROLL* = 0x100000 NSTCS_FADEINOUTEXPANDOS* = 0x200000 NSTCS_EMPTYTEXT* = 0x400000 NSTCS_CHECKBOXES* = 0x800000 NSTCS_PARTIALCHECKBOXES* = 0x1000000 NSTCS_EXCLUSIONCHECKBOXES* = 0x2000000 NSTCS_DIMMEDCHECKBOXES* = 0x4000000 NSTCS_NOINDENTCHECKS* = 0x8000000 NSTCS_ALLOWJUNCTIONS* = 0x10000000 NSTCS_SHOWTABSBUTTON* = 0x20000000 NSTCS_SHOWDELETEBUTTON* = 0x40000000 NSTCS_SHOWREFRESHBUTTON* = int32 0x80000000'i32 NSTCRS_VISIBLE* = 0x0 NSTCRS_HIDDEN* = 0x1 NSTCRS_EXPANDED* = 0x2 NSTCIS_NONE* = 0x0 NSTCIS_SELECTED* = 0x1 NSTCIS_EXPANDED* = 0x2 NSTCIS_BOLD* = 0x4 NSTCIS_DISABLED* = 0x8 NSTCIS_SELECTEDNOEXPAND* = 0x10 NSTCGNI_NEXT* = 0 NSTCGNI_NEXTVISIBLE* = 1 NSTCGNI_PREV* = 2 NSTCGNI_PREVVISIBLE* = 3 NSTCGNI_PARENT* = 4 NSTCGNI_CHILD* = 5 NSTCGNI_FIRSTVISIBLE* = 6 NSTCGNI_LASTVISIBLE* = 7 IID_INameSpaceTreeControl* = DEFINE_GUID("028212a3-b627-47e9-8856-c14265554e4f") NSTCS2_DEFAULT* = 0x0 NSTCS2_INTERRUPTNOTIFICATIONS* = 0x1 NSTCS2_SHOWNULLSPACEMENU* = 0x2 NSTCS2_DISPLAYPADDING* = 0x4 NSTCS2_DISPLAYPINNEDONLY* = 0x8 NTSCS2_NOSINGLETONAUTOEXPAND* = 0x10 NTSCS2_NEVERINSERTNONENUMERATED* = 0x20 IID_INameSpaceTreeControl2* = DEFINE_GUID("7cc7aed8-290e-49bc-8945-c1401cc9306c") NSTCS2_ALLMASK* = NSTCS2_INTERRUPTNOTIFICATIONS or NSTCS2_SHOWNULLSPACEMENU or NSTCS2_DISPLAYPADDING SID_SNavigationPane* = IID_INameSpaceTreeControl NSTCEHT_NOWHERE* = 0x1 NSTCEHT_ONITEMICON* = 0x2 NSTCEHT_ONITEMLABEL* = 0x4 NSTCEHT_ONITEMINDENT* = 0x8 NSTCEHT_ONITEMBUTTON* = 0x10 NSTCEHT_ONITEMRIGHT* = 0x20 NSTCEHT_ONITEMSTATEICON* = 0x40 NSTCEHT_ONITEM* = 0x46 NSTCEHT_ONITEMTABBUTTON* = 0x1000 NSTCECT_LBUTTON* = 0x1 NSTCECT_MBUTTON* = 0x2 NSTCECT_RBUTTON* = 0x3 NSTCECT_BUTTON* = 0x3 NSTCECT_DBLCLICK* = 0x4 IID_INameSpaceTreeControlEvents* = DEFINE_GUID("93d77985-b3d8-4484-8318-672cdda002ce") NSTCDHPOS_ONTOP* = -1 IID_INameSpaceTreeControlDropHandler* = DEFINE_GUID("f9c665d6-c2f2-4c19-bf33-8322d7352f51") IID_INameSpaceTreeAccessible* = DEFINE_GUID("71f312de-43ed-4190-8477-e9536b82350b") IID_INameSpaceTreeControlCustomDraw* = DEFINE_GUID("2d3ba758-33ee-42d5-bb7b-5f3431d86c78") NSTCFC_NONE* = 0x0 NSTCFC_PINNEDITEMFILTERING* = 0x1 NSTCFC_DELAY_REGISTER_NOTIFY* = 0x2 IID_INameSpaceTreeControlFolderCapabilities* = DEFINE_GUID("e9701183-e6b3-4ff2-8568-813615fec7be") E_PREVIEWHANDLER_DRM_FAIL* = HRESULT 0x86420001'i32 E_PREVIEWHANDLER_NOAUTH* = HRESULT 0x86420002'i32 E_PREVIEWHANDLER_NOTFOUND* = HRESULT 0x86420003'i32 E_PREVIEWHANDLER_CORRUPT* = HRESULT 0x86420004'i32 IID_IPreviewHandler* = DEFINE_GUID("8895b1c6-b41f-4c1c-a562-0d564250836f") IID_IPreviewHandlerFrame* = DEFINE_GUID("fec87aaf-35f9-447a-adb7-20234491401a") IID_ITrayDeskBand* = DEFINE_GUID("6d67e846-5b9c-4db8-9cbc-dde12f4254f1") IID_IBandHost* = DEFINE_GUID("b9075c7c-d48e-403f-ab99-d6c77a1084ac") SID_SBandHost* = IID_IBandHost EPS_DONTCARE* = 0x0 EPS_DEFAULT_ON* = 0x1 EPS_DEFAULT_OFF* = 0x2 EPS_STATEMASK* = 0xffff EPS_INITIALSTATE* = 0x10000 EPS_FORCE* = 0x20000 IID_IExplorerPaneVisibility* = DEFINE_GUID("e07010ec-bc17-44c0-97b0-46c7c95b9edc") SID_ExplorerPaneVisibility* = IID_IExplorerPaneVisibility IID_IContextMenuCB* = DEFINE_GUID("3409e930-5a39-11d1-83fa-00a0c90dc849") IID_IDefaultExtractIconInit* = DEFINE_GUID("41ded17d-d6b3-4261-997d-88c60e4b1d58") ECS_ENABLED* = 0x0 ECS_DISABLED* = 0x1 ECS_HIDDEN* = 0x2 ECS_CHECKBOX* = 0x4 ECS_CHECKED* = 0x8 ECS_RADIOCHECK* = 0x10 ECF_DEFAULT* = 0x0 ECF_HASSUBCOMMANDS* = 0x1 ECF_HASSPLITBUTTON* = 0x2 ECF_HIDELABEL* = 0x4 ECF_ISSEPARATOR* = 0x8 ECF_HASLUASHIELD* = 0x10 ECF_SEPARATORBEFORE* = 0x20 ECF_SEPARATORAFTER* = 0x40 ECF_ISDROPDOWN* = 0x80 ECF_TOGGLEABLE* = 0x100 ECF_AUTOMENUICONS* = 0x200 IID_IExplorerCommand* = DEFINE_GUID("a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9") IID_IExplorerCommandState* = DEFINE_GUID("bddacb60-7657-47ae-8445-d23e1acf82ae") IID_IInitializeCommand* = DEFINE_GUID("85075acf-231f-40ea-9610-d26b7b58f638") IID_IEnumExplorerCommand* = DEFINE_GUID("a88826f8-186f-4987-aade-ea0cef8fbfe8") IID_IExplorerCommandProvider* = DEFINE_GUID("64961751-0835-43c0-8ffe-d57686530e64") IID_IInitializeNetworkFolder* = DEFINE_GUID("6e0f9881-42a8-4f2a-97f8-8af4e026d92d") CPVIEW_CLASSIC* = 0 CPVIEW_ALLITEMS* = CPVIEW_CLASSIC CPVIEW_CATEGORY* = 1 CPVIEW_HOME* = CPVIEW_CATEGORY IID_IOpenControlPanel* = DEFINE_GUID("d11ad862-66de-4df4-bf6c-1f5621996af1") IID_IComputerInfoChangeNotify* = DEFINE_GUID("0df60d92-6818-46d6-b358-d66170dde466") STR_FILE_SYS_BIND_DATA* = "File System Bind Data" IID_IFileSystemBindData* = DEFINE_GUID("01e18d10-4d8b-11d2-855d-006008059367") IID_IFileSystemBindData2* = DEFINE_GUID("3acf075f-71db-4afa-81f0-3fc4fdf2a5b8") KDC_FREQUENT* = 1 KDC_RECENT* = 2 IID_ICustomDestinationList* = DEFINE_GUID("6332debf-87b5-4670-90c0-5e57b408a49e") IID_IApplicationDestinations* = DEFINE_GUID("12337d35-94c6-48a0-bce7-6a9c69d4d600") ADLT_RECENT* = 0 ADLT_FREQUENT* = 1 IID_IApplicationDocumentLists* = DEFINE_GUID("3c594f9f-9f30-47a1-979a-c9e83d3d0a06") IID_IObjectWithAppUserModelID* = DEFINE_GUID("36db0196-9665-46d1-9ba7-d3709eecf9ed") IID_IObjectWithProgID* = DEFINE_GUID("71e806fb-8dee-46fc-bf8c-7748a8a1ae13") IID_IUpdateIDList* = DEFINE_GUID("6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c") IID_IDesktopGadget* = DEFINE_GUID("c1646bc4-f298-4f91-a204-eb2dd1709d1a") DSO_SHUFFLEIMAGES* = 0x1 DSS_ENABLED* = 0x1 DSS_SLIDESHOW* = 0x2 DSS_DISABLED_BY_REMOTE_SESSION* = 0x4 DSD_FORWARD* = 0 DSD_BACKWARD* = 1 DWPOS_CENTER* = 0 DWPOS_TILE* = 1 DWPOS_STRETCH* = 2 DWPOS_FIT* = 3 DWPOS_FILL* = 4 DWPOS_SPAN* = 5 IID_IDesktopWallpaper* = DEFINE_GUID("b92b56a9-8b55-4e14-9a89-0199bbb6f93b") HOMEGROUP_SECURITY_GROUP_MULTI* = "HUG" HOMEGROUP_SECURITY_GROUP* = "HomeUsers" HGSC_NONE* = 0x0 HGSC_MUSICLIBRARY* = 0x1 HGSC_PICTURESLIBRARY* = 0x2 HGSC_VIDEOSLIBRARY* = 0x4 HGSC_DOCUMENTSLIBRARY* = 0x8 HGSC_PRINTERS* = 0x10 IID_IHomeGroup* = DEFINE_GUID("7a3bd1d9-35a9-4fb3-a467-f48cac35e2d0") IID_IInitializeWithPropertyStore* = DEFINE_GUID("c3e12eb5-7d8d-44f8-b6dd-0e77b34d6de4") IID_IOpenSearchSource* = DEFINE_GUID("f0ee7333-e6fc-479b-9f25-a860c234a38e") LFF_FORCEFILESYSTEM* = 1 LFF_STORAGEITEMS* = 2 LFF_ALLITEMS* = 3 LOF_DEFAULT* = 0x0 LOF_PINNEDTONAVPANE* = 0x1 LOF_MASK_ALL* = 0x1 DSFT_DETECT* = 1 DSFT_PRIVATE* = 2 DSFT_PUBLIC* = 3 LSF_FAILIFTHERE* = 0x0 LSF_OVERRIDEEXISTING* = 0x1 LSF_MAKEUNIQUENAME* = 0x2 IID_IShellLibrary* = DEFINE_GUID("11a66efa-382e-451a-9234-1e0e12ef3085") PE_DUCKSESSION* = 1 PE_UNDUCKSESSION* = 2 IID_IPlaybackManagerEvents* = DEFINE_GUID("385cfb7d-4e0c-4106-912e-8cfb4c191f45") ST_COMMUNICATION* = 1 ST_MEDIA* = 2 PS_PLAYING* = 1 PS_PAUSED* = 2 PS_STOPPED* = 3 MS_MUTED* = 1 MS_UNMUTED* = 2 IID_IPlaybackManager* = DEFINE_GUID("0f3c1b01-8199-4173-ba78-985882266f7a") DFMR_DEFAULT* = 0x0 DFMR_NO_STATIC_VERBS* = 0x8 DFMR_STATIC_VERBS_ONLY* = 0x10 DFMR_NO_RESOURCE_VERBS* = 0x20 DFMR_OPTIN_HANDLERS_ONLY* = 0x40 DFMR_RESOURCE_AND_FOLDER_VERBS_ONLY* = 0x80 DFMR_USE_SPECIFIED_HANDLERS* = 0x100 DFMR_USE_SPECIFIED_VERBS* = 0x200 DFMR_NO_ASYNC_VERBS* = 0x400 IID_IDefaultFolderMenuInitialize* = DEFINE_GUID("7690aa79-f8fc-4615-a327-36f7d18f5d91") AO_NONE* = 0x0 AO_DESIGNMODE* = 0x1 AO_NOERRORUI* = 0x2 AO_NOSPLASHSCREEN* = 0x4 IID_IApplicationActivationManager* = DEFINE_GUID("2e941141-7f97-4756-ba1d-9decde894a3d") LIBID_ShellObjects* = DEFINE_GUID("50a7e9b1-70ef-11d1-b75a-00a0c90564fe") CLSID_DesktopWallpaper* = DEFINE_GUID("c2cf3110-460e-4fc1-b9d0-8a1c0c9cc4bd") CLSID_ShellFSFolder* = DEFINE_GUID("f3364ba0-65b9-11ce-a9ba-00aa004ae837") CLSID_NetworkPlaces* = DEFINE_GUID("208d2c60-3aea-1069-a2d7-08002b30309d") CLSID_ShellLink* = DEFINE_GUID("00021401-0000-0000-c000-000000000046") CLSID_QueryCancelAutoPlay* = DEFINE_GUID("331f1768-05a9-4ddd-b86e-dae34ddc998a") CLSID_DriveSizeCategorizer* = DEFINE_GUID("94357b53-ca29-4b78-83ae-e8fe7409134f") CLSID_DriveTypeCategorizer* = DEFINE_GUID("b0a8f3cf-4333-4bab-8873-1ccb1cada48b") CLSID_FreeSpaceCategorizer* = DEFINE_GUID("b5607793-24ac-44c7-82e2-831726aa6cb7") CLSID_TimeCategorizer* = DEFINE_GUID("3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe") CLSID_SizeCategorizer* = DEFINE_GUID("55d7b852-f6d1-42f2-aa75-8728a1b2d264") CLSID_AlphabeticalCategorizer* = DEFINE_GUID("3c2654c6-7372-4f6b-b310-55d6128f49d2") CLSID_MergedCategorizer* = DEFINE_GUID("8e827c11-33e7-4bc1-b242-8cd9a1c2b304") CLSID_ImageProperties* = DEFINE_GUID("7ab770c7-0e23-4d7a-8aa2-19bfad479829") CLSID_PropertiesUI* = DEFINE_GUID("d912f8cf-0396-4915-884e-fb425d32943b") CLSID_UserNotification* = DEFINE_GUID("0010890e-8789-413c-adbc-48f5b511b3af") CLSID_CDBurn* = DEFINE_GUID("fbeb8a05-beee-4442-804e-409d6c4515e9") CLSID_TaskbarList* = DEFINE_GUID("56fdf344-fd6d-11d0-958a-006097c9a090") CLSID_StartMenuPin* = DEFINE_GUID("a2a9545d-a0c2-42b4-9708-a0b2badd77c8") CLSID_WebWizardHost* = DEFINE_GUID("c827f149-55c1-4d28-935e-57e47caed973") CLSID_PublishDropTarget* = DEFINE_GUID("cc6eeffb-43f6-46c5-9619-51d571967f7d") CLSID_PublishingWizard* = DEFINE_GUID("6b33163c-76a5-4b6c-bf21-45de9cd503a1") SID_PublishingWizard* = CLSID_PublishingWizard CLSID_InternetPrintOrdering* = DEFINE_GUID("add36aa8-751a-4579-a266-d66f5202ccbb") CLSID_FolderViewHost* = DEFINE_GUID("20b1cb23-6968-4eb9-b7d4-a66d00d07cee") CLSID_ExplorerBrowser* = DEFINE_GUID("71f96385-ddd6-48d3-a0c1-ae06e8b055fb") CLSID_ImageRecompress* = DEFINE_GUID("6e33091c-d2f8-4740-b55e-2e11d1477a2c") CLSID_TrayBandSiteService* = DEFINE_GUID("f60ad0a0-e5e1-45cb-b51a-e15b9f8b2934") CLSID_TrayDeskBand* = DEFINE_GUID("e6442437-6c68-4f52-94dd-2cfed267efb9") CLSID_AttachmentServices* = DEFINE_GUID("4125dd96-e03a-4103-8f70-e0597d803b9c") CLSID_DocPropShellExtension* = DEFINE_GUID("883373c3-bf89-11d1-be35-080036b11a03") CLSID_ShellItem* = DEFINE_GUID("9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917") CLSID_NamespaceWalker* = DEFINE_GUID("72eb61e0-8672-4303-9175-f2e4c68b2e7c") CLSID_FileOperation* = DEFINE_GUID("3ad05575-8857-4850-9277-11b85bdb8e09") CLSID_FileOpenDialog* = DEFINE_GUID("dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7") CLSID_FileSaveDialog* = DEFINE_GUID("c0b4e2f3-ba21-4773-8dba-335ec946eb8b") CLSID_KnownFolderManager* = DEFINE_GUID("4df0c730-df9d-4ae3-9153-aa6b82e9795a") CLSID_FSCopyHandler* = DEFINE_GUID("d197380a-0a79-4dc8-a033-ed882c2fa14b") CLSID_SharingConfigurationManager* = DEFINE_GUID("49f371e1-8c5c-4d9c-9a3b-54a6827f513c") CLSID_PreviousVersions* = DEFINE_GUID("596ab062-b4d2-4215-9f74-e9109b0a8153") CLSID_NetworkConnections* = DEFINE_GUID("7007acc7-3202-11d1-aad2-00805fc1270e") CLSID_NamespaceTreeControl* = DEFINE_GUID("ae054212-3535-4430-83ed-d501aa6680e6") CLSID_IENamespaceTreeControl* = DEFINE_GUID("ace52d03-e5cd-4b20-82ff-e71b11beae1d") CLSID_ScheduledTasks* = DEFINE_GUID("d6277990-4c6a-11cf-8d87-00aa0060f5bf") CLSID_ApplicationAssociationRegistration* = DEFINE_GUID("591209c7-767b-42b2-9fba-44ee4615f2c7") CLSID_ApplicationAssociationRegistrationUI* = DEFINE_GUID("1968106d-f3b5-44cf-890e-116fcb9ecef1") CLSID_SearchFolderItemFactory* = DEFINE_GUID("14010e02-bbbd-41f0-88e3-eda371216584") CLSID_OpenControlPanel* = DEFINE_GUID("06622d85-6856-4460-8de1-a81921b41c4b") CLSID_MailRecipient* = DEFINE_GUID("9e56be60-c50f-11cf-9a2c-00a0c90a90ce") CLSID_NetworkExplorerFolder* = DEFINE_GUID("f02c1a0d-be21-4350-88b0-7367fc96ef3c") CLSID_DestinationList* = DEFINE_GUID("77f10cf0-3db5-4966-b520-b7c54fd35ed6") CLSID_ApplicationDestinations* = DEFINE_GUID("86c14003-4d6b-4ef3-a7b4-0506663b2e68") CLSID_ApplicationDocumentLists* = DEFINE_GUID("86bec222-30f2-47e0-9f25-60d11cd75c28") CLSID_HomeGroup* = DEFINE_GUID("de77ba04-3c92-4d11-a1a5-42352a53e0e3") CLSID_ShellLibrary* = DEFINE_GUID("d9b3211d-e57f-4426-aaef-30a806add397") CLSID_AppStartupLink* = DEFINE_GUID("273eb5e7-88b0-4843-bfef-e2c81d43aae5") CLSID_EnumerableObjectCollection* = DEFINE_GUID("2d3468c1-36a7-43b6-ac24-d3f02fd9607a") CLSID_DesktopGadget* = DEFINE_GUID("924ccc1b-6562-4c85-8657-d177925222b6") CLSID_PlaybackManager* = DEFINE_GUID("29dfa654-a97f-47f0-bf26-9e41fb9488d9") CLSID_AccessibilityDockingService* = DEFINE_GUID("29ce1d46-b481-4aa0-a08a-d3ebc8aca402") CLSID_FrameworkInputPane* = DEFINE_GUID("d5120aa3-46ba-44c5-822d-ca8092c1fc72") CLSID_DefFolderMenu* = DEFINE_GUID("c63382be-7933-48d0-9ac8-85fb46be2fdd") CLSID_AppVisibility* = DEFINE_GUID("7e5fe3d9-985f-4908-91f9-ee19f9fd1514") CLSID_AppShellVerbHandler* = DEFINE_GUID("4ed3a719-cea8-4bd9-910d-e252f997afc2") CLSID_ExecuteUnknown* = DEFINE_GUID("e44e9428-bdbc-4987-a099-40dc8fd255e7") CLSID_PackageDebugSettings* = DEFINE_GUID("b1aec16f-2383-4852-b0e9-8f0b1dc66b4d") CLSID_ApplicationActivationManager* = DEFINE_GUID("45ba127d-10a8-46ea-8ab7-56ea9078943c") CLSID_ApplicationDesignModeSettings* = DEFINE_GUID("958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b") CLSID_ExecuteFolder* = DEFINE_GUID("11dbb47c-a525-400b-9e80-a54615a090c0") LMD_DEFAULT* = 0x0 LMD_ALLOWUNINDEXABLENETWORKLOCATIONS* = 0x1 IID_IAssocHandlerInvoker* = DEFINE_GUID("92218cab-ecaa-4335-8133-807fd234c2ee") IID_IAssocHandler* = DEFINE_GUID("f04061ac-1659-4a3f-a954-775aa57fc083") IID_IEnumAssocHandlers* = DEFINE_GUID("973810ae-9599-4b88-9e4d-6ee98c9552da") ASSOC_FILTER_NONE* = 0x0 ASSOC_FILTER_RECOMMENDED* = 0x1 IID_IDataObjectProvider* = DEFINE_GUID("3d25f6d6-4b2a-433c-9184-7c33ad35d001") IID_IDataTransferManagerInterop* = DEFINE_GUID("3a3dcd6c-3eab-43dc-bcde-45671ce800c8") IID_IFrameworkInputPaneHandler* = DEFINE_GUID("226c537b-1e76-4d9e-a760-33db29922f18") IID_IFrameworkInputPane* = DEFINE_GUID("5752238b-24f0-495a-82f1-2fd593056796") PROP_CONTRACT_DELEGATE* = "ContractDelegate" IID_ISearchableApplication* = DEFINE_GUID("08922f8d-243a-49e3-a495-bd4f9cf8ab9e") UR_RESOLUTION_CHANGE* = 0 UR_MONITOR_DISCONNECT* = 1 IID_IAccessibilityDockingServiceCallback* = DEFINE_GUID("157733fd-a592-42e5-b594-248468c5a81b") IID_IAccessibilityDockingService* = DEFINE_GUID("8849dc22-cedf-4c95-998d-051419dd3f76") MAV_UNKNOWN* = 0 MAV_NO_APP_VISIBLE* = 1 MAV_APP_VISIBLE* = 2 IID_IAppVisibilityEvents* = DEFINE_GUID("6584ce6b-7d82-49c2-89c9-c6bc02ba8c38") IID_IAppVisibility* = DEFINE_GUID("2246ea2d-caea-4444-a3c4-6de827e44313") PES_UNKNOWN* = 0 PES_RUNNING* = 1 PES_SUSPENDING* = 2 PES_SUSPENDED* = 3 PES_TERMINATED* = 4 IID_IPackageExecutionStateChangeNotification* = DEFINE_GUID("1bb12a62-2ad8-432b-8ccf-0c2c52afcd5b") IID_IPackageDebugSettings* = DEFINE_GUID("f27c3930-8029-4ad1-94e3-3dba417810c1") AHE_DESKTOP* = 0 AHE_IMMERSIVE* = 1 IID_IExecuteCommandApplicationHostEnvironment* = DEFINE_GUID("18b21aa9-e184-4ff0-9f5e-f882d03771b3") ECHUIM_DESKTOP* = 0 ECHUIM_IMMERSIVE* = 1 ECHUIM_SYSTEM_LAUNCHER* = 2 IID_IExecuteCommandHost* = DEFINE_GUID("4b6832a2-5f04-4c9d-b89d-727a15d103e7") SID_ExecuteCommandHost* = IID_IExecuteCommandHost AVS_FULLSCREEN_LANDSCAPE* = 0 AVS_FILLED* = 1 AVS_SNAPPED* = 2 AVS_FULLSCREEN_PORTRAIT* = 3 EGK_TOUCH* = 0 EGK_KEYBOARD* = 1 EGK_MOUSE* = 2 IID_IApplicationDesignModeSettings* = DEFINE_GUID("2a3dee9a-e31d-46d6-8508-bcc597db3557") IID_IInitializeWithWindow* = DEFINE_GUID("3e68d4bd-7135-4d10-8018-9fb6d9f33fa1") IID_IHandlerInfo* = DEFINE_GUID("997706ef-f880-453b-8118-39e1a2d2655a") IID_IHandlerActivationHost* = DEFINE_GUID("35094a87-8bb1-4237-96c6-c417eebdb078") SID_SHandlerActivationHost* = IID_IHandlerActivationHost SID_ShellExecuteNamedPropertyStore* = DEFINE_GUID("eb84ada2-00ff-4992-8324-ed5ce061cb29") GIL_OPENICON* = 0x1 GIL_FORSHELL* = 0x2 GIL_ASYNC* = 0x20 GIL_DEFAULTICON* = 0x40 GIL_FORSHORTCUT* = 0x80 GIL_CHECKSHIELD* = 0x200 GIL_SIMULATEDOC* = 0x1 GIL_PERINSTANCE* = 0x2 GIL_PERCLASS* = 0x4 GIL_NOTFILENAME* = 0x8 GIL_DONTCACHE* = 0x10 GIL_SHIELD* = 0x200 GIL_FORCENOSHIELD* = 0x400 ISIOI_ICONFILE* = 0x1 ISIOI_ICONINDEX* = 0x2 SIOM_OVERLAYINDEX* = 1 SIOM_ICONINDEX* = 2 SIOM_RESERVED_SHARED* = 0 SIOM_RESERVED_LINK* = 1 SIOM_RESERVED_SLOWFILE* = 2 SIOM_RESERVED_DEFAULT* = 3 OI_DEFAULT* = 0x0 OI_ASYNC* = 0xffffeeee'i32 IDO_SHGIOI_SHARE* = 0x0fffffff IDO_SHGIOI_LINK* = 0x0ffffffe IDO_SHGIOI_SLOWFILE* = 0x0fffffffd'i32 IDO_SHGIOI_DEFAULT* = 0x0fffffffc'i32 SLDF_DEFAULT* = 0x00000000 SLDF_HAS_ID_LIST* = 0x00000001 SLDF_HAS_LINK_INFO* = 0x00000002 SLDF_HAS_NAME* = 0x00000004 SLDF_HAS_RELPATH* = 0x00000008 SLDF_HAS_WORKINGDIR* = 0x00000010 SLDF_HAS_ARGS* = 0x00000020 SLDF_HAS_ICONLOCATION* = 0x00000040 SLDF_UNICODE* = 0x00000080 SLDF_FORCE_NO_LINKINFO* = 0x00000100 SLDF_HAS_EXP_SZ* = 0x00000200 SLDF_RUN_IN_SEPARATE* = 0x00000400 SLDF_HAS_LOGO3ID* = 0x00000800 SLDF_HAS_DARWINID* = 0x00001000 SLDF_RUNAS_USER* = 0x00002000 SLDF_HAS_EXP_ICON_SZ* = 0x00004000 SLDF_NO_PIDL_ALIAS* = 0x00008000 SLDF_FORCE_UNCNAME* = 0x00010000 SLDF_RUN_WITH_SHIMLAYER* = 0x00020000 SLDF_FORCE_NO_LINKTRACK* = 0x00040000 SLDF_ENABLE_TARGET_METADATA* = 0x00080000 SLDF_DISABLE_LINK_PATH_TRACKING* = 0x00100000 SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING* = 0x00200000 SLDF_NO_KF_ALIAS* = 0x00400000 SLDF_ALLOW_LINK_TO_LINK* = 0x00800000 SLDF_UNALIAS_ON_SAVE* = 0x01000000 SLDF_PREFER_ENVIRONMENT_PATH* = 0x02000000 SLDF_KEEP_LOCAL_IDLIST_FOR_UNC_TARGET* = 0x04000000 SLDF_PERSIST_VOLUME_ID_RELATIVE* = 0x08000000 SLDF_VALID* = 0x0ffff7ff SLDF_RESERVED* = int32 0x80000000'i32 NT_CONSOLE_PROPS_SIG* = 0xa0000002'i32 NT_FE_CONSOLE_PROPS_SIG* = 0xa0000004'i32 EXP_DARWIN_ID_SIG* = 0xa0000006'i32 EXP_SPECIAL_FOLDER_SIG* = 0xa0000005'i32 EXP_SZ_LINK_SIG* = 0xa0000001'i32 EXP_SZ_ICON_SIG* = 0xa0000007'i32 EXP_PROPERTYSTORAGE_SIG* = 0xa0000009'i32 FVSIF_RECT* = 0x00000001 FVSIF_PINNED* = 0x00000002 FVSIF_NEWFAILED* = 0x08000000 FVSIF_NEWFILE* = 0x80000000'i32 FVSIF_CANVIEWIT* = 0x40000000 FCIDM_SHVIEWFIRST* = 0x0000 FCIDM_SHVIEWLAST* = 0x7fff FCIDM_BROWSERFIRST* = 0xa000 FCIDM_BROWSERLAST* = 0xbf00 FCIDM_GLOBALFIRST* = 0x8000 FCIDM_GLOBALLAST* = 0x9fff FCIDM_MENU_FILE* = FCIDM_GLOBALFIRST+0x0000 FCIDM_MENU_EDIT* = FCIDM_GLOBALFIRST+0x0040 FCIDM_MENU_VIEW* = FCIDM_GLOBALFIRST+0x0080 FCIDM_MENU_VIEW_SEP_OPTIONS* = FCIDM_GLOBALFIRST+0x0081 FCIDM_MENU_TOOLS* = FCIDM_GLOBALFIRST+0x00c0 FCIDM_MENU_TOOLS_SEP_GOTO* = FCIDM_GLOBALFIRST+0x00c1 FCIDM_MENU_HELP* = FCIDM_GLOBALFIRST+0x0100 FCIDM_MENU_FIND* = FCIDM_GLOBALFIRST+0x0140 FCIDM_MENU_EXPLORE* = FCIDM_GLOBALFIRST+0x0150 FCIDM_MENU_FAVORITES* = FCIDM_GLOBALFIRST+0x0170 FCIDM_TOOLBAR* = FCIDM_BROWSERFIRST+0 FCIDM_STATUS* = FCIDM_BROWSERFIRST+1 IDC_OFFLINE_HAND* = 103 IDC_PANTOOL_HAND_OPEN* = 104 IDC_PANTOOL_HAND_CLOSED* = 105 PANE_NONE* = DWORD(-1) PANE_ZONE* = 1 PANE_OFFLINE* = 2 PANE_PRINTER* = 3 PANE_SSL* = 4 PANE_NAVIGATION* = 5 PANE_PROGRESS* = 6 PANE_PRIVACY* = 7 GPFIDL_DEFAULT* = 0x0 GPFIDL_ALTNAME* = 0x1 GPFIDL_UNCPRINTER* = 0x2 OFASI_EDIT* = 0x0001 OFASI_OPENDESKTOP* = 0x0002 REGSTR_PATH_SPECIAL_FOLDERS* = REGSTR_PATH_EXPLORER & "\\Shell Folders" CSIDL_DESKTOP* = 0x0000 CSIDL_INTERNET* = 0x0001 CSIDL_PROGRAMS* = 0x0002 CSIDL_CONTROLS* = 0x0003 CSIDL_PRINTERS* = 0x0004 CSIDL_FAVORITES* = 0x0006 CSIDL_STARTUP* = 0x0007 CSIDL_RECENT* = 0x0008 CSIDL_SENDTO* = 0x0009 CSIDL_BITBUCKET* = 0x000a CSIDL_STARTMENU* = 0x000b CSIDL_MYDOCUMENTS* = CSIDL_PERSONAL CSIDL_DESKTOPDIRECTORY* = 0x0010 CSIDL_DRIVES* = 0x0011 CSIDL_NETWORK* = 0x0012 CSIDL_NETHOOD* = 0x0013 CSIDL_FONTS* = 0x0014 CSIDL_TEMPLATES* = 0x0015 CSIDL_COMMON_STARTMENU* = 0x0016 CSIDL_COMMON_PROGRAMS* = 0x0017 CSIDL_COMMON_STARTUP* = 0x0018 CSIDL_COMMON_DESKTOPDIRECTORY* = 0x0019 CSIDL_PRINTHOOD* = 0x001b CSIDL_LOCAL_APPDATA* = 0x001c CSIDL_ALTSTARTUP* = 0x001d CSIDL_COMMON_ALTSTARTUP* = 0x001e CSIDL_COMMON_FAVORITES* = 0x001f CSIDL_INTERNET_CACHE* = 0x0020 CSIDL_COOKIES* = 0x0021 CSIDL_HISTORY* = 0x0022 CSIDL_COMMON_APPDATA* = 0x0023 CSIDL_WINDOWS* = 0x0024 CSIDL_SYSTEM* = 0x0025 CSIDL_PROGRAM_FILES* = 0x0026 CSIDL_PROFILE* = 0x0028 CSIDL_SYSTEMX86* = 0x0029 CSIDL_PROGRAM_FILESX86* = 0x002a CSIDL_PROGRAM_FILES_COMMON* = 0x002b CSIDL_PROGRAM_FILES_COMMONX86* = 0x002c CSIDL_COMMON_TEMPLATES* = 0x002d CSIDL_COMMON_DOCUMENTS* = 0x002e CSIDL_COMMON_ADMINTOOLS* = 0x002f CSIDL_ADMINTOOLS* = 0x0030 CSIDL_CONNECTIONS* = 0x0031 CSIDL_COMMON_MUSIC* = 0x0035 CSIDL_COMMON_PICTURES* = 0x0036 CSIDL_COMMON_VIDEO* = 0x0037 CSIDL_RESOURCES* = 0x0038 CSIDL_RESOURCES_LOCALIZED* = 0x0039 CSIDL_COMMON_OEM_LINKS* = 0x003a CSIDL_CDBURN_AREA* = 0x003b CSIDL_COMPUTERSNEARME* = 0x003d CSIDL_FLAG_DONT_UNEXPAND* = 0x2000 CSIDL_FLAG_NO_ALIAS* = 0x1000 CSIDL_FLAG_PER_USER_INIT* = 0x0800 CSIDL_FLAG_MASK* = 0xff00 KF_FLAG_DEFAULT* = 0x00000000 KF_FLAG_NO_APPCONTAINER_REDIRECTION* = 0x00010000 KF_FLAG_CREATE* = 0x00008000 KF_FLAG_DONT_VERIFY* = 0x00004000 KF_FLAG_DONT_UNEXPAND* = 0x00002000 KF_FLAG_NO_ALIAS* = 0x00001000 KF_FLAG_INIT* = 0x00000800 KF_FLAG_DEFAULT_PATH* = 0x00000400 KF_FLAG_NOT_PARENT_RELATIVE* = 0x00000200 KF_FLAG_SIMPLE_IDLIST* = 0x00000100 KF_FLAG_ALIAS_ONLY* = 0x80000000'i32 FCS_READ* = 0x00000001 FCS_FORCEWRITE* = 0x00000002 FCS_WRITE* = FCS_READ or FCS_FORCEWRITE FCS_FLAG_DRAGDROP* = 2 FCSM_VIEWID* = 0x00000001 FCSM_WEBVIEWTEMPLATE* = 0x00000002 FCSM_INFOTIP* = 0x00000004 FCSM_CLSID* = 0x00000008 FCSM_ICONFILE* = 0x00000010 FCSM_LOGO* = 0x00000020 FCSM_FLAGS* = 0x00000040 BIF_RETURNONLYFSDIRS* = 0x00000001 BIF_DONTGOBELOWDOMAIN* = 0x00000002 BIF_STATUSTEXT* = 0x00000004 BIF_RETURNFSANCESTORS* = 0x00000008 BIF_EDITBOX* = 0x00000010 BIF_VALIDATE* = 0x00000020 BIF_NEWDIALOGSTYLE* = 0x00000040 BIF_USENEWUI* = BIF_NEWDIALOGSTYLE or BIF_EDITBOX BIF_BROWSEINCLUDEURLS* = 0x00000080 BIF_UAHINT* = 0x00000100 BIF_NONEWFOLDERBUTTON* = 0x00000200 BIF_NOTRANSLATETARGETS* = 0x00000400 BIF_BROWSEFORCOMPUTER* = 0x00001000 BIF_BROWSEFORPRINTER* = 0x00002000 BIF_BROWSEINCLUDEFILES* = 0x00004000 BIF_SHAREABLE* = 0x00008000 BIF_BROWSEFILEJUNCTIONS* = 0x00010000 BFFM_INITIALIZED* = 1 BFFM_SELCHANGED* = 2 BFFM_VALIDATEFAILEDA* = 3 BFFM_VALIDATEFAILEDW* = 4 BFFM_IUNKNOWN* = 5 BFFM_SETSTATUSTEXTA* = WM_USER+100 BFFM_ENABLEOK* = WM_USER+101 BFFM_SETSELECTIONA* = WM_USER+102 BFFM_SETSELECTIONW* = WM_USER+103 BFFM_SETSTATUSTEXTW* = WM_USER+104 BFFM_SETOKTEXT* = WM_USER+105 BFFM_SETEXPANDED* = WM_USER+106 ISHCUTCMDID_DOWNLOADICON* = 0 ISHCUTCMDID_INTSHORTCUTCREATE* = 1 ISHCUTCMDID_COMMITHISTORY* = 2 ISHCUTCMDID_SETUSERAWURL* = 3 CMDID_INTSHORTCUTCREATE* = ISHCUTCMDID_INTSHORTCUTCREATE STR_PARSE_WITH_PROPERTIES* = "ParseWithProperties" STR_PARSE_PARTIAL_IDLIST* = "ParseOriginalItem" ACLO_NONE* = 0 ACLO_CURRENTDIR* = 1 ACLO_MYCOMPUTER* = 2 ACLO_DESKTOP* = 4 ACLO_FAVORITES* = 8 ACLO_FILESYSONLY* = 16 ACLO_FILESYSDIRS* = 32 ACLO_VIRTUALNAMESPACE* = 64 PROGDLG_NORMAL* = 0x00000000 PROGDLG_MODAL* = 0x00000001 PROGDLG_AUTOTIME* = 0x00000002 PROGDLG_NOTIME* = 0x00000004 PROGDLG_NOMINIMIZE* = 0x00000008 PROGDLG_NOPROGRESSBAR* = 0x00000010 PROGDLG_MARQUEEPROGRESS* = 0x00000020 PROGDLG_NOCANCEL* = 0x00000040 PDTIMER_RESET* = 0x00000001 PDTIMER_PAUSE* = 0x00000002 PDTIMER_RESUME* = 0x00000003 DWFRF_NORMAL* = 0x0000 DWFRF_DELETECONFIGDATA* = 0x0001 DWFAF_HIDDEN* = 0x1 DWFAF_GROUP1* = 0x2 DWFAF_GROUP2* = 0x4 DWFAF_AUTOHIDE* = 0x10 IID_IEnumShellImageStore* = DEFINE_GUID("6dfd582b-92e3-11d1-98a3-00c04fb687da") SHIMSTCAPFLAG_LOCKABLE* = 0x0001 SHIMSTCAPFLAG_PURGEABLE* = 0x0002 ISFB_MASK_STATE* = 0x00000001 ISFB_MASK_BKCOLOR* = 0x00000002 ISFB_MASK_VIEWMODE* = 0x00000004 ISFB_MASK_SHELLFOLDER* = 0x00000008 ISFB_MASK_IDLIST* = 0x00000010 ISFB_MASK_COLORS* = 0x00000020 ISFB_STATE_DEFAULT* = 0x00000000 ISFB_STATE_DEBOSSED* = 0x00000001 ISFB_STATE_ALLOWRENAME* = 0x00000002 ISFB_STATE_NOSHOWTEXT* = 0x00000004 ISFB_STATE_CHANNELBAR* = 0x00000010 ISFB_STATE_QLINKSMODE* = 0x00000020 ISFB_STATE_FULLOPEN* = 0x00000040 ISFB_STATE_NONAMESORT* = 0x00000080 ISFB_STATE_BTNMINSIZE* = 0x00000100 ISFBVIEWMODE_SMALLICONS* = 0x0001 ISFBVIEWMODE_LARGEICONS* = 0x0002 ISFBVIEWMODE_LOGOS* = 0x0003 SFBID_PIDLCHANGED* = 0 IID_IDeskBarClient* = DEFINE_GUID("eb0fe175-1a3a-11d0-89b3-00a0c90a90ac") DBC_GS_IDEAL* = 0 DBC_GS_SIZEDOWN* = 1 DBC_HIDE* = 0 DBC_SHOW* = 1 DBC_SHOWOBSCURE* = 2 DBCID_EMPTY* = 0 DBCID_ONDRAG* = 1 DBCID_CLSIDOFBAR* = 2 DBCID_RESIZE* = 3 DBCID_GETBAR* = 4 COMPONENT_TOP* = 0x3fffffff COMP_TYPE_HTMLDOC* = 0 COMP_TYPE_PICTURE* = 1 COMP_TYPE_WEBSITE* = 2 COMP_TYPE_CONTROL* = 3 COMP_TYPE_CFHTML* = 4 COMP_TYPE_MAX* = 4 IS_NORMAL* = 0x00000001 IS_FULLSCREEN* = 0x00000002 IS_SPLIT* = 0x00000004 IS_VALIDSIZESTATEBITS* = IS_NORMAL or IS_SPLIT or IS_FULLSCREEN IS_VALIDSTATEBITS* = IS_NORMAL or IS_SPLIT or IS_FULLSCREEN or 0x80000000'i32 or 0x40000000 AD_APPLY_SAVE* = 0x00000001 AD_APPLY_HTMLGEN* = 0x00000002 AD_APPLY_REFRESH* = 0x00000004 AD_APPLY_ALL* = AD_APPLY_SAVE or AD_APPLY_HTMLGEN or AD_APPLY_REFRESH AD_APPLY_FORCE* = 0x00000008 AD_APPLY_BUFFERED_REFRESH* = 0x00000010 AD_APPLY_DYNAMICREFRESH* = 0x00000020 AD_GETWP_BMP* = 0x00000000 AD_GETWP_IMAGE* = 0x00000001 AD_GETWP_LAST_APPLIED* = 0x00000002 WPSTYLE_CENTER* = 0 WPSTYLE_TILE* = 1 WPSTYLE_STRETCH* = 2 WPSTYLE_KEEPASPECT* = 3 WPSTYLE_CROPTOFIT* = 4 WPSTYLE_SPAN* = 5 WPSTYLE_MAX* = 6 COMP_ELEM_TYPE* = 0x00000001 COMP_ELEM_CHECKED* = 0x00000002 COMP_ELEM_DIRTY* = 0x00000004 COMP_ELEM_NOSCROLL* = 0x00000008 COMP_ELEM_POS_LEFT* = 0x00000010 COMP_ELEM_POS_TOP* = 0x00000020 COMP_ELEM_SIZE_WIDTH* = 0x00000040 COMP_ELEM_SIZE_HEIGHT* = 0x00000080 COMP_ELEM_POS_ZINDEX* = 0x00000100 COMP_ELEM_SOURCE* = 0x00000200 COMP_ELEM_FRIENDLYNAME* = 0x00000400 COMP_ELEM_SUBSCRIBEDURL* = 0x00000800 COMP_ELEM_ORIGINAL_CSI* = 0x00001000 COMP_ELEM_RESTORED_CSI* = 0x00002000 COMP_ELEM_CURITEMSTATE* = 0x00004000 COMP_ELEM_ALL* = COMP_ELEM_TYPE or COMP_ELEM_CHECKED or COMP_ELEM_DIRTY or COMP_ELEM_NOSCROLL or COMP_ELEM_POS_LEFT or COMP_ELEM_SIZE_WIDTH or COMP_ELEM_SIZE_HEIGHT or COMP_ELEM_POS_ZINDEX or COMP_ELEM_SOURCE or COMP_ELEM_FRIENDLYNAME or COMP_ELEM_POS_TOP or COMP_ELEM_SUBSCRIBEDURL or COMP_ELEM_ORIGINAL_CSI or COMP_ELEM_RESTORED_CSI or COMP_ELEM_CURITEMSTATE DTI_ADDUI_DEFAULT* = 0x0 DTI_ADDUI_DISPSUBWIZARD* = 0x1 DTI_ADDUI_POSITIONITEM* = 0x2 ADDURL_SILENT* = 0x1 COMPONENT_DEFAULT_LEFT* = 0xffff COMPONENT_DEFAULT_TOP* = 0xffff SSM_CLEAR* = 0x0000 SSM_SET* = 0x0001 SSM_REFRESH* = 0x0002 SSM_UPDATE* = 0x0004 SCHEME_DISPLAY* = 0x0001 SCHEME_EDIT* = 0x0002 SCHEME_LOCAL* = 0x0004 SCHEME_GLOBAL* = 0x0008 SCHEME_REFRESH* = 0x0010 SCHEME_UPDATE* = 0x0020 SCHEME_DONOTUSE* = 0x0040 SCHEME_CREATE* = 0x0080 GADOF_DIRTY* = 0x00000001 SHCDF_UPDATEITEM* = 0x00000001 CFSTR_SHELLIDLIST* = "Shell IDList Array" CFSTR_SHELLIDLISTOFFSET* = "Shell Object Offsets" CFSTR_NETRESOURCES* = "Net Resource" CFSTR_FILEDESCRIPTORA* = "FileGroupDescriptor" CFSTR_FILEDESCRIPTORW* = "FileGroupDescriptorW" CFSTR_FILECONTENTS* = "FileContents" CFSTR_FILENAMEA* = "FileName" CFSTR_FILENAMEW* = "FileNameW" CFSTR_PRINTERGROUP* = "PrinterFriendlyName" CFSTR_FILENAMEMAPA* = "FileNameMap" CFSTR_FILENAMEMAPW* = "FileNameMapW" CFSTR_SHELLURL* = "UniformResourceLocator" CFSTR_INETURLA* = CFSTR_SHELLURL CFSTR_INETURLW* = "UniformResourceLocatorW" CFSTR_PREFERREDDROPEFFECT* = "Preferred DropEffect" CFSTR_PERFORMEDDROPEFFECT* = "Performed DropEffect" CFSTR_PASTESUCCEEDED* = "Paste Succeeded" CFSTR_INDRAGLOOP* = "InShellDragLoop" CFSTR_MOUNTEDVOLUME* = "MountedVolume" CFSTR_PERSISTEDDATAOBJECT* = "PersistedDataObject" CFSTR_TARGETCLSID* = "TargetCLSID" CFSTR_LOGICALPERFORMEDDROPEFFECT* = "Logical Performed DropEffect" CFSTR_AUTOPLAY_SHELLIDLISTS* = "Autoplay Enumerated IDList Array" CFSTR_UNTRUSTEDDRAGDROP* = "UntrustedDragDrop" CFSTR_FILE_ATTRIBUTES_ARRAY* = "File Attributes Array" CFSTR_INVOKECOMMAND_DROPPARAM* = "InvokeCommand DropParam" CFSTR_SHELLDROPHANDLER* = "DropHandlerCLSID" CFSTR_DROPDESCRIPTION* = "DropDescription" CFSTR_ZONEIDENTIFIER* = "ZoneIdentifier" DVASPECT_SHORTNAME* = 2 DVASPECT_COPY* = 3 DVASPECT_LINK* = 4 FD_CLSID* = 0x1 FD_SIZEPOINT* = 0x2 FD_ATTRIBUTES* = 0x4 FD_CREATETIME* = 0x8 FD_ACCESSTIME* = 0x10 FD_WRITESTIME* = 0x20 FD_FILESIZE* = 0x40 FD_PROGRESSUI* = 0x4000 FD_LINKUI* = 0x8000 FD_UNICODE* = int32 0x80000000'i32 DROPIMAGE_INVALID* = -1 DROPIMAGE_NONE* = 0 DROPIMAGE_COPY* = DROPEFFECT_COPY DROPIMAGE_MOVE* = DROPEFFECT_MOVE DROPIMAGE_LINK* = DROPEFFECT_LINK DROPIMAGE_LABEL* = 6 DROPIMAGE_WARNING* = 7 DROPIMAGE_NOIMAGE* = 8 SHCNRF_InterruptLevel* = 0x0001 SHCNRF_ShellLevel* = 0x0002 SHCNRF_RecursiveInterrupt* = 0x1000 SHCNRF_NewDelivery* = 0x8000 SHCNE_RENAMEITEM* = 0x00000001 SHCNE_CREATE* = 0x00000002 SHCNE_DELETE* = 0x00000004 SHCNE_MKDIR* = 0x00000008 SHCNE_RMDIR* = 0x00000010 SHCNE_MEDIAINSERTED* = 0x00000020 SHCNE_MEDIAREMOVED* = 0x00000040 SHCNE_DRIVEREMOVED* = 0x00000080 SHCNE_DRIVEADD* = 0x00000100 SHCNE_NETSHARE* = 0x00000200 SHCNE_NETUNSHARE* = 0x00000400 SHCNE_ATTRIBUTES* = 0x00000800 SHCNE_UPDATEDIR* = 0x00001000 SHCNE_UPDATEITEM* = 0x00002000 SHCNE_SERVERDISCONNECT* = 0x00004000 SHCNE_UPDATEIMAGE* = 0x00008000 SHCNE_DRIVEADDGUI* = 0x00010000 SHCNE_RENAMEFOLDER* = 0x00020000 SHCNE_FREESPACE* = 0x00040000 SHCNE_EXTENDED_EVENT* = 0x04000000 SHCNE_ASSOCCHANGED* = 0x08000000 SHCNE_DISKEVENTS* = 0x0002381f SHCNE_GLOBALEVENTS* = 0x0c0581e0 SHCNE_ALLEVENTS* = 0x7fffffff SHCNE_INTERRUPT* = 0x80000000'i32 SHCNEE_ORDERCHANGED* = 2 SHCNEE_MSI_CHANGE* = 4 SHCNEE_MSI_UNINSTALL* = 5 SHCNF_IDLIST* = 0x0000 SHCNF_PATHA* = 0x0001 SHCNF_PRINTERA* = 0x0002 SHCNF_DWORD* = 0x0003 SHCNF_PATHW* = 0x0005 SHCNF_PRINTERW* = 0x0006 SHCNF_TYPE* = 0x00ff SHCNF_FLUSH* = 0x1000 SHCNF_FLUSHNOWAIT* = 0x3000 SHCNF_NOTIFYRECURSIVE* = 0x10000 QITIPF_DEFAULT* = 0x00000000 QITIPF_USENAME* = 0x00000001 QITIPF_LINKNOTARGET* = 0x00000002 QITIPF_LINKUSETARGET* = 0x00000004 QITIPF_USESLOWTIP* = 0x00000008 QITIPF_SINGLELINE* = 0x00000010 QIF_CACHED* = 0x00000001 QIF_DONTEXPANDFOLDER* = 0x00000002 SHARD_PIDL* = 0x00000001 SHARD_PATHA* = 0x00000002 SHARD_PATHW* = 0x00000003 SHARD_APPIDINFO* = 0x00000004 SHARD_APPIDINFOIDLIST* = 0x00000005 SHARD_LINK* = 0x00000006 SHARD_APPIDINFOLINK* = 0x00000007 SHARD_SHELLITEM* = 0x00000008 SCNRT_ENABLE* = 0 SCNRT_DISABLE* = 1 SHGDFIL_FINDDATA* = 1 SHGDFIL_NETRESOURCE* = 2 SHGDFIL_DESCRIPTIONID* = 3 SHDID_ROOT_REGITEM* = 1 SHDID_FS_FILE* = 2 SHDID_FS_DIRECTORY* = 3 SHDID_FS_OTHER* = 4 SHDID_COMPUTER_DRIVE35* = 5 SHDID_COMPUTER_DRIVE525* = 6 SHDID_COMPUTER_REMOVABLE* = 7 SHDID_COMPUTER_FIXED* = 8 SHDID_COMPUTER_NETDRIVE* = 9 SHDID_COMPUTER_CDROM* = 10 SHDID_COMPUTER_RAMDISK* = 11 SHDID_COMPUTER_OTHER* = 12 SHDID_NET_DOMAIN* = 13 SHDID_NET_SERVER* = 14 SHDID_NET_SHARE* = 15 SHDID_NET_RESTOFNET* = 16 SHDID_NET_OTHER* = 17 SHDID_COMPUTER_IMAGING* = 18 SHDID_COMPUTER_AUDIO* = 19 SHDID_COMPUTER_SHAREDDOCS* = 20 SHDID_MOBILE_DEVICE* = 21 PRF_VERIFYEXISTS* = 0x1 PRF_TRYPROGRAMEXTENSIONS* = 0x2 or PRF_VERIFYEXISTS PRF_FIRSTDIRDEF* = 0x4 PRF_DONTFINDLNK* = 0x8 PRF_REQUIREABSOLUTE* = 0x10 NUM_POINTS* = 3 CABINETSTATE_VERSION* = 2 PCS_FATAL* = 0x80000000'i32 PCS_REPLACEDCHAR* = 0x00000001 PCS_REMOVEDCHAR* = 0x00000002 PCS_TRUNCATED* = 0x00000004 PCS_PATHTOOLONG* = 0x00000008 MM_ADDSEPARATOR* = 0x00000001 MM_SUBMENUSHAVEIDS* = 0x00000002 MM_DONTREMOVESEPS* = 0x00000004 SHOP_PRINTERNAME* = 0x00000001 SHOP_FILEPATH* = 0x00000002 SHOP_VOLUMEGUID* = 0x00000004 SHFMT_ID_DEFAULT* = 0xffff SHFMT_OPT_FULL* = 0x0001 SHFMT_OPT_SYSONLY* = 0x0002 SHFMT_ERROR* = 0xffffffff'i32 SHFMT_CANCEL* = 0xfffffffe'i32 SHFMT_NOFORMAT* = 0xfffffffd'i32 REST_NONE* = 0x00000000 REST_NORUN* = 0x00000001 REST_NOCLOSE* = 0x00000002 REST_NOSAVESET* = 0x00000004 REST_NOFILEMENU* = 0x00000008 REST_NOSETFOLDERS* = 0x00000010 REST_NOSETTASKBAR* = 0x00000020 REST_NODESKTOP* = 0x00000040 REST_NOFIND* = 0x00000080 REST_NODRIVES* = 0x00000100 REST_NODRIVEAUTORUN* = 0x00000200 REST_NODRIVETYPEAUTORUN* = 0x00000400 REST_NONETHOOD* = 0x00000800 REST_STARTBANNER* = 0x00001000 REST_RESTRICTRUN* = 0x00002000 REST_NOPRINTERTABS* = 0x00004000 REST_NOPRINTERDELETE* = 0x00008000 REST_NOPRINTERADD* = 0x00010000 REST_NOSTARTMENUSUBFOLDERS* = 0x00020000 REST_MYDOCSONNET* = 0x00040000 REST_NOEXITTODOS* = 0x00080000 REST_ENFORCESHELLEXTSECURITY* = 0x00100000 REST_LINKRESOLVEIGNORELINKINFO* = 0x00200000 REST_NOCOMMONGROUPS* = 0x00400000 REST_SEPARATEDESKTOPPROCESS* = 0x00800000 REST_NOWEB* = 0x01000000 REST_NOTRAYCONTEXTMENU* = 0x02000000 REST_NOVIEWCONTEXTMENU* = 0x04000000 REST_NONETCONNECTDISCONNECT* = 0x08000000 REST_STARTMENULOGOFF* = 0x10000000 REST_NOSETTINGSASSIST* = 0x20000000 REST_NOINTERNETICON* = 0x40000001 REST_NORECENTDOCSHISTORY* = 0x40000002 REST_NORECENTDOCSMENU* = 0x40000003 REST_NOACTIVEDESKTOP* = 0x40000004 REST_NOACTIVEDESKTOPCHANGES* = 0x40000005 REST_NOFAVORITESMENU* = 0x40000006 REST_CLEARRECENTDOCSONEXIT* = 0x40000007 REST_CLASSICSHELL* = 0x40000008 REST_NOCUSTOMIZEWEBVIEW* = 0x40000009 REST_NOHTMLWALLPAPER* = 0x40000010 REST_NOCHANGINGWALLPAPER* = 0x40000011 REST_NODESKCOMP* = 0x40000012 REST_NOADDDESKCOMP* = 0x40000013 REST_NODELDESKCOMP* = 0x40000014 REST_NOCLOSEDESKCOMP* = 0x40000015 REST_NOCLOSE_DRAGDROPBAND* = 0x40000016 REST_NOMOVINGBAND* = 0x40000017 REST_NOEDITDESKCOMP* = 0x40000018 REST_NORESOLVESEARCH* = 0x40000019 REST_NORESOLVETRACK* = 0x4000001a REST_FORCECOPYACLWITHFILE* = 0x4000001b REST_NOLOGO3CHANNELNOTIFY* = 0x4000001c REST_NOFORGETSOFTWAREUPDATE* = 0x4000001d REST_NOSETACTIVEDESKTOP* = 0x4000001e REST_NOUPDATEWINDOWS* = 0x4000001f REST_NOCHANGESTARMENU* = 0x40000020 REST_NOFOLDEROPTIONS* = 0x40000021 REST_HASFINDCOMPUTERS* = 0x40000022 REST_INTELLIMENUS* = 0x40000023 REST_RUNDLGMEMCHECKBOX* = 0x40000024 REST_ARP_ShowPostSetup* = 0x40000025 REST_NOCSC* = 0x40000026 REST_NOCONTROLPANEL* = 0x40000027 REST_ENUMWORKGROUP* = 0x40000028 REST_ARP_NOARP* = 0x40000029 REST_ARP_NOREMOVEPAGE* = 0x4000002a REST_ARP_NOADDPAGE* = 0x4000002b REST_ARP_NOWINSETUPPAGE* = 0x4000002c REST_GREYMSIADS* = 0x4000002d REST_NOCHANGEMAPPEDDRIVELABEL* = 0x4000002e REST_NOCHANGEMAPPEDDRIVECOMMENT* = 0x4000002f REST_MaxRecentDocs* = 0x40000030 REST_NONETWORKCONNECTIONS* = 0x40000031 REST_FORCESTARTMENULOGOFF* = 0x40000032 REST_NOWEBVIEW* = 0x40000033 REST_NOCUSTOMIZETHISFOLDER* = 0x40000034 REST_NOENCRYPTION* = 0x40000035 REST_DONTSHOWSUPERHIDDEN* = 0x40000037 REST_NOSHELLSEARCHBUTTON* = 0x40000038 REST_NOHARDWARETAB* = 0x40000039 REST_NORUNASINSTALLPROMPT* = 0x4000003a REST_PROMPTRUNASINSTALLNETPATH* = 0x4000003b REST_NOMANAGEMYCOMPUTERVERB* = 0x4000003c REST_DISALLOWRUN* = 0x4000003e REST_NOWELCOMESCREEN* = 0x4000003f REST_RESTRICTCPL* = 0x40000040 REST_DISALLOWCPL* = 0x40000041 REST_NOSMBALLOONTIP* = 0x40000042 REST_NOSMHELP* = 0x40000043 REST_NOWINKEYS* = 0x40000044 REST_NOENCRYPTONMOVE* = 0x40000045 REST_NOLOCALMACHINERUN* = 0x40000046 REST_NOCURRENTUSERRUN* = 0x40000047 REST_NOLOCALMACHINERUNONCE* = 0x40000048 REST_NOCURRENTUSERRUNONCE* = 0x40000049 REST_FORCEACTIVEDESKTOPON* = 0x4000004a REST_NOVIEWONDRIVE* = 0x4000004c REST_NONETCRAWL* = 0x4000004d REST_NOSHAREDDOCUMENTS* = 0x4000004e REST_NOSMMYDOCS* = 0x4000004f REST_NOSMMYPICS* = 0x40000050 REST_ALLOWBITBUCKDRIVES* = 0x40000051 REST_NONLEGACYSHELLMODE* = 0x40000052 REST_NOCONTROLPANELBARRICADE* = 0x40000053 REST_NOSTARTPAGE* = 0x40000054 REST_NOAUTOTRAYNOTIFY* = 0x40000055 REST_NOTASKGROUPING* = 0x40000056 REST_NOCDBURNING* = 0x40000057 REST_MYCOMPNOPROP* = 0x40000058 REST_MYDOCSNOPROP* = 0x40000059 REST_NOSTARTPANEL* = 0x4000005a REST_NODISPLAYAPPEARANCEPAGE* = 0x4000005b REST_NOTHEMESTAB* = 0x4000005c REST_NOVISUALSTYLECHOICE* = 0x4000005d REST_NOSIZECHOICE* = 0x4000005e REST_NOCOLORCHOICE* = 0x4000005f REST_SETVISUALSTYLE* = 0x40000060 REST_STARTRUNNOHOMEPATH* = 0x40000061 REST_NOUSERNAMEINSTARTPANEL* = 0x40000062 REST_NOMYCOMPUTERICON* = 0x40000063 REST_NOSMNETWORKPLACES* = 0x40000064 REST_NOSMPINNEDLIST* = 0x40000065 REST_NOSMMYMUSIC* = 0x40000066 REST_NOSMEJECTPC* = 0x40000067 REST_NOSMMOREPROGRAMS* = 0x40000068 REST_NOSMMFUPROGRAMS* = 0x40000069 REST_NOTRAYITEMSDISPLAY* = 0x4000006a REST_NOTOOLBARSONTASKBAR* = 0x4000006b REST_NOSMCONFIGUREPROGRAMS* = 0x4000006f REST_HIDECLOCK* = 0x40000070 REST_NOLOWDISKSPACECHECKS* = 0x40000071 REST_NOENTIRENETWORK* = 0x40000072 REST_NODESKTOPCLEANUP* = 0x40000073 REST_BITBUCKNUKEONDELETE* = 0x40000074 REST_BITBUCKCONFIRMDELETE* = 0x40000075 REST_BITBUCKNOPROP* = 0x40000076 REST_NODISPBACKGROUND* = 0x40000077 REST_NODISPSCREENSAVEPG* = 0x40000078 REST_NODISPSETTINGSPG* = 0x40000079 REST_NODISPSCREENSAVEPREVIEW* = 0x4000007a REST_NODISPLAYCPL* = 0x4000007b REST_HIDERUNASVERB* = 0x4000007c REST_NOTHUMBNAILCACHE* = 0x4000007d REST_NOSTRCMPLOGICAL* = 0x4000007e REST_NOPUBLISHWIZARD* = 0x4000007f REST_NOONLINEPRINTSWIZARD* = 0x40000080 REST_NOWEBSERVICES* = 0x40000081 REST_ALLOWUNHASHEDWEBVIEW* = 0x40000082 REST_ALLOWLEGACYWEBVIEW* = 0x40000083 REST_REVERTWEBVIEWSECURITY* = 0x40000084 REST_INHERITCONSOLEHANDLES* = 0x40000086 REST_SORTMAXITEMCOUNT* = 0x40000087 REST_NOREMOTERECURSIVEEVENTS* = 0x40000089 REST_NOREMOTECHANGENOTIFY* = 0x40000091 REST_NOSIMPLENETIDLIST* = 0x40000092 REST_NOENUMENTIRENETWORK* = 0x40000093 REST_NODETAILSTHUMBNAILONNETWORK* = 0x40000094 REST_NOINTERNETOPENWITH* = 0x40000095 REST_DONTRETRYBADNETNAME* = 0x4000009b REST_ALLOWFILECLSIDJUNCTIONS* = 0x4000009c REST_NOUPNPINSTALL* = 0x4000009d REST_ARP_DONTGROUPPATCHES* = 0x400000ac REST_ARP_NOCHOOSEPROGRAMSPAGE* = 0x400000ad REST_NODISCONNECT* = 0x41000001 REST_NOSECURITY* = 0x41000002 REST_NOFILEASSOCIATE* = 0x41000003 REST_ALLOWCOMMENTTOGGLE* = 0x41000004 REST_USEDESKTOPINICACHE* = 0x41000005 PPCF_ADDQUOTES* = 0x00000001 PPCF_ADDARGUMENTS* = 0x00000003 PPCF_NODIRECTORIES* = 0x00000010 PPCF_FORCEQUALIFY* = 0x00000040 PPCF_LONGESTPOSSIBLE* = 0x00000080 OAIF_ALLOW_REGISTRATION* = 0x1 OAIF_REGISTER_EXT* = 0x2 OAIF_EXEC* = 0x4 OAIF_FORCE_REGISTRATION* = 0x8 OAIF_HIDE_REGISTRATION* = 0x20 OAIF_URL_PROTOCOL* = 0x40 OAIF_FILE_IS_URI* = 0x80 VALIDATEUNC_CONNECT* = 0x0001 VALIDATEUNC_NOUI* = 0x0002 VALIDATEUNC_PRINT* = 0x0004 VALIDATEUNC_PERSIST* = 0x0008 VALIDATEUNC_VALID* = 0x000f OPENPROPS_NONE* = 0x0000 OPENPROPS_INHIBITPIF* = 0x8000 GETPROPS_NONE* = 0x0000 SETPROPS_NONE* = 0x0000 CLOSEPROPS_NONE* = 0x0000 CLOSEPROPS_DISCARD* = 0x0001 PIFSHPROGSIZE* = 64 PIFSHDATASIZE* = 64 IID_IInitializeObject* = DEFINE_GUID("4622ad16-ff23-11d0-8d34-00a0c90f2719") BMICON_LARGE* = 0 BMICON_SMALL* = 1 QCMINFO_PLACE_BEFORE* = 0 QCMINFO_PLACE_AFTER* = 1 TBIF_APPEND* = 0 TBIF_PREPEND* = 1 TBIF_REPLACE* = 2 TBIF_DEFAULT* = 0x00000000 TBIF_INTERNETBAR* = 0x00010000 TBIF_STANDARDTOOLBAR* = 0x00020000 TBIF_NOTOOLBAR* = 0x00030000 SFVM_MERGEMENU* = 1 SFVM_INVOKECOMMAND* = 2 SFVM_GETHELPTEXT* = 3 SFVM_GETTOOLTIPTEXT* = 4 SFVM_GETBUTTONINFO* = 5 SFVM_GETBUTTONS* = 6 SFVM_INITMENUPOPUP* = 7 SFVM_FSNOTIFY* = 14 SFVM_WINDOWCREATED* = 15 SFVM_GETDETAILSOF* = 23 SFVM_COLUMNCLICK* = 24 SFVM_QUERYFSNOTIFY* = 25 SFVM_DEFITEMCOUNT* = 26 SFVM_DEFVIEWMODE* = 27 SFVM_UNMERGEMENU* = 28 SFVM_UPDATESTATUSBAR* = 31 SFVM_BACKGROUNDENUM* = 32 SFVM_DIDDRAGDROP* = 36 SFVM_SETISFV* = 39 SFVM_THISIDLIST* = 41 SFVM_ADDPROPERTYPAGES* = 47 SFVM_BACKGROUNDENUMDONE* = 48 SFVM_GETNOTIFY* = 49 SFVM_GETSORTDEFAULTS* = 53 SFVM_SIZE* = 57 SFVM_GETZONE* = 58 SFVM_GETPANE* = 59 SFVM_GETHELPTOPIC* = 63 SFVM_GETANIMATION* = 68 SFVSOC_INVALIDATE_ALL* = 0x00000001 SFVSOC_NOSCROLL* = LVSICF_NOSCROLL SFVS_SELECT_NONE* = 0x0 SFVS_SELECT_ALLITEMS* = 0x1 SFVS_SELECT_INVERT* = 0x2 IID_IShellFolderView* = DEFINE_GUID("37a378c0-f82d-11ce-ae65-08002b2e1262") DFM_MERGECONTEXTMENU* = 1 DFM_INVOKECOMMAND* = 2 DFM_GETHELPTEXT* = 5 DFM_WM_MEASUREITEM* = 6 DFM_WM_DRAWITEM* = 7 DFM_WM_INITMENUPOPUP* = 8 DFM_VALIDATECMD* = 9 DFM_MERGECONTEXTMENU_TOP* = 10 DFM_GETHELPTEXTW* = 11 DFM_INVOKECOMMANDEX* = 12 DFM_MAPCOMMANDNAME* = 13 DFM_GETDEFSTATICID* = 14 DFM_GETVERBW* = 15 DFM_GETVERBA* = 16 DFM_MERGECONTEXTMENU_BOTTOM* = 17 DFM_MODIFYQCMFLAGS* = 18 DFM_CMD_DELETE* = UINT(-1) DFM_CMD_MOVE* = UINT(-2) DFM_CMD_COPY* = UINT(-3) DFM_CMD_LINK* = UINT(-4) DFM_CMD_PROPERTIES* = UINT(-5) DFM_CMD_NEWFOLDER* = UINT(-6) DFM_CMD_PASTE* = UINT(-7) DFM_CMD_VIEWLIST* = UINT(-8) DFM_CMD_VIEWDETAILS* = UINT(-9) DFM_CMD_PASTELINK* = UINT(-10) DFM_CMD_PASTESPECIAL* = UINT(-11) DFM_CMD_MODALPROP* = UINT(-12) DFM_CMD_RENAME* = UINT(-13) SFVM_REARRANGE* = 0x00000001 SFVM_ADDOBJECT* = 0x00000003 SFVM_REMOVEOBJECT* = 0x00000006 SFVM_UPDATEOBJECT* = 0x00000007 SFVM_GETSELECTEDOBJECTS* = 0x00000009 SFVM_SETITEMPOS* = 0x0000000e SFVM_SETCLIPBOARD* = 0x00000010 SFVM_SETPOINTS* = 0x00000017 PID_IS_URL* = 2 PID_IS_NAME* = 4 PID_IS_WORKINGDIR* = 5 PID_IS_HOTKEY* = 6 PID_IS_SHOWCMD* = 7 PID_IS_ICONINDEX* = 8 PID_IS_ICONFILE* = 9 PID_IS_WHATSNEW* = 10 PID_IS_AUTHOR* = 11 PID_IS_DESCRIPTION* = 12 PID_IS_COMMENT* = 13 PID_IS_ROAMED* = 15 PID_INTSITE_WHATSNEW* = 2 PID_INTSITE_AUTHOR* = 3 PID_INTSITE_LASTVISIT* = 4 PID_INTSITE_LASTMOD* = 5 PID_INTSITE_VISITCOUNT* = 6 PID_INTSITE_DESCRIPTION* = 7 PID_INTSITE_COMMENT* = 8 PID_INTSITE_FLAGS* = 9 PID_INTSITE_CONTENTLEN* = 10 PID_INTSITE_CONTENTCODE* = 11 PID_INTSITE_RECURSE* = 12 PID_INTSITE_WATCH* = 13 PID_INTSITE_SUBSCRIPTION* = 14 PID_INTSITE_URL* = 15 PID_INTSITE_TITLE* = 16 PID_INTSITE_CODEPAGE* = 18 PID_INTSITE_TRACKING* = 19 PID_INTSITE_ICONINDEX* = 20 PID_INTSITE_ICONFILE* = 21 PID_INTSITE_ROAMED* = 34 PIDISF_RECENTLYCHANGED* = 0x00000001 PIDISF_CACHEDSTICKY* = 0x00000002 PIDISF_CACHEIMAGES* = 0x00000010 PIDISF_FOLLOWALLLINKS* = 0x00000020 PIDISM_GLOBAL* = 0 PIDISM_WATCH* = 1 PIDISM_DONTWATCH* = 2 PIDISR_UP_TO_DATE* = 0 PIDISR_NEEDS_ADD* = 1 PIDISR_NEEDS_UPDATE* = 2 PIDISR_NEEDS_DELETE* = 3 SHELLSTATEVERSION_IE4* = 9 SHELLSTATEVERSION_WIN2K* = 10 when winimUnicode: type SHELLSTATE* = SHELLSTATEW when winimAnsi: type SHELLSTATE* = SHELLSTATEA const SSF_SHOWALLOBJECTS* = 0x00000001 SSF_SHOWEXTENSIONS* = 0x00000002 SSF_HIDDENFILEEXTS* = 0x00000004 SSF_SERVERADMINUI* = 0x00000004 SSF_SHOWCOMPCOLOR* = 0x00000008 SSF_SORTCOLUMNS* = 0x00000010 SSF_SHOWSYSFILES* = 0x00000020 SSF_DOUBLECLICKINWEBVIEW* = 0x00000080 SSF_SHOWATTRIBCOL* = 0x00000100 SSF_DESKTOPHTML* = 0x00000200 SSF_WIN95CLASSIC* = 0x00000400 SSF_DONTPRETTYPATH* = 0x00000800 SSF_SHOWINFOTIP* = 0x00002000 SSF_MAPNETDRVBUTTON* = 0x00001000 SSF_NOCONFIRMRECYCLE* = 0x00008000 SSF_HIDEICONS* = 0x00004000 SSF_FILTER* = 0x00010000 SSF_WEBVIEW* = 0x00020000 SSF_SHOWSUPERHIDDEN* = 0x00040000 SSF_SEPPROCESS* = 0x00080000 SSF_NONETCRAWLING* = 0x00100000 SSF_STARTPANELON* = 0x00200000 SSF_SHOWSTARTPAGE* = 0x00400000 SSF_AUTOCHECKSELECT* = 0x00800000 SSF_ICONSONLY* = 0x01000000 SSF_SHOWTYPEOVERLAY* = 0x02000000 SSF_SHOWSTATUSBAR* = 0x04000000 SHPPFW_NONE* = 0x00000000 SHPPFW_DIRCREATE* = 0x00000001 SHPPFW_DEFAULT* = SHPPFW_DIRCREATE SHPPFW_ASKDIRCREATE* = 0x00000002 SHPPFW_IGNOREFILENAME* = 0x00000004 SHPPFW_NOWRITECHECK* = 0x00000008 SHPPFW_MEDIACHECKONLY* = 0x00000010 IESHORTCUT_NEWBROWSER* = 0x01 IESHORTCUT_OPENNEWTAB* = 0x02 IESHORTCUT_FORCENAVIGATE* = 0x04 IESHORTCUT_BACKGROUNDTAB* = 0x08 CMIC_MASK_HASLINKNAME* = 0x00010000 CMIC_MASK_FLAG_SEP_VDM* = 0x00040000 CMIC_MASK_HASTITLE* = 0x00020000 SHELLSTATE_SIZE_WIN2K* = 32 ITSAT_DEFAULT_LPARAM* = not DWORD_PTR(0) type PFNCANSHAREFOLDERW* = proc (pszPath: PCWSTR): HRESULT {.stdcall.} PFNSHOWSHAREFOLDERUIW* = proc (hwndParent: HWND, pszPath: PCWSTR): HRESULT {.stdcall.} DLLVERSIONINFO* {.pure.} = object cbSize*: DWORD dwMajorVersion*: DWORD dwMinorVersion*: DWORD dwBuildNumber*: DWORD dwPlatformID*: DWORD DLLGETVERSIONPROC* = proc (P1: ptr DLLVERSIONINFO): HRESULT {.stdcall.} LPFNDFMCALLBACK* = proc (psf: ptr IShellFolder, hwnd: HWND, pdtobj: ptr IDataObject, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} ASSOCIATIONELEMENT* {.pure.} = object ac*: ASSOCCLASS hkClass*: HKEY pszClass*: PCWSTR SHFILEINFOA* {.pure.} = object hIcon*: HICON iIcon*: int32 dwAttributes*: DWORD szDisplayName*: array[MAX_PATH, CHAR] szTypeName*: array[80, CHAR] SHFILEINFOW* {.pure.} = object hIcon*: HICON iIcon*: int32 dwAttributes*: DWORD szDisplayName*: array[MAX_PATH, WCHAR] szTypeName*: array[80, WCHAR] SHSTOCKICONINFO* {.pure.} = object cbSize*: DWORD hIcon*: HICON iSysImageIndex*: int32 iIcon*: int32 szPath*: array[MAX_PATH, WCHAR] DLLVERSIONINFO2* {.pure.} = object info1*: DLLVERSIONINFO dwFlags*: DWORD ullVersion*: ULONGLONG PERSIST_FOLDER_TARGET_INFO* {.pure.} = object pidlTargetFolder*: PIDLIST_ABSOLUTE szTargetParsingName*: array[260, WCHAR] szNetworkProvider*: array[260, WCHAR] dwAttributes*: DWORD csidl*: int32 SORTCOLUMN* {.pure.} = object propkey*: PROPERTYKEY direction*: SORTDIRECTION CM_COLUMNINFO* {.pure.} = object cbSize*: DWORD dwMask*: DWORD dwState*: DWORD uWidth*: UINT uDefaultWidth*: UINT uIdealWidth*: UINT wszName*: array[80, WCHAR] SHELL_ITEM_RESOURCE* {.pure.} = object guidType*: GUID szName*: array[260, WCHAR] TCATEGORY_INFO* {.pure.} = object cif*: CATEGORYINFO_FLAGS wszName*: array[260, WCHAR] DESKBANDINFO* {.pure.} = object dwMask*: DWORD ptMinSize*: POINTL ptMaxSize*: POINTL ptIntegral*: POINTL ptActual*: POINTL wszTitle*: array[256, WCHAR] dwModeFlags*: DWORD crBkgnd*: COLORREF BANDSITEINFO* {.pure.} = object dwMask*: DWORD dwState*: DWORD dwStyle*: DWORD KNOWNFOLDER_DEFINITION* {.pure.} = object category*: KF_CATEGORY pszName*: LPWSTR pszDescription*: LPWSTR fidParent*: KNOWNFOLDERID pszRelativePath*: LPWSTR pszParsingName*: LPWSTR pszTooltip*: LPWSTR pszLocalizedName*: LPWSTR pszIcon*: LPWSTR pszSecurity*: LPWSTR dwAttributes*: DWORD kfdFlags*: KF_DEFINITION_FLAGS ftidType*: FOLDERTYPEID IShellItem* {.pure.} = object lpVtbl*: ptr IShellItemVtbl IShellItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl BindToHandler*: proc(self: ptr IShellItem, pbc: ptr IBindCtx, bhid: REFGUID, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetParent*: proc(self: ptr IShellItem, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} GetDisplayName*: proc(self: ptr IShellItem, sigdnName: SIGDN, ppszName: ptr LPWSTR): HRESULT {.stdcall.} GetAttributes*: proc(self: ptr IShellItem, sfgaoMask: SFGAOF, psfgaoAttribs: ptr SFGAOF): HRESULT {.stdcall.} Compare*: proc(self: ptr IShellItem, psi: ptr IShellItem, hint: SICHINTF, piOrder: ptr int32): HRESULT {.stdcall.} NSTCCUSTOMDRAW* {.pure.} = object psi*: ptr IShellItem uItemState*: UINT nstcis*: NSTCITEMSTATE pszText*: LPCWSTR iImage*: int32 himl*: HIMAGELIST iLevel*: int32 iIndent*: int32 PREVIEWHANDLERFRAMEINFO* {.pure.} = object haccel*: HACCEL cAccelEntries*: UINT EXP_PROPERTYSTORAGE* {.pure, packed.} = object cbSize*: DWORD dwSignature*: DWORD abPropertyStorage*: array[1, BYTE] FILE_ATTRIBUTES_ARRAY* {.pure.} = object cItems*: UINT dwSumFileAttributes*: DWORD dwProductFileAttributes*: DWORD rgdwFileAttributes*: array[1, DWORD] DROPDESCRIPTION* {.pure.} = object `type`*: DROPIMAGETYPE szMessage*: array[MAX_PATH, WCHAR] szInsert*: array[MAX_PATH, WCHAR] SHChangeNotifyEntry* {.pure, packed.} = object pidl*: PCIDLIST_ABSOLUTE fRecursive*: WINBOOL TSHARDAPPIDINFO* {.pure.} = object psi*: ptr IShellItem pszAppID*: PCWSTR TSHARD_APPIDINFOIDLIST* {.pure.} = object pidl*: PCIDLIST_ABSOLUTE pszAppID*: PCWSTR IShellLinkW* {.pure.} = object lpVtbl*: ptr IShellLinkWVtbl IShellLinkWVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetPath*: proc(self: ptr IShellLinkW, pszFile: LPWSTR, cch: int32, pfd: ptr WIN32_FIND_DATAW, fFlags: DWORD): HRESULT {.stdcall.} GetIDList*: proc(self: ptr IShellLinkW, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} SetIDList*: proc(self: ptr IShellLinkW, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} GetDescription*: proc(self: ptr IShellLinkW, pszName: LPWSTR, cch: int32): HRESULT {.stdcall.} SetDescription*: proc(self: ptr IShellLinkW, pszName: LPCWSTR): HRESULT {.stdcall.} GetWorkingDirectory*: proc(self: ptr IShellLinkW, pszDir: LPWSTR, cch: int32): HRESULT {.stdcall.} SetWorkingDirectory*: proc(self: ptr IShellLinkW, pszDir: LPCWSTR): HRESULT {.stdcall.} GetArguments*: proc(self: ptr IShellLinkW, pszArgs: LPWSTR, cch: int32): HRESULT {.stdcall.} SetArguments*: proc(self: ptr IShellLinkW, pszArgs: LPCWSTR): HRESULT {.stdcall.} GetHotkey*: proc(self: ptr IShellLinkW, pwHotkey: ptr WORD): HRESULT {.stdcall.} SetHotkey*: proc(self: ptr IShellLinkW, wHotkey: WORD): HRESULT {.stdcall.} GetShowCmd*: proc(self: ptr IShellLinkW, piShowCmd: ptr int32): HRESULT {.stdcall.} SetShowCmd*: proc(self: ptr IShellLinkW, iShowCmd: int32): HRESULT {.stdcall.} GetIconLocation*: proc(self: ptr IShellLinkW, pszIconPath: LPWSTR, cch: int32, piIcon: ptr int32): HRESULT {.stdcall.} SetIconLocation*: proc(self: ptr IShellLinkW, pszIconPath: LPCWSTR, iIcon: int32): HRESULT {.stdcall.} SetRelativePath*: proc(self: ptr IShellLinkW, pszPathRel: LPCWSTR, dwReserved: DWORD): HRESULT {.stdcall.} Resolve*: proc(self: ptr IShellLinkW, hwnd: HWND, fFlags: DWORD): HRESULT {.stdcall.} SetPath*: proc(self: ptr IShellLinkW, pszFile: LPCWSTR): HRESULT {.stdcall.} when winimUnicode: type IShellLink* = IShellLinkW type IShellLinkA* {.pure.} = object lpVtbl*: ptr IShellLinkAVtbl IShellLinkAVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetPath*: proc(self: ptr IShellLinkA, pszFile: LPSTR, cch: int32, pfd: ptr WIN32_FIND_DATAA, fFlags: DWORD): HRESULT {.stdcall.} GetIDList*: proc(self: ptr IShellLinkA, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} SetIDList*: proc(self: ptr IShellLinkA, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} GetDescription*: proc(self: ptr IShellLinkA, pszName: LPSTR, cch: int32): HRESULT {.stdcall.} SetDescription*: proc(self: ptr IShellLinkA, pszName: LPCSTR): HRESULT {.stdcall.} GetWorkingDirectory*: proc(self: ptr IShellLinkA, pszDir: LPSTR, cch: int32): HRESULT {.stdcall.} SetWorkingDirectory*: proc(self: ptr IShellLinkA, pszDir: LPCSTR): HRESULT {.stdcall.} GetArguments*: proc(self: ptr IShellLinkA, pszArgs: LPSTR, cch: int32): HRESULT {.stdcall.} SetArguments*: proc(self: ptr IShellLinkA, pszArgs: LPCSTR): HRESULT {.stdcall.} GetHotkey*: proc(self: ptr IShellLinkA, pwHotkey: ptr WORD): HRESULT {.stdcall.} SetHotkey*: proc(self: ptr IShellLinkA, wHotkey: WORD): HRESULT {.stdcall.} GetShowCmd*: proc(self: ptr IShellLinkA, piShowCmd: ptr int32): HRESULT {.stdcall.} SetShowCmd*: proc(self: ptr IShellLinkA, iShowCmd: int32): HRESULT {.stdcall.} GetIconLocation*: proc(self: ptr IShellLinkA, pszIconPath: LPSTR, cch: int32, piIcon: ptr int32): HRESULT {.stdcall.} SetIconLocation*: proc(self: ptr IShellLinkA, pszIconPath: LPCSTR, iIcon: int32): HRESULT {.stdcall.} SetRelativePath*: proc(self: ptr IShellLinkA, pszPathRel: LPCSTR, dwReserved: DWORD): HRESULT {.stdcall.} Resolve*: proc(self: ptr IShellLinkA, hwnd: HWND, fFlags: DWORD): HRESULT {.stdcall.} SetPath*: proc(self: ptr IShellLinkA, pszFile: LPCSTR): HRESULT {.stdcall.} when winimAnsi: type IShellLink* = IShellLinkA type TSHARDAPPIDINFOLINK* {.pure.} = object psl*: ptr IShellLink pszAppID*: PCWSTR AUTO_SCROLL_DATA* {.pure.} = object iNextSample*: int32 dwLastScroll*: DWORD bFull*: WINBOOL pts*: array[NUM_POINTS, POINT] dwTimes*: array[NUM_POINTS, DWORD] SFVM_PROPPAGE_DATA* {.pure.} = object dwReserved*: DWORD pfn*: LPFNADDPROPSHEETPAGE lParam*: LPARAM SFVM_HELPTOPIC_DATA* {.pure.} = object wszHelpFile*: array[MAX_PATH, WCHAR] wszHelpTopic*: array[MAX_PATH, WCHAR] ITEMSPACING* {.pure.} = object cxSmall*: int32 cySmall*: int32 cxLarge*: int32 cyLarge*: int32 IShellFolderViewCB* {.pure.} = object lpVtbl*: ptr IShellFolderViewCBVtbl IShellFolderViewCBVtbl* {.pure, inheritable.} = object of IUnknownVtbl MessageSFVCB*: proc(self: ptr IShellFolderViewCB, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} SFV_CREATE* {.pure.} = object cbSize*: UINT pshf*: ptr IShellFolder psvOuter*: ptr IShellView psfvcb*: ptr IShellFolderViewCB IContextMenuCB* {.pure.} = object lpVtbl*: ptr IContextMenuCBVtbl IContextMenuCBVtbl* {.pure, inheritable.} = object of IUnknownVtbl CallBack*: proc(self: ptr IContextMenuCB, psf: ptr IShellFolder, hwndOwner: HWND, pdtobj: ptr IDataObject, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} DEFCONTEXTMENU* {.pure.} = object hwnd*: HWND pcmcb*: ptr IContextMenuCB pidlFolder*: PCIDLIST_ABSOLUTE psf*: ptr IShellFolder cidl*: UINT apidl*: PCUITEMID_CHILD_ARRAY punkAssociationInfo*: ptr IUnknown cKeys*: UINT aKeys*: ptr HKEY IQueryAssociations* {.pure.} = object lpVtbl*: ptr IQueryAssociationsVtbl IQueryAssociationsVtbl* {.pure, inheritable.} = object of IUnknownVtbl Init*: proc(self: ptr IQueryAssociations, flags: ASSOCF, pszAssoc: LPCWSTR, hkProgid: HKEY, hwnd: HWND): HRESULT {.stdcall.} GetString*: proc(self: ptr IQueryAssociations, flags: ASSOCF, str: ASSOCSTR, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.stdcall.} GetKey*: proc(self: ptr IQueryAssociations, flags: ASSOCF, key: ASSOCKEY, pszExtra: LPCWSTR, phkeyOut: ptr HKEY): HRESULT {.stdcall.} GetData*: proc(self: ptr IQueryAssociations, flags: ASSOCF, data: ASSOCDATA, pszExtra: LPCWSTR, pvOut: LPVOID, pcbOut: ptr DWORD): HRESULT {.stdcall.} GetEnum*: proc(self: ptr IQueryAssociations, flags: ASSOCF, assocenum: ASSOCENUM, pszExtra: LPCWSTR, riid: REFIID, ppvOut: ptr LPVOID): HRESULT {.stdcall.} IFolderViewOC* {.pure.} = object lpVtbl*: ptr IFolderViewOCVtbl IFolderViewOCVtbl* {.pure, inheritable.} = object of IDispatchVtbl SetFolderView*: proc(self: ptr IFolderViewOC, pdisp: ptr IDispatch): HRESULT {.stdcall.} DShellFolderViewEvents* {.pure.} = object lpVtbl*: ptr DShellFolderViewEventsVtbl DShellFolderViewEventsVtbl* {.pure, inheritable.} = object of IDispatchVtbl DFConstraint* {.pure.} = object lpVtbl*: ptr DFConstraintVtbl DFConstraintVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Name*: proc(self: ptr DFConstraint, pbs: ptr BSTR): HRESULT {.stdcall.} get_Value*: proc(self: ptr DFConstraint, pv: ptr VARIANT): HRESULT {.stdcall.} FolderItems* {.pure.} = object lpVtbl*: ptr FolderItemsVtbl FolderItemsVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Count*: proc(self: ptr FolderItems, plCount: ptr LONG): HRESULT {.stdcall.} get_Application*: proc(self: ptr FolderItems, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr FolderItems, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} Item*: proc(self: ptr FolderItems, index: VARIANT, ppid: ptr ptr FolderItem): HRESULT {.stdcall.} NewEnum*: proc(self: ptr FolderItems, ppunk: ptr ptr IUnknown): HRESULT {.stdcall.} Folder* {.pure.} = object lpVtbl*: ptr FolderVtbl FolderVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Title*: proc(self: ptr Folder, pbs: ptr BSTR): HRESULT {.stdcall.} get_Application*: proc(self: ptr Folder, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr Folder, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_ParentFolder*: proc(self: ptr Folder, ppsf: ptr ptr Folder): HRESULT {.stdcall.} Items*: proc(self: ptr Folder, ppid: ptr ptr FolderItems): HRESULT {.stdcall.} ParseName*: proc(self: ptr Folder, bName: BSTR, ppid: ptr ptr FolderItem): HRESULT {.stdcall.} NewFolder*: proc(self: ptr Folder, bName: BSTR, vOptions: VARIANT): HRESULT {.stdcall.} MoveHere*: proc(self: ptr Folder, vItem: VARIANT, vOptions: VARIANT): HRESULT {.stdcall.} CopyHere*: proc(self: ptr Folder, vItem: VARIANT, vOptions: VARIANT): HRESULT {.stdcall.} GetDetailsOf*: proc(self: ptr Folder, vItem: VARIANT, iColumn: int32, pbs: ptr BSTR): HRESULT {.stdcall.} Folder2* {.pure.} = object lpVtbl*: ptr Folder2Vtbl Folder2Vtbl* {.pure, inheritable.} = object of FolderVtbl get_Self*: proc(self: ptr Folder2, ppfi: ptr ptr FolderItem): HRESULT {.stdcall.} get_OfflineStatus*: proc(self: ptr Folder2, pul: ptr LONG): HRESULT {.stdcall.} Synchronize*: proc(self: ptr Folder2): HRESULT {.stdcall.} get_HaveToShowWebViewBarricade*: proc(self: ptr Folder2, pbHaveToShowWebViewBarricade: ptr VARIANT_BOOL): HRESULT {.stdcall.} DismissedWebViewBarricade*: proc(self: ptr Folder2): HRESULT {.stdcall.} Folder3* {.pure.} = object lpVtbl*: ptr Folder3Vtbl Folder3Vtbl* {.pure, inheritable.} = object of Folder2Vtbl get_ShowWebViewBarricade*: proc(self: ptr Folder3, pbShowWebViewBarricade: ptr VARIANT_BOOL): HRESULT {.stdcall.} put_ShowWebViewBarricade*: proc(self: ptr Folder3, bShowWebViewBarricade: VARIANT_BOOL): HRESULT {.stdcall.} FolderItem2* {.pure.} = object lpVtbl*: ptr FolderItem2Vtbl FolderItem2Vtbl* {.pure, inheritable.} = object of FolderItemVtbl InvokeVerbEx*: proc(self: ptr FolderItem2, vVerb: VARIANT, vArgs: VARIANT): HRESULT {.stdcall.} ExtendedProperty*: proc(self: ptr FolderItem2, bstrPropName: BSTR, pvRet: ptr VARIANT): HRESULT {.stdcall.} FolderItems2* {.pure.} = object lpVtbl*: ptr FolderItems2Vtbl FolderItems2Vtbl* {.pure, inheritable.} = object of FolderItemsVtbl InvokeVerbEx*: proc(self: ptr FolderItems2, vVerb: VARIANT, vArgs: VARIANT): HRESULT {.stdcall.} FolderItems3* {.pure.} = object lpVtbl*: ptr FolderItems3Vtbl FolderItems3Vtbl* {.pure, inheritable.} = object of FolderItems2Vtbl Filter*: proc(self: ptr FolderItems3, grfFlags: LONG, bstrFileSpec: BSTR): HRESULT {.stdcall.} get_Verbs*: proc(self: ptr FolderItems3, ppfic: ptr ptr FolderItemVerbs): HRESULT {.stdcall.} IShellLinkDual* {.pure.} = object lpVtbl*: ptr IShellLinkDualVtbl IShellLinkDualVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Path*: proc(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.stdcall.} put_Path*: proc(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.stdcall.} get_Description*: proc(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.stdcall.} put_Description*: proc(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.stdcall.} get_WorkingDirectory*: proc(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.stdcall.} put_WorkingDirectory*: proc(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.stdcall.} get_Arguments*: proc(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.stdcall.} put_Arguments*: proc(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.stdcall.} get_Hotkey*: proc(self: ptr IShellLinkDual, piHK: ptr int32): HRESULT {.stdcall.} put_Hotkey*: proc(self: ptr IShellLinkDual, iHK: int32): HRESULT {.stdcall.} get_ShowCommand*: proc(self: ptr IShellLinkDual, piShowCommand: ptr int32): HRESULT {.stdcall.} put_ShowCommand*: proc(self: ptr IShellLinkDual, iShowCommand: int32): HRESULT {.stdcall.} Resolve*: proc(self: ptr IShellLinkDual, fFlags: int32): HRESULT {.stdcall.} GetIconLocation*: proc(self: ptr IShellLinkDual, pbs: ptr BSTR, piIcon: ptr int32): HRESULT {.stdcall.} SetIconLocation*: proc(self: ptr IShellLinkDual, bs: BSTR, iIcon: int32): HRESULT {.stdcall.} Save*: proc(self: ptr IShellLinkDual, vWhere: VARIANT): HRESULT {.stdcall.} IShellLinkDual2* {.pure.} = object lpVtbl*: ptr IShellLinkDual2Vtbl IShellLinkDual2Vtbl* {.pure, inheritable.} = object of IShellLinkDualVtbl get_Target*: proc(self: ptr IShellLinkDual2, ppfi: ptr ptr FolderItem): HRESULT {.stdcall.} IShellFolderViewDual* {.pure.} = object lpVtbl*: ptr IShellFolderViewDualVtbl IShellFolderViewDualVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Application*: proc(self: ptr IShellFolderViewDual, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr IShellFolderViewDual, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Folder*: proc(self: ptr IShellFolderViewDual, ppid: ptr ptr Folder): HRESULT {.stdcall.} SelectedItems*: proc(self: ptr IShellFolderViewDual, ppid: ptr ptr FolderItems): HRESULT {.stdcall.} get_FocusedItem*: proc(self: ptr IShellFolderViewDual, ppid: ptr ptr FolderItem): HRESULT {.stdcall.} SelectItem*: proc(self: ptr IShellFolderViewDual, pvfi: ptr VARIANT, dwFlags: int32): HRESULT {.stdcall.} PopupItemMenu*: proc(self: ptr IShellFolderViewDual, pfi: ptr FolderItem, vx: VARIANT, vy: VARIANT, pbs: ptr BSTR): HRESULT {.stdcall.} get_Script*: proc(self: ptr IShellFolderViewDual, ppDisp: ptr ptr IDispatch): HRESULT {.stdcall.} get_ViewOptions*: proc(self: ptr IShellFolderViewDual, plViewOptions: ptr LONG): HRESULT {.stdcall.} IShellFolderViewDual2* {.pure.} = object lpVtbl*: ptr IShellFolderViewDual2Vtbl IShellFolderViewDual2Vtbl* {.pure, inheritable.} = object of IShellFolderViewDualVtbl get_CurrentViewMode*: proc(self: ptr IShellFolderViewDual2, pViewMode: ptr UINT): HRESULT {.stdcall.} put_CurrentViewMode*: proc(self: ptr IShellFolderViewDual2, ViewMode: UINT): HRESULT {.stdcall.} SelectItemRelative*: proc(self: ptr IShellFolderViewDual2, iRelative: int32): HRESULT {.stdcall.} IShellFolderViewDual3* {.pure.} = object lpVtbl*: ptr IShellFolderViewDual3Vtbl IShellFolderViewDual3Vtbl* {.pure, inheritable.} = object of IShellFolderViewDual2Vtbl get_GroupBy*: proc(self: ptr IShellFolderViewDual3, pbstrGroupBy: ptr BSTR): HRESULT {.stdcall.} put_GroupBy*: proc(self: ptr IShellFolderViewDual3, bstrGroupBy: BSTR): HRESULT {.stdcall.} get_FolderFlags*: proc(self: ptr IShellFolderViewDual3, pdwFlags: ptr DWORD): HRESULT {.stdcall.} put_FolderFlags*: proc(self: ptr IShellFolderViewDual3, dwFlags: DWORD): HRESULT {.stdcall.} get_SortColumns*: proc(self: ptr IShellFolderViewDual3, pbstrSortColumns: ptr BSTR): HRESULT {.stdcall.} put_SortColumns*: proc(self: ptr IShellFolderViewDual3, bstrSortColumns: BSTR): HRESULT {.stdcall.} put_IconSize*: proc(self: ptr IShellFolderViewDual3, iIconSize: int32): HRESULT {.stdcall.} get_IconSize*: proc(self: ptr IShellFolderViewDual3, piIconSize: ptr int32): HRESULT {.stdcall.} FilterView*: proc(self: ptr IShellFolderViewDual3, bstrFilterText: BSTR): HRESULT {.stdcall.} IShellDispatch* {.pure.} = object lpVtbl*: ptr IShellDispatchVtbl IShellDispatchVtbl* {.pure, inheritable.} = object of IDispatchVtbl get_Application*: proc(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} get_Parent*: proc(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} NameSpace*: proc(self: ptr IShellDispatch, vDir: VARIANT, ppsdf: ptr ptr Folder): HRESULT {.stdcall.} BrowseForFolder*: proc(self: ptr IShellDispatch, Hwnd: LONG, Title: BSTR, Options: LONG, RootFolder: VARIANT, ppsdf: ptr ptr Folder): HRESULT {.stdcall.} Windows*: proc(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.stdcall.} Open*: proc(self: ptr IShellDispatch, vDir: VARIANT): HRESULT {.stdcall.} Explore*: proc(self: ptr IShellDispatch, vDir: VARIANT): HRESULT {.stdcall.} MinimizeAll*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} UndoMinimizeALL*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} FileRun*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} CascadeWindows*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} TileVertically*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} TileHorizontally*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} ShutdownWindows*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} Suspend*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} EjectPC*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} SetTime*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} TrayProperties*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} Help*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} FindFiles*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} FindComputer*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} RefreshMenu*: proc(self: ptr IShellDispatch): HRESULT {.stdcall.} ControlPanelItem*: proc(self: ptr IShellDispatch, bstrDir: BSTR): HRESULT {.stdcall.} IShellDispatch2* {.pure.} = object lpVtbl*: ptr IShellDispatch2Vtbl IShellDispatch2Vtbl* {.pure, inheritable.} = object of IShellDispatchVtbl IsRestricted*: proc(self: ptr IShellDispatch2, Group: BSTR, Restriction: BSTR, plRestrictValue: ptr LONG): HRESULT {.stdcall.} ShellExecute*: proc(self: ptr IShellDispatch2, File: BSTR, vArgs: VARIANT, vDir: VARIANT, vOperation: VARIANT, vShow: VARIANT): HRESULT {.stdcall.} FindPrinter*: proc(self: ptr IShellDispatch2, name: BSTR, location: BSTR, model: BSTR): HRESULT {.stdcall.} GetSystemInformation*: proc(self: ptr IShellDispatch2, name: BSTR, pv: ptr VARIANT): HRESULT {.stdcall.} ServiceStart*: proc(self: ptr IShellDispatch2, ServiceName: BSTR, Persistent: VARIANT, pSuccess: ptr VARIANT): HRESULT {.stdcall.} ServiceStop*: proc(self: ptr IShellDispatch2, ServiceName: BSTR, Persistent: VARIANT, pSuccess: ptr VARIANT): HRESULT {.stdcall.} IsServiceRunning*: proc(self: ptr IShellDispatch2, ServiceName: BSTR, pRunning: ptr VARIANT): HRESULT {.stdcall.} CanStartStopService*: proc(self: ptr IShellDispatch2, ServiceName: BSTR, pCanStartStop: ptr VARIANT): HRESULT {.stdcall.} ShowBrowserBar*: proc(self: ptr IShellDispatch2, bstrClsid: BSTR, bShow: VARIANT, pSuccess: ptr VARIANT): HRESULT {.stdcall.} IShellDispatch3* {.pure.} = object lpVtbl*: ptr IShellDispatch3Vtbl IShellDispatch3Vtbl* {.pure, inheritable.} = object of IShellDispatch2Vtbl AddToRecent*: proc(self: ptr IShellDispatch3, varFile: VARIANT, bstrCategory: BSTR): HRESULT {.stdcall.} IShellDispatch4* {.pure.} = object lpVtbl*: ptr IShellDispatch4Vtbl IShellDispatch4Vtbl* {.pure, inheritable.} = object of IShellDispatch3Vtbl WindowsSecurity*: proc(self: ptr IShellDispatch4): HRESULT {.stdcall.} ToggleDesktop*: proc(self: ptr IShellDispatch4): HRESULT {.stdcall.} ExplorerPolicy*: proc(self: ptr IShellDispatch4, bstrPolicyName: BSTR, pValue: ptr VARIANT): HRESULT {.stdcall.} GetSetting*: proc(self: ptr IShellDispatch4, lSetting: LONG, pResult: ptr VARIANT_BOOL): HRESULT {.stdcall.} IShellDispatch5* {.pure.} = object lpVtbl*: ptr IShellDispatch5Vtbl IShellDispatch5Vtbl* {.pure, inheritable.} = object of IShellDispatch4Vtbl WindowSwitcher*: proc(self: ptr IShellDispatch5): HRESULT {.stdcall.} IShellDispatch6* {.pure.} = object lpVtbl*: ptr IShellDispatch6Vtbl IShellDispatch6Vtbl* {.pure, inheritable.} = object of IShellDispatch5Vtbl SearchCommand*: proc(self: ptr IShellDispatch6): HRESULT {.stdcall.} IFileSearchBand* {.pure.} = object lpVtbl*: ptr IFileSearchBandVtbl IFileSearchBandVtbl* {.pure, inheritable.} = object of IDispatchVtbl SetFocus*: proc(self: ptr IFileSearchBand): HRESULT {.stdcall.} SetSearchParameters*: proc(self: ptr IFileSearchBand, pbstrSearchID: ptr BSTR, bNavToResults: VARIANT_BOOL, pvarScope: ptr VARIANT, pvarQueryFile: ptr VARIANT): HRESULT {.stdcall.} get_SearchID*: proc(self: ptr IFileSearchBand, pbstrSearchID: ptr BSTR): HRESULT {.stdcall.} get_Scope*: proc(self: ptr IFileSearchBand, pvarScope: ptr VARIANT): HRESULT {.stdcall.} get_QueryFile*: proc(self: ptr IFileSearchBand, pvarFile: ptr VARIANT): HRESULT {.stdcall.} IWebWizardHost* {.pure.} = object lpVtbl*: ptr IWebWizardHostVtbl IWebWizardHostVtbl* {.pure, inheritable.} = object of IDispatchVtbl FinalBack*: proc(self: ptr IWebWizardHost): HRESULT {.stdcall.} FinalNext*: proc(self: ptr IWebWizardHost): HRESULT {.stdcall.} Cancel*: proc(self: ptr IWebWizardHost): HRESULT {.stdcall.} put_Caption*: proc(self: ptr IWebWizardHost, bstrCaption: BSTR): HRESULT {.stdcall.} get_Caption*: proc(self: ptr IWebWizardHost, pbstrCaption: ptr BSTR): HRESULT {.stdcall.} put_Property*: proc(self: ptr IWebWizardHost, bstrPropertyName: BSTR, pvProperty: ptr VARIANT): HRESULT {.stdcall.} get_Property*: proc(self: ptr IWebWizardHost, bstrPropertyName: BSTR, pvProperty: ptr VARIANT): HRESULT {.stdcall.} SetWizardButtons*: proc(self: ptr IWebWizardHost, vfEnableBack: VARIANT_BOOL, vfEnableNext: VARIANT_BOOL, vfLastPage: VARIANT_BOOL): HRESULT {.stdcall.} SetHeaderText*: proc(self: ptr IWebWizardHost, bstrHeaderTitle: BSTR, bstrHeaderSubtitle: BSTR): HRESULT {.stdcall.} INewWDEvents* {.pure.} = object lpVtbl*: ptr INewWDEventsVtbl INewWDEventsVtbl* {.pure, inheritable.} = object of IWebWizardHostVtbl PassportAuthenticate*: proc(self: ptr INewWDEvents, bstrSignInUrl: BSTR, pvfAuthenitcated: ptr VARIANT_BOOL): HRESULT {.stdcall.} IDataObjectAsyncCapability* {.pure.} = object lpVtbl*: ptr IDataObjectAsyncCapabilityVtbl IDataObjectAsyncCapabilityVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAsyncMode*: proc(self: ptr IDataObjectAsyncCapability, fDoOpAsync: WINBOOL): HRESULT {.stdcall.} GetAsyncMode*: proc(self: ptr IDataObjectAsyncCapability, pfIsOpAsync: ptr WINBOOL): HRESULT {.stdcall.} StartOperation*: proc(self: ptr IDataObjectAsyncCapability, pbcReserved: ptr IBindCtx): HRESULT {.stdcall.} InOperation*: proc(self: ptr IDataObjectAsyncCapability, pfInAsyncOp: ptr WINBOOL): HRESULT {.stdcall.} EndOperation*: proc(self: ptr IDataObjectAsyncCapability, hResult: HRESULT, pbcReserved: ptr IBindCtx, dwEffects: DWORD): HRESULT {.stdcall.} IObjectArray* {.pure.} = object lpVtbl*: ptr IObjectArrayVtbl IObjectArrayVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCount*: proc(self: ptr IObjectArray, pcObjects: ptr UINT): HRESULT {.stdcall.} GetAt*: proc(self: ptr IObjectArray, uiIndex: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IObjectCollection* {.pure.} = object lpVtbl*: ptr IObjectCollectionVtbl IObjectCollectionVtbl* {.pure, inheritable.} = object of IObjectArrayVtbl AddObject*: proc(self: ptr IObjectCollection, punk: ptr IUnknown): HRESULT {.stdcall.} AddFromArray*: proc(self: ptr IObjectCollection, poaSource: ptr IObjectArray): HRESULT {.stdcall.} RemoveObjectAt*: proc(self: ptr IObjectCollection, uiIndex: UINT): HRESULT {.stdcall.} Clear*: proc(self: ptr IObjectCollection): HRESULT {.stdcall.} IExecuteCommand* {.pure.} = object lpVtbl*: ptr IExecuteCommandVtbl IExecuteCommandVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetKeyState*: proc(self: ptr IExecuteCommand, grfKeyState: DWORD): HRESULT {.stdcall.} SetParameters*: proc(self: ptr IExecuteCommand, pszParameters: LPCWSTR): HRESULT {.stdcall.} SetPosition*: proc(self: ptr IExecuteCommand, pt: POINT): HRESULT {.stdcall.} SetShowWindow*: proc(self: ptr IExecuteCommand, nShow: int32): HRESULT {.stdcall.} SetNoShowUI*: proc(self: ptr IExecuteCommand, fNoShowUI: WINBOOL): HRESULT {.stdcall.} SetDirectory*: proc(self: ptr IExecuteCommand, pszDirectory: LPCWSTR): HRESULT {.stdcall.} Execute*: proc(self: ptr IExecuteCommand): HRESULT {.stdcall.} IRunnableTask* {.pure.} = object lpVtbl*: ptr IRunnableTaskVtbl IRunnableTaskVtbl* {.pure, inheritable.} = object of IUnknownVtbl Run*: proc(self: ptr IRunnableTask): HRESULT {.stdcall.} Kill*: proc(self: ptr IRunnableTask, bWait: WINBOOL): HRESULT {.stdcall.} Suspend*: proc(self: ptr IRunnableTask): HRESULT {.stdcall.} Resume*: proc(self: ptr IRunnableTask): HRESULT {.stdcall.} IsRunning*: proc(self: ptr IRunnableTask): ULONG {.stdcall.} IShellTaskScheduler* {.pure.} = object lpVtbl*: ptr IShellTaskSchedulerVtbl IShellTaskSchedulerVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddTask*: proc(self: ptr IShellTaskScheduler, prt: ptr IRunnableTask, rtoid: REFTASKOWNERID, lParam: DWORD_PTR, dwPriority: DWORD): HRESULT {.stdcall.} RemoveTasks*: proc(self: ptr IShellTaskScheduler, rtoid: REFTASKOWNERID, lParam: DWORD_PTR, bWaitIfRunning: WINBOOL): HRESULT {.stdcall.} CountTasks*: proc(self: ptr IShellTaskScheduler, rtoid: REFTASKOWNERID): UINT {.stdcall.} Status*: proc(self: ptr IShellTaskScheduler, dwReleaseStatus: DWORD, dwThreadTimeout: DWORD): HRESULT {.stdcall.} IQueryCodePage* {.pure.} = object lpVtbl*: ptr IQueryCodePageVtbl IQueryCodePageVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCodePage*: proc(self: ptr IQueryCodePage, puiCodePage: ptr UINT): HRESULT {.stdcall.} SetCodePage*: proc(self: ptr IQueryCodePage, uiCodePage: UINT): HRESULT {.stdcall.} IPersistFolder2* {.pure.} = object lpVtbl*: ptr IPersistFolder2Vtbl IPersistFolder2Vtbl* {.pure, inheritable.} = object of IPersistFolderVtbl GetCurFolder*: proc(self: ptr IPersistFolder2, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} IPersistFolder3* {.pure.} = object lpVtbl*: ptr IPersistFolder3Vtbl IPersistFolder3Vtbl* {.pure, inheritable.} = object of IPersistFolder2Vtbl InitializeEx*: proc(self: ptr IPersistFolder3, pbc: ptr IBindCtx, pidlRoot: PCIDLIST_ABSOLUTE, ppfti: ptr PERSIST_FOLDER_TARGET_INFO): HRESULT {.stdcall.} GetFolderTargetInfo*: proc(self: ptr IPersistFolder3, ppfti: ptr PERSIST_FOLDER_TARGET_INFO): HRESULT {.stdcall.} IPersistIDList* {.pure.} = object lpVtbl*: ptr IPersistIDListVtbl IPersistIDListVtbl* {.pure, inheritable.} = object of IPersistVtbl SetIDList*: proc(self: ptr IPersistIDList, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} GetIDList*: proc(self: ptr IPersistIDList, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} IEnumFullIDList* {.pure.} = object lpVtbl*: ptr IEnumFullIDListVtbl IEnumFullIDListVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumFullIDList, celt: ULONG, rgelt: ptr PIDLIST_ABSOLUTE, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumFullIDList, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumFullIDList): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumFullIDList, ppenum: ptr ptr IEnumFullIDList): HRESULT {.stdcall.} IObjectWithFolderEnumMode* {.pure.} = object lpVtbl*: ptr IObjectWithFolderEnumModeVtbl IObjectWithFolderEnumModeVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetMode*: proc(self: ptr IObjectWithFolderEnumMode, feMode: FOLDER_ENUM_MODE): HRESULT {.stdcall.} GetMode*: proc(self: ptr IObjectWithFolderEnumMode, pfeMode: ptr FOLDER_ENUM_MODE): HRESULT {.stdcall.} IParseAndCreateItem* {.pure.} = object lpVtbl*: ptr IParseAndCreateItemVtbl IParseAndCreateItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetItem*: proc(self: ptr IParseAndCreateItem, psi: ptr IShellItem): HRESULT {.stdcall.} GetItem*: proc(self: ptr IParseAndCreateItem, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IShellFolder2* {.pure.} = object lpVtbl*: ptr IShellFolder2Vtbl IShellFolder2Vtbl* {.pure, inheritable.} = object of IShellFolderVtbl GetDefaultSearchGUID*: proc(self: ptr IShellFolder2, pguid: ptr GUID): HRESULT {.stdcall.} EnumSearches*: proc(self: ptr IShellFolder2, ppenum: ptr ptr IEnumExtraSearch): HRESULT {.stdcall.} GetDefaultColumn*: proc(self: ptr IShellFolder2, dwRes: DWORD, pSort: ptr ULONG, pDisplay: ptr ULONG): HRESULT {.stdcall.} GetDefaultColumnState*: proc(self: ptr IShellFolder2, iColumn: UINT, pcsFlags: ptr SHCOLSTATEF): HRESULT {.stdcall.} GetDetailsEx*: proc(self: ptr IShellFolder2, pidl: PCUITEMID_CHILD, pscid: ptr SHCOLUMNID, pv: ptr VARIANT): HRESULT {.stdcall.} GetDetailsOf*: proc(self: ptr IShellFolder2, pidl: PCUITEMID_CHILD, iColumn: UINT, psd: ptr SHELLDETAILS): HRESULT {.stdcall.} MapColumnToSCID*: proc(self: ptr IShellFolder2, iColumn: UINT, pscid: ptr SHCOLUMNID): HRESULT {.stdcall.} IFolderViewOptions* {.pure.} = object lpVtbl*: ptr IFolderViewOptionsVtbl IFolderViewOptionsVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetFolderViewOptions*: proc(self: ptr IFolderViewOptions, fvoMask: FOLDERVIEWOPTIONS, fvoFlags: FOLDERVIEWOPTIONS): HRESULT {.stdcall.} GetFolderViewOptions*: proc(self: ptr IFolderViewOptions, pfvoFlags: ptr FOLDERVIEWOPTIONS): HRESULT {.stdcall.} IShellView2* {.pure.} = object lpVtbl*: ptr IShellView2Vtbl IShellView2Vtbl* {.pure, inheritable.} = object of IShellViewVtbl GetView*: proc(self: ptr IShellView2, pvid: ptr SHELLVIEWID, uView: ULONG): HRESULT {.stdcall.} CreateViewWindow2*: proc(self: ptr IShellView2, lpParams: LPSV2CVW2_PARAMS): HRESULT {.stdcall.} HandleRename*: proc(self: ptr IShellView2, pidlNew: PCUITEMID_CHILD): HRESULT {.stdcall.} SelectAndPositionItem*: proc(self: ptr IShellView2, pidlItem: PCUITEMID_CHILD, uFlags: UINT, ppt: ptr POINT): HRESULT {.stdcall.} IShellView3* {.pure.} = object lpVtbl*: ptr IShellView3Vtbl IShellView3Vtbl* {.pure, inheritable.} = object of IShellView2Vtbl CreateViewWindow3*: proc(self: ptr IShellView3, psbOwner: ptr IShellBrowser, psvPrev: ptr IShellView, dwViewFlags: SV3CVW3_FLAGS, dwMask: FOLDERFLAGS, dwFlags: FOLDERFLAGS, fvMode: FOLDERVIEWMODE, pvid: ptr SHELLVIEWID, prcView: ptr RECT, phwndView: ptr HWND): HRESULT {.stdcall.} IFolderView* {.pure.} = object lpVtbl*: ptr IFolderViewVtbl IFolderViewVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCurrentViewMode*: proc(self: ptr IFolderView, pViewMode: ptr UINT): HRESULT {.stdcall.} SetCurrentViewMode*: proc(self: ptr IFolderView, ViewMode: UINT): HRESULT {.stdcall.} GetFolder*: proc(self: ptr IFolderView, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} Item*: proc(self: ptr IFolderView, iItemIndex: int32, ppidl: ptr PITEMID_CHILD): HRESULT {.stdcall.} ItemCount*: proc(self: ptr IFolderView, uFlags: UINT, pcItems: ptr int32): HRESULT {.stdcall.} Items*: proc(self: ptr IFolderView, uFlags: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetSelectionMarkedItem*: proc(self: ptr IFolderView, piItem: ptr int32): HRESULT {.stdcall.} GetFocusedItem*: proc(self: ptr IFolderView, piItem: ptr int32): HRESULT {.stdcall.} GetItemPosition*: proc(self: ptr IFolderView, pidl: PCUITEMID_CHILD, ppt: ptr POINT): HRESULT {.stdcall.} GetSpacing*: proc(self: ptr IFolderView, ppt: ptr POINT): HRESULT {.stdcall.} GetDefaultSpacing*: proc(self: ptr IFolderView, ppt: ptr POINT): HRESULT {.stdcall.} GetAutoArrange*: proc(self: ptr IFolderView): HRESULT {.stdcall.} SelectItem*: proc(self: ptr IFolderView, iItem: int32, dwFlags: DWORD): HRESULT {.stdcall.} SelectAndPositionItems*: proc(self: ptr IFolderView, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, apt: ptr POINT, dwFlags: DWORD): HRESULT {.stdcall.} ISearchBoxInfo* {.pure.} = object lpVtbl*: ptr ISearchBoxInfoVtbl ISearchBoxInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCondition*: proc(self: ptr ISearchBoxInfo, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetText*: proc(self: ptr ISearchBoxInfo, ppsz: ptr LPWSTR): HRESULT {.stdcall.} IEnumShellItems* {.pure.} = object lpVtbl*: ptr IEnumShellItemsVtbl IEnumShellItemsVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumShellItems, celt: ULONG, rgelt: ptr ptr IShellItem, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumShellItems, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumShellItems): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumShellItems, ppenum: ptr ptr IEnumShellItems): HRESULT {.stdcall.} IShellItemArray* {.pure.} = object lpVtbl*: ptr IShellItemArrayVtbl IShellItemArrayVtbl* {.pure, inheritable.} = object of IUnknownVtbl BindToHandler*: proc(self: ptr IShellItemArray, pbc: ptr IBindCtx, bhid: REFGUID, riid: REFIID, ppvOut: ptr pointer): HRESULT {.stdcall.} GetPropertyStore*: proc(self: ptr IShellItemArray, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetPropertyDescriptionList*: proc(self: ptr IShellItemArray, keyType: REFPROPERTYKEY, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetAttributes*: proc(self: ptr IShellItemArray, AttribFlags: SIATTRIBFLAGS, sfgaoMask: SFGAOF, psfgaoAttribs: ptr SFGAOF): HRESULT {.stdcall.} GetCount*: proc(self: ptr IShellItemArray, pdwNumItems: ptr DWORD): HRESULT {.stdcall.} GetItemAt*: proc(self: ptr IShellItemArray, dwIndex: DWORD, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} EnumItems*: proc(self: ptr IShellItemArray, ppenumShellItems: ptr ptr IEnumShellItems): HRESULT {.stdcall.} IFolderView2* {.pure.} = object lpVtbl*: ptr IFolderView2Vtbl IFolderView2Vtbl* {.pure, inheritable.} = object of IFolderViewVtbl SetGroupBy*: proc(self: ptr IFolderView2, key: REFPROPERTYKEY, fAscending: WINBOOL): HRESULT {.stdcall.} GetGroupBy*: proc(self: ptr IFolderView2, pkey: ptr PROPERTYKEY, pfAscending: ptr WINBOOL): HRESULT {.stdcall.} SetViewProperty*: proc(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, propkey: REFPROPERTYKEY, propvar: REFPROPVARIANT): HRESULT {.stdcall.} GetViewProperty*: proc(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, propkey: REFPROPERTYKEY, ppropvar: ptr PROPVARIANT): HRESULT {.stdcall.} SetTileViewProperties*: proc(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pszPropList: LPCWSTR): HRESULT {.stdcall.} SetExtendedTileViewProperties*: proc(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pszPropList: LPCWSTR): HRESULT {.stdcall.} SetText*: proc(self: ptr IFolderView2, iType: FVTEXTTYPE, pwszText: LPCWSTR): HRESULT {.stdcall.} SetCurrentFolderFlags*: proc(self: ptr IFolderView2, dwMask: DWORD, dwFlags: DWORD): HRESULT {.stdcall.} GetCurrentFolderFlags*: proc(self: ptr IFolderView2, pdwFlags: ptr DWORD): HRESULT {.stdcall.} GetSortColumnCount*: proc(self: ptr IFolderView2, pcColumns: ptr int32): HRESULT {.stdcall.} SetSortColumns*: proc(self: ptr IFolderView2, rgSortColumns: ptr SORTCOLUMN, cColumns: int32): HRESULT {.stdcall.} GetSortColumns*: proc(self: ptr IFolderView2, rgSortColumns: ptr SORTCOLUMN, cColumns: int32): HRESULT {.stdcall.} GetItem*: proc(self: ptr IFolderView2, iItem: int32, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetVisibleItem*: proc(self: ptr IFolderView2, iStart: int32, fPrevious: WINBOOL, piItem: ptr int32): HRESULT {.stdcall.} GetSelectedItem*: proc(self: ptr IFolderView2, iStart: int32, piItem: ptr int32): HRESULT {.stdcall.} GetSelection*: proc(self: ptr IFolderView2, fNoneImpliesFolder: WINBOOL, ppsia: ptr ptr IShellItemArray): HRESULT {.stdcall.} GetSelectionState*: proc(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pdwFlags: ptr DWORD): HRESULT {.stdcall.} InvokeVerbOnSelection*: proc(self: ptr IFolderView2, pszVerb: LPCSTR): HRESULT {.stdcall.} SetViewModeAndIconSize*: proc(self: ptr IFolderView2, uViewMode: FOLDERVIEWMODE, iImageSize: int32): HRESULT {.stdcall.} GetViewModeAndIconSize*: proc(self: ptr IFolderView2, puViewMode: ptr FOLDERVIEWMODE, piImageSize: ptr int32): HRESULT {.stdcall.} SetGroupSubsetCount*: proc(self: ptr IFolderView2, cVisibleRows: UINT): HRESULT {.stdcall.} GetGroupSubsetCount*: proc(self: ptr IFolderView2, pcVisibleRows: ptr UINT): HRESULT {.stdcall.} SetRedraw*: proc(self: ptr IFolderView2, fRedrawOn: WINBOOL): HRESULT {.stdcall.} IsMoveInSameFolder*: proc(self: ptr IFolderView2): HRESULT {.stdcall.} DoRename*: proc(self: ptr IFolderView2): HRESULT {.stdcall.} IFolderViewSettings* {.pure.} = object lpVtbl*: ptr IFolderViewSettingsVtbl IFolderViewSettingsVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetColumnPropertyList*: proc(self: ptr IFolderViewSettings, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetGroupByProperty*: proc(self: ptr IFolderViewSettings, pkey: ptr PROPERTYKEY, pfGroupAscending: ptr WINBOOL): HRESULT {.stdcall.} GetViewMode*: proc(self: ptr IFolderViewSettings, plvm: ptr FOLDERLOGICALVIEWMODE): HRESULT {.stdcall.} GetIconSize*: proc(self: ptr IFolderViewSettings, puIconSize: ptr UINT): HRESULT {.stdcall.} GetFolderFlags*: proc(self: ptr IFolderViewSettings, pfolderMask: ptr FOLDERFLAGS, pfolderFlags: ptr FOLDERFLAGS): HRESULT {.stdcall.} GetSortColumns*: proc(self: ptr IFolderViewSettings, rgSortColumns: ptr SORTCOLUMN, cColumnsIn: UINT, pcColumnsOut: ptr UINT): HRESULT {.stdcall.} GetGroupSubsetCount*: proc(self: ptr IFolderViewSettings, pcVisibleRows: ptr UINT): HRESULT {.stdcall.} IPreviewHandlerVisuals* {.pure.} = object lpVtbl*: ptr IPreviewHandlerVisualsVtbl IPreviewHandlerVisualsVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetBackgroundColor*: proc(self: ptr IPreviewHandlerVisuals, color: COLORREF): HRESULT {.stdcall.} SetFont*: proc(self: ptr IPreviewHandlerVisuals, plf: ptr LOGFONTW): HRESULT {.stdcall.} SetTextColor*: proc(self: ptr IPreviewHandlerVisuals, color: COLORREF): HRESULT {.stdcall.} IVisualProperties* {.pure.} = object lpVtbl*: ptr IVisualPropertiesVtbl IVisualPropertiesVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetWatermark*: proc(self: ptr IVisualProperties, hbmp: HBITMAP, vpwf: VPWATERMARKFLAGS): HRESULT {.stdcall.} SetColor*: proc(self: ptr IVisualProperties, vpcf: VPCOLORFLAGS, cr: COLORREF): HRESULT {.stdcall.} GetColor*: proc(self: ptr IVisualProperties, vpcf: VPCOLORFLAGS, pcr: ptr COLORREF): HRESULT {.stdcall.} SetItemHeight*: proc(self: ptr IVisualProperties, cyItemInPixels: int32): HRESULT {.stdcall.} GetItemHeight*: proc(self: ptr IVisualProperties, cyItemInPixels: ptr int32): HRESULT {.stdcall.} SetFont*: proc(self: ptr IVisualProperties, plf: ptr LOGFONTW, bRedraw: WINBOOL): HRESULT {.stdcall.} GetFont*: proc(self: ptr IVisualProperties, plf: ptr LOGFONTW): HRESULT {.stdcall.} SetTheme*: proc(self: ptr IVisualProperties, pszSubAppName: LPCWSTR, pszSubIdList: LPCWSTR): HRESULT {.stdcall.} ICommDlgBrowser3* {.pure.} = object lpVtbl*: ptr ICommDlgBrowser3Vtbl ICommDlgBrowser3Vtbl* {.pure, inheritable.} = object of ICommDlgBrowser2Vtbl OnColumnClicked*: proc(self: ptr ICommDlgBrowser3, ppshv: ptr IShellView, iColumn: int32): HRESULT {.stdcall.} GetCurrentFilter*: proc(self: ptr ICommDlgBrowser3, pszFileSpec: LPWSTR, cchFileSpec: int32): HRESULT {.stdcall.} OnPreViewCreated*: proc(self: ptr ICommDlgBrowser3, ppshv: ptr IShellView): HRESULT {.stdcall.} IColumnManager* {.pure.} = object lpVtbl*: ptr IColumnManagerVtbl IColumnManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetColumnInfo*: proc(self: ptr IColumnManager, propkey: REFPROPERTYKEY, pcmci: ptr CM_COLUMNINFO): HRESULT {.stdcall.} GetColumnInfo*: proc(self: ptr IColumnManager, propkey: REFPROPERTYKEY, pcmci: ptr CM_COLUMNINFO): HRESULT {.stdcall.} GetColumnCount*: proc(self: ptr IColumnManager, dwFlags: CM_ENUM_FLAGS, puCount: ptr UINT): HRESULT {.stdcall.} GetColumns*: proc(self: ptr IColumnManager, dwFlags: CM_ENUM_FLAGS, rgkeyOrder: ptr PROPERTYKEY, cColumns: UINT): HRESULT {.stdcall.} SetColumns*: proc(self: ptr IColumnManager, rgkeyOrder: ptr PROPERTYKEY, cVisible: UINT): HRESULT {.stdcall.} IFolderFilterSite* {.pure.} = object lpVtbl*: ptr IFolderFilterSiteVtbl IFolderFilterSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetFilter*: proc(self: ptr IFolderFilterSite, punk: ptr IUnknown): HRESULT {.stdcall.} IFolderFilter* {.pure.} = object lpVtbl*: ptr IFolderFilterVtbl IFolderFilterVtbl* {.pure, inheritable.} = object of IUnknownVtbl ShouldShow*: proc(self: ptr IFolderFilter, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, pidlItem: PCUITEMID_CHILD): HRESULT {.stdcall.} GetEnumFlags*: proc(self: ptr IFolderFilter, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, phwnd: ptr HWND, pgrfFlags: ptr DWORD): HRESULT {.stdcall.} IInputObjectSite* {.pure.} = object lpVtbl*: ptr IInputObjectSiteVtbl IInputObjectSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnFocusChangeIS*: proc(self: ptr IInputObjectSite, punkObj: ptr IUnknown, fSetFocus: WINBOOL): HRESULT {.stdcall.} IInputObject* {.pure.} = object lpVtbl*: ptr IInputObjectVtbl IInputObjectVtbl* {.pure, inheritable.} = object of IUnknownVtbl UIActivateIO*: proc(self: ptr IInputObject, fActivate: WINBOOL, pMsg: ptr MSG): HRESULT {.stdcall.} HasFocusIO*: proc(self: ptr IInputObject): HRESULT {.stdcall.} TranslateAcceleratorIO*: proc(self: ptr IInputObject, pMsg: ptr MSG): HRESULT {.stdcall.} IInputObject2* {.pure.} = object lpVtbl*: ptr IInputObject2Vtbl IInputObject2Vtbl* {.pure, inheritable.} = object of IInputObjectVtbl TranslateAcceleratorGlobal*: proc(self: ptr IInputObject2, pMsg: ptr MSG): HRESULT {.stdcall.} IShellIcon* {.pure.} = object lpVtbl*: ptr IShellIconVtbl IShellIconVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetIconOf*: proc(self: ptr IShellIcon, pidl: PCUITEMID_CHILD, flags: UINT, pIconIndex: ptr int32): HRESULT {.stdcall.} IProfferService* {.pure.} = object lpVtbl*: ptr IProfferServiceVtbl IProfferServiceVtbl* {.pure, inheritable.} = object of IUnknownVtbl ProfferService*: proc(self: ptr IProfferService, guidService: REFGUID, psp: ptr IServiceProvider, pdwCookie: ptr DWORD): HRESULT {.stdcall.} RevokeService*: proc(self: ptr IProfferService, dwCookie: DWORD): HRESULT {.stdcall.} IShellItem2* {.pure.} = object lpVtbl*: ptr IShellItem2Vtbl IShellItem2Vtbl* {.pure, inheritable.} = object of IShellItemVtbl GetPropertyStore*: proc(self: ptr IShellItem2, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetPropertyStoreWithCreateObject*: proc(self: ptr IShellItem2, flags: GETPROPERTYSTOREFLAGS, punkCreateObject: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetPropertyStoreForKeys*: proc(self: ptr IShellItem2, rgKeys: ptr PROPERTYKEY, cKeys: UINT, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetPropertyDescriptionList*: proc(self: ptr IShellItem2, keyType: REFPROPERTYKEY, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} Update*: proc(self: ptr IShellItem2, pbc: ptr IBindCtx): HRESULT {.stdcall.} GetProperty*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, ppropvar: ptr PROPVARIANT): HRESULT {.stdcall.} GetCLSID*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pclsid: ptr CLSID): HRESULT {.stdcall.} GetFileTime*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pft: ptr FILETIME): HRESULT {.stdcall.} GetInt32*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pi: ptr int32): HRESULT {.stdcall.} GetString*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, ppsz: ptr LPWSTR): HRESULT {.stdcall.} GetUInt32*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pui: ptr ULONG): HRESULT {.stdcall.} GetUInt64*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pull: ptr ULONGLONG): HRESULT {.stdcall.} GetBool*: proc(self: ptr IShellItem2, key: REFPROPERTYKEY, pf: ptr WINBOOL): HRESULT {.stdcall.} IShellItemImageFactory* {.pure.} = object lpVtbl*: ptr IShellItemImageFactoryVtbl IShellItemImageFactoryVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetImage*: proc(self: ptr IShellItemImageFactory, size: SIZE, flags: SIIGBF, phbm: ptr HBITMAP): HRESULT {.stdcall.} IUserAccountChangeCallback* {.pure.} = object lpVtbl*: ptr IUserAccountChangeCallbackVtbl IUserAccountChangeCallbackVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnPictureChange*: proc(self: ptr IUserAccountChangeCallback, pszUserName: LPCWSTR): HRESULT {.stdcall.} ITransferAdviseSink* {.pure.} = object lpVtbl*: ptr ITransferAdviseSinkVtbl ITransferAdviseSinkVtbl* {.pure, inheritable.} = object of IUnknownVtbl UpdateProgress*: proc(self: ptr ITransferAdviseSink, ullSizeCurrent: ULONGLONG, ullSizeTotal: ULONGLONG, nFilesCurrent: int32, nFilesTotal: int32, nFoldersCurrent: int32, nFoldersTotal: int32): HRESULT {.stdcall.} UpdateTransferState*: proc(self: ptr ITransferAdviseSink, ts: TRANSFER_ADVISE_STATE): HRESULT {.stdcall.} ConfirmOverwrite*: proc(self: ptr ITransferAdviseSink, psiSource: ptr IShellItem, psiDestParent: ptr IShellItem, pszName: LPCWSTR): HRESULT {.stdcall.} ConfirmEncryptionLoss*: proc(self: ptr ITransferAdviseSink, psiSource: ptr IShellItem): HRESULT {.stdcall.} FileFailure*: proc(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pszItem: LPCWSTR, hrError: HRESULT, pszRename: LPWSTR, cchRename: ULONG): HRESULT {.stdcall.} SubStreamFailure*: proc(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pszStreamName: LPCWSTR, hrError: HRESULT): HRESULT {.stdcall.} PropertyFailure*: proc(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pkey: ptr PROPERTYKEY, hrError: HRESULT): HRESULT {.stdcall.} ITransferSource* {.pure.} = object lpVtbl*: ptr ITransferSourceVtbl ITransferSourceVtbl* {.pure, inheritable.} = object of IUnknownVtbl Advise*: proc(self: ptr ITransferSource, psink: ptr ITransferAdviseSink, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr ITransferSource, dwCookie: DWORD): HRESULT {.stdcall.} SetProperties*: proc(self: ptr ITransferSource, pproparray: ptr IPropertyChangeArray): HRESULT {.stdcall.} OpenItem*: proc(self: ptr ITransferSource, psi: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} MoveItem*: proc(self: ptr ITransferSource, psi: ptr IShellItem, psiParentDst: ptr IShellItem, pszNameDst: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNew: ptr ptr IShellItem): HRESULT {.stdcall.} RecycleItem*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.stdcall.} RemoveItem*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS): HRESULT {.stdcall.} RenameItem*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, pszNewName: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.stdcall.} LinkItem*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, pszNewName: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.stdcall.} ApplyPropertiesToItem*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, ppsiNew: ptr ptr IShellItem): HRESULT {.stdcall.} GetDefaultDestinationName*: proc(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, ppszDestinationName: ptr LPWSTR): HRESULT {.stdcall.} EnterFolder*: proc(self: ptr ITransferSource, psiChildFolderDest: ptr IShellItem): HRESULT {.stdcall.} LeaveFolder*: proc(self: ptr ITransferSource, psiChildFolderDest: ptr IShellItem): HRESULT {.stdcall.} IEnumResources* {.pure.} = object lpVtbl*: ptr IEnumResourcesVtbl IEnumResourcesVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumResources, celt: ULONG, psir: ptr SHELL_ITEM_RESOURCE, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumResources, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumResources): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumResources, ppenumr: ptr ptr IEnumResources): HRESULT {.stdcall.} IShellItemResources* {.pure.} = object lpVtbl*: ptr IShellItemResourcesVtbl IShellItemResourcesVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetAttributes*: proc(self: ptr IShellItemResources, pdwAttributes: ptr DWORD): HRESULT {.stdcall.} GetSize*: proc(self: ptr IShellItemResources, pullSize: ptr ULONGLONG): HRESULT {.stdcall.} GetTimes*: proc(self: ptr IShellItemResources, pftCreation: ptr FILETIME, pftWrite: ptr FILETIME, pftAccess: ptr FILETIME): HRESULT {.stdcall.} SetTimes*: proc(self: ptr IShellItemResources, pftCreation: ptr FILETIME, pftWrite: ptr FILETIME, pftAccess: ptr FILETIME): HRESULT {.stdcall.} GetResourceDescription*: proc(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, ppszDescription: ptr LPWSTR): HRESULT {.stdcall.} EnumResources*: proc(self: ptr IShellItemResources, ppenumr: ptr ptr IEnumResources): HRESULT {.stdcall.} SupportsResource*: proc(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE): HRESULT {.stdcall.} OpenResource*: proc(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} CreateResource*: proc(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} MarkForDelete*: proc(self: ptr IShellItemResources): HRESULT {.stdcall.} ITransferDestination* {.pure.} = object lpVtbl*: ptr ITransferDestinationVtbl ITransferDestinationVtbl* {.pure, inheritable.} = object of IUnknownVtbl Advise*: proc(self: ptr ITransferDestination, psink: ptr ITransferAdviseSink, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr ITransferDestination, dwCookie: DWORD): HRESULT {.stdcall.} CreateItem*: proc(self: ptr ITransferDestination, pszName: LPCWSTR, dwAttributes: DWORD, ullSize: ULONGLONG, flags: TRANSFER_SOURCE_FLAGS, riidItem: REFIID, ppvItem: ptr pointer, riidResources: REFIID, ppvResources: ptr pointer): HRESULT {.stdcall.} IStreamAsync* {.pure.} = object lpVtbl*: ptr IStreamAsyncVtbl IStreamAsyncVtbl* {.pure, inheritable.} = object of IStreamVtbl ReadAsync*: proc(self: ptr IStreamAsync, pv: pointer, cb: DWORD, pcbRead: LPDWORD, lpOverlapped: LPOVERLAPPED): HRESULT {.stdcall.} WriteAsync*: proc(self: ptr IStreamAsync, lpBuffer: pointer, cb: DWORD, pcbWritten: LPDWORD, lpOverlapped: LPOVERLAPPED): HRESULT {.stdcall.} OverlappedResult*: proc(self: ptr IStreamAsync, lpOverlapped: LPOVERLAPPED, lpNumberOfBytesTransferred: LPDWORD, bWait: WINBOOL): HRESULT {.stdcall.} CancelIo*: proc(self: ptr IStreamAsync): HRESULT {.stdcall.} IStreamUnbufferedInfo* {.pure.} = object lpVtbl*: ptr IStreamUnbufferedInfoVtbl IStreamUnbufferedInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetSectorSize*: proc(self: ptr IStreamUnbufferedInfo, pcbSectorSize: ptr ULONG): HRESULT {.stdcall.} IFileOperationProgressSink* {.pure.} = object lpVtbl*: ptr IFileOperationProgressSinkVtbl IFileOperationProgressSinkVtbl* {.pure, inheritable.} = object of IUnknownVtbl StartOperations*: proc(self: ptr IFileOperationProgressSink): HRESULT {.stdcall.} FinishOperations*: proc(self: ptr IFileOperationProgressSink, hrResult: HRESULT): HRESULT {.stdcall.} PreRenameItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.stdcall.} PostRenameItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, pszNewName: LPCWSTR, hrRename: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.stdcall.} PreMoveItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.stdcall.} PostMoveItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, hrMove: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.stdcall.} PreCopyItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.stdcall.} PostCopyItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, hrCopy: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.stdcall.} PreDeleteItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem): HRESULT {.stdcall.} PostDeleteItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, hrDelete: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.stdcall.} PreNewItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.stdcall.} PostNewItem*: proc(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, pszTemplateName: LPCWSTR, dwFileAttributes: DWORD, hrNew: HRESULT, psiNewItem: ptr IShellItem): HRESULT {.stdcall.} UpdateProgress*: proc(self: ptr IFileOperationProgressSink, iWorkTotal: UINT, iWorkSoFar: UINT): HRESULT {.stdcall.} ResetTimer*: proc(self: ptr IFileOperationProgressSink): HRESULT {.stdcall.} PauseTimer*: proc(self: ptr IFileOperationProgressSink): HRESULT {.stdcall.} ResumeTimer*: proc(self: ptr IFileOperationProgressSink): HRESULT {.stdcall.} IInitializeWithItem* {.pure.} = object lpVtbl*: ptr IInitializeWithItemVtbl IInitializeWithItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeWithItem, psi: ptr IShellItem, grfMode: DWORD): HRESULT {.stdcall.} IObjectWithSelection* {.pure.} = object lpVtbl*: ptr IObjectWithSelectionVtbl IObjectWithSelectionVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetSelection*: proc(self: ptr IObjectWithSelection, psia: ptr IShellItemArray): HRESULT {.stdcall.} GetSelection*: proc(self: ptr IObjectWithSelection, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IObjectWithBackReferences* {.pure.} = object lpVtbl*: ptr IObjectWithBackReferencesVtbl IObjectWithBackReferencesVtbl* {.pure, inheritable.} = object of IUnknownVtbl RemoveBackReferences*: proc(self: ptr IObjectWithBackReferences): HRESULT {.stdcall.} IPropertyUI* {.pure.} = object lpVtbl*: ptr IPropertyUIVtbl IPropertyUIVtbl* {.pure, inheritable.} = object of IUnknownVtbl ParsePropertyName*: proc(self: ptr IPropertyUI, pszName: LPCWSTR, pfmtid: ptr FMTID, ppid: ptr PROPID, pchEaten: ptr ULONG): HRESULT {.stdcall.} GetCannonicalName*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszText: LPWSTR, cchText: DWORD): HRESULT {.stdcall.} GetDisplayName*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, flags: PROPERTYUI_NAME_FLAGS, pwszText: LPWSTR, cchText: DWORD): HRESULT {.stdcall.} GetPropertyDescription*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszText: LPWSTR, cchText: DWORD): HRESULT {.stdcall.} GetDefaultWidth*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pcxChars: ptr ULONG): HRESULT {.stdcall.} GetFlags*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pflags: ptr PROPERTYUI_FLAGS): HRESULT {.stdcall.} FormatForDisplay*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, ppropvar: ptr PROPVARIANT, puiff: PROPERTYUI_FORMAT_FLAGS, pwszText: LPWSTR, cchText: DWORD): HRESULT {.stdcall.} GetHelpInfo*: proc(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszHelpFile: LPWSTR, cch: DWORD, puHelpID: ptr UINT): HRESULT {.stdcall.} ICategoryProvider* {.pure.} = object lpVtbl*: ptr ICategoryProviderVtbl ICategoryProviderVtbl* {.pure, inheritable.} = object of IUnknownVtbl CanCategorizeOnSCID*: proc(self: ptr ICategoryProvider, pscid: ptr SHCOLUMNID): HRESULT {.stdcall.} GetDefaultCategory*: proc(self: ptr ICategoryProvider, pguid: ptr GUID, pscid: ptr SHCOLUMNID): HRESULT {.stdcall.} GetCategoryForSCID*: proc(self: ptr ICategoryProvider, pscid: ptr SHCOLUMNID, pguid: ptr GUID): HRESULT {.stdcall.} EnumCategories*: proc(self: ptr ICategoryProvider, penum: ptr ptr IEnumGUID): HRESULT {.stdcall.} GetCategoryName*: proc(self: ptr ICategoryProvider, pguid: ptr GUID, pszName: LPWSTR, cch: UINT): HRESULT {.stdcall.} CreateCategory*: proc(self: ptr ICategoryProvider, pguid: ptr GUID, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} ICategorizer* {.pure.} = object lpVtbl*: ptr ICategorizerVtbl ICategorizerVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDescription*: proc(self: ptr ICategorizer, pszDesc: LPWSTR, cch: UINT): HRESULT {.stdcall.} GetCategory*: proc(self: ptr ICategorizer, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, rgCategoryIds: ptr DWORD): HRESULT {.stdcall.} GetCategoryInfo*: proc(self: ptr ICategorizer, dwCategoryId: DWORD, pci: ptr TCATEGORY_INFO): HRESULT {.stdcall.} CompareCategory*: proc(self: ptr ICategorizer, csfFlags: CATSORT_FLAGS, dwCategoryId1: DWORD, dwCategoryId2: DWORD): HRESULT {.stdcall.} IDropTargetHelper* {.pure.} = object lpVtbl*: ptr IDropTargetHelperVtbl IDropTargetHelperVtbl* {.pure, inheritable.} = object of IUnknownVtbl DragEnter*: proc(self: ptr IDropTargetHelper, hwndTarget: HWND, pDataObject: ptr IDataObject, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.stdcall.} DragLeave*: proc(self: ptr IDropTargetHelper): HRESULT {.stdcall.} DragOver*: proc(self: ptr IDropTargetHelper, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.stdcall.} Drop*: proc(self: ptr IDropTargetHelper, pDataObject: ptr IDataObject, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.stdcall.} Show*: proc(self: ptr IDropTargetHelper, fShow: WINBOOL): HRESULT {.stdcall.} IDragSourceHelper* {.pure.} = object lpVtbl*: ptr IDragSourceHelperVtbl IDragSourceHelperVtbl* {.pure, inheritable.} = object of IUnknownVtbl InitializeFromBitmap*: proc(self: ptr IDragSourceHelper, pshdi: LPSHDRAGIMAGE, pDataObject: ptr IDataObject): HRESULT {.stdcall.} InitializeFromWindow*: proc(self: ptr IDragSourceHelper, hwnd: HWND, ppt: ptr POINT, pDataObject: ptr IDataObject): HRESULT {.stdcall.} IDragSourceHelper2* {.pure.} = object lpVtbl*: ptr IDragSourceHelper2Vtbl IDragSourceHelper2Vtbl* {.pure, inheritable.} = object of IDragSourceHelperVtbl SetFlags*: proc(self: ptr IDragSourceHelper2, dwFlags: DWORD): HRESULT {.stdcall.} IShellLinkDataList* {.pure.} = object lpVtbl*: ptr IShellLinkDataListVtbl IShellLinkDataListVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddDataBlock*: proc(self: ptr IShellLinkDataList, pDataBlock: pointer): HRESULT {.stdcall.} CopyDataBlock*: proc(self: ptr IShellLinkDataList, dwSig: DWORD, ppDataBlock: ptr pointer): HRESULT {.stdcall.} RemoveDataBlock*: proc(self: ptr IShellLinkDataList, dwSig: DWORD): HRESULT {.stdcall.} GetFlags*: proc(self: ptr IShellLinkDataList, pdwFlags: ptr DWORD): HRESULT {.stdcall.} SetFlags*: proc(self: ptr IShellLinkDataList, dwFlags: DWORD): HRESULT {.stdcall.} IResolveShellLink* {.pure.} = object lpVtbl*: ptr IResolveShellLinkVtbl IResolveShellLinkVtbl* {.pure, inheritable.} = object of IUnknownVtbl ResolveShellLink*: proc(self: ptr IResolveShellLink, punkLink: ptr IUnknown, hwnd: HWND, fFlags: DWORD): HRESULT {.stdcall.} IActionProgressDialog* {.pure.} = object lpVtbl*: ptr IActionProgressDialogVtbl IActionProgressDialogVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IActionProgressDialog, flags: SPINITF, pszTitle: LPCWSTR, pszCancel: LPCWSTR): HRESULT {.stdcall.} Stop*: proc(self: ptr IActionProgressDialog): HRESULT {.stdcall.} IHWEventHandler* {.pure.} = object lpVtbl*: ptr IHWEventHandlerVtbl IHWEventHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IHWEventHandler, pszParams: LPCWSTR): HRESULT {.stdcall.} HandleEvent*: proc(self: ptr IHWEventHandler, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR): HRESULT {.stdcall.} HandleEventWithContent*: proc(self: ptr IHWEventHandler, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR, pszContentTypeHandler: LPCWSTR, pdataobject: ptr IDataObject): HRESULT {.stdcall.} IHWEventHandler2* {.pure.} = object lpVtbl*: ptr IHWEventHandler2Vtbl IHWEventHandler2Vtbl* {.pure, inheritable.} = object of IHWEventHandlerVtbl HandleEventWithHWND*: proc(self: ptr IHWEventHandler2, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR, hwndOwner: HWND): HRESULT {.stdcall.} IQueryCancelAutoPlay* {.pure.} = object lpVtbl*: ptr IQueryCancelAutoPlayVtbl IQueryCancelAutoPlayVtbl* {.pure, inheritable.} = object of IUnknownVtbl AllowAutoPlay*: proc(self: ptr IQueryCancelAutoPlay, pszPath: LPCWSTR, dwContentType: DWORD, pszLabel: LPCWSTR, dwSerialNumber: DWORD): HRESULT {.stdcall.} IDynamicHWHandler* {.pure.} = object lpVtbl*: ptr IDynamicHWHandlerVtbl IDynamicHWHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDynamicInfo*: proc(self: ptr IDynamicHWHandler, pszDeviceID: LPCWSTR, dwContentType: DWORD, ppszAction: ptr LPWSTR): HRESULT {.stdcall.} IActionProgress* {.pure.} = object lpVtbl*: ptr IActionProgressVtbl IActionProgressVtbl* {.pure, inheritable.} = object of IUnknownVtbl Begin*: proc(self: ptr IActionProgress, action: SPACTION, flags: SPBEGINF): HRESULT {.stdcall.} UpdateProgress*: proc(self: ptr IActionProgress, ulCompleted: ULONGLONG, ulTotal: ULONGLONG): HRESULT {.stdcall.} UpdateText*: proc(self: ptr IActionProgress, sptext: SPTEXT, pszText: LPCWSTR, fMayCompact: WINBOOL): HRESULT {.stdcall.} QueryCancel*: proc(self: ptr IActionProgress, pfCancelled: ptr WINBOOL): HRESULT {.stdcall.} ResetCancel*: proc(self: ptr IActionProgress): HRESULT {.stdcall.} End*: proc(self: ptr IActionProgress): HRESULT {.stdcall.} IRemoteComputer* {.pure.} = object lpVtbl*: ptr IRemoteComputerVtbl IRemoteComputerVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IRemoteComputer, pszMachine: LPCWSTR, bEnumerating: WINBOOL): HRESULT {.stdcall.} IQueryContinue* {.pure.} = object lpVtbl*: ptr IQueryContinueVtbl IQueryContinueVtbl* {.pure, inheritable.} = object of IUnknownVtbl QueryContinue*: proc(self: ptr IQueryContinue): HRESULT {.stdcall.} IObjectWithCancelEvent* {.pure.} = object lpVtbl*: ptr IObjectWithCancelEventVtbl IObjectWithCancelEventVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCancelEvent*: proc(self: ptr IObjectWithCancelEvent, phEvent: ptr HANDLE): HRESULT {.stdcall.} IUserNotification* {.pure.} = object lpVtbl*: ptr IUserNotificationVtbl IUserNotificationVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetBalloonInfo*: proc(self: ptr IUserNotification, pszTitle: LPCWSTR, pszText: LPCWSTR, dwInfoFlags: DWORD): HRESULT {.stdcall.} SetBalloonRetry*: proc(self: ptr IUserNotification, dwShowTime: DWORD, dwInterval: DWORD, cRetryCount: UINT): HRESULT {.stdcall.} SetIconInfo*: proc(self: ptr IUserNotification, hIcon: HICON, pszToolTip: LPCWSTR): HRESULT {.stdcall.} Show*: proc(self: ptr IUserNotification, pqc: ptr IQueryContinue, dwContinuePollInterval: DWORD): HRESULT {.stdcall.} PlaySound*: proc(self: ptr IUserNotification, pszSoundName: LPCWSTR): HRESULT {.stdcall.} IUserNotificationCallback* {.pure.} = object lpVtbl*: ptr IUserNotificationCallbackVtbl IUserNotificationCallbackVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnBalloonUserClick*: proc(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.stdcall.} OnLeftClick*: proc(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.stdcall.} OnContextMenu*: proc(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.stdcall.} IUserNotification2* {.pure.} = object lpVtbl*: ptr IUserNotification2Vtbl IUserNotification2Vtbl* {.pure, inheritable.} = object of IUnknownVtbl SetBalloonInfo*: proc(self: ptr IUserNotification2, pszTitle: LPCWSTR, pszText: LPCWSTR, dwInfoFlags: DWORD): HRESULT {.stdcall.} SetBalloonRetry*: proc(self: ptr IUserNotification2, dwShowTime: DWORD, dwInterval: DWORD, cRetryCount: UINT): HRESULT {.stdcall.} SetIconInfo*: proc(self: ptr IUserNotification2, hIcon: HICON, pszToolTip: LPCWSTR): HRESULT {.stdcall.} Show*: proc(self: ptr IUserNotification2, pqc: ptr IQueryContinue, dwContinuePollInterval: DWORD, pSink: ptr IUserNotificationCallback): HRESULT {.stdcall.} PlaySound*: proc(self: ptr IUserNotification2, pszSoundName: LPCWSTR): HRESULT {.stdcall.} IItemNameLimits* {.pure.} = object lpVtbl*: ptr IItemNameLimitsVtbl IItemNameLimitsVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetValidCharacters*: proc(self: ptr IItemNameLimits, ppwszValidChars: ptr LPWSTR, ppwszInvalidChars: ptr LPWSTR): HRESULT {.stdcall.} GetMaxLength*: proc(self: ptr IItemNameLimits, pszName: LPCWSTR, piMaxNameLen: ptr int32): HRESULT {.stdcall.} ISearchFolderItemFactory* {.pure.} = object lpVtbl*: ptr ISearchFolderItemFactoryVtbl ISearchFolderItemFactoryVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetDisplayName*: proc(self: ptr ISearchFolderItemFactory, pszDisplayName: LPCWSTR): HRESULT {.stdcall.} SetFolderTypeID*: proc(self: ptr ISearchFolderItemFactory, ftid: FOLDERTYPEID): HRESULT {.stdcall.} SetFolderLogicalViewMode*: proc(self: ptr ISearchFolderItemFactory, flvm: FOLDERLOGICALVIEWMODE): HRESULT {.stdcall.} SetIconSize*: proc(self: ptr ISearchFolderItemFactory, iIconSize: int32): HRESULT {.stdcall.} SetVisibleColumns*: proc(self: ptr ISearchFolderItemFactory, cVisibleColumns: UINT, rgKey: ptr PROPERTYKEY): HRESULT {.stdcall.} SetSortColumns*: proc(self: ptr ISearchFolderItemFactory, cSortColumns: UINT, rgSortColumns: ptr SORTCOLUMN): HRESULT {.stdcall.} SetGroupColumn*: proc(self: ptr ISearchFolderItemFactory, keyGroup: REFPROPERTYKEY): HRESULT {.stdcall.} SetStacks*: proc(self: ptr ISearchFolderItemFactory, cStackKeys: UINT, rgStackKeys: ptr PROPERTYKEY): HRESULT {.stdcall.} SetScope*: proc(self: ptr ISearchFolderItemFactory, psiaScope: ptr IShellItemArray): HRESULT {.stdcall.} SetCondition*: proc(self: ptr ISearchFolderItemFactory, pCondition: ptr ICondition): HRESULT {.stdcall.} GetShellItem*: proc(self: ptr ISearchFolderItemFactory, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetIDList*: proc(self: ptr ISearchFolderItemFactory, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} IThumbnailHandlerFactory* {.pure.} = object lpVtbl*: ptr IThumbnailHandlerFactoryVtbl IThumbnailHandlerFactoryVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetThumbnailHandler*: proc(self: ptr IThumbnailHandlerFactory, pidlChild: PCUITEMID_CHILD, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IParentAndItem* {.pure.} = object lpVtbl*: ptr IParentAndItemVtbl IParentAndItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetParentAndItem*: proc(self: ptr IParentAndItem, pidlParent: PCIDLIST_ABSOLUTE, psf: ptr IShellFolder, pidlChild: PCUITEMID_CHILD): HRESULT {.stdcall.} GetParentAndItem*: proc(self: ptr IParentAndItem, ppidlParent: ptr PIDLIST_ABSOLUTE, ppsf: ptr ptr IShellFolder, ppidlChild: ptr PITEMID_CHILD): HRESULT {.stdcall.} IDockingWindow* {.pure.} = object lpVtbl*: ptr IDockingWindowVtbl IDockingWindowVtbl* {.pure, inheritable.} = object of IOleWindowVtbl ShowDW*: proc(self: ptr IDockingWindow, fShow: WINBOOL): HRESULT {.stdcall.} CloseDW*: proc(self: ptr IDockingWindow, dwReserved: DWORD): HRESULT {.stdcall.} ResizeBorderDW*: proc(self: ptr IDockingWindow, prcBorder: LPCRECT, punkToolbarSite: ptr IUnknown, fReserved: WINBOOL): HRESULT {.stdcall.} IDeskBand* {.pure.} = object lpVtbl*: ptr IDeskBandVtbl IDeskBandVtbl* {.pure, inheritable.} = object of IDockingWindowVtbl GetBandInfo*: proc(self: ptr IDeskBand, dwBandID: DWORD, dwViewMode: DWORD, pdbi: ptr DESKBANDINFO): HRESULT {.stdcall.} IDeskBandInfo* {.pure.} = object lpVtbl*: ptr IDeskBandInfoVtbl IDeskBandInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDefaultBandWidth*: proc(self: ptr IDeskBandInfo, dwBandID: DWORD, dwViewMode: DWORD, pnWidth: ptr int32): HRESULT {.stdcall.} IDeskBand2* {.pure.} = object lpVtbl*: ptr IDeskBand2Vtbl IDeskBand2Vtbl* {.pure, inheritable.} = object of IDeskBandVtbl CanRenderComposited*: proc(self: ptr IDeskBand2, pfCanRenderComposited: ptr WINBOOL): HRESULT {.stdcall.} SetCompositionState*: proc(self: ptr IDeskBand2, fCompositionEnabled: WINBOOL): HRESULT {.stdcall.} GetCompositionState*: proc(self: ptr IDeskBand2, pfCompositionEnabled: ptr WINBOOL): HRESULT {.stdcall.} ITaskbarList* {.pure.} = object lpVtbl*: ptr ITaskbarListVtbl ITaskbarListVtbl* {.pure, inheritable.} = object of IUnknownVtbl HrInit*: proc(self: ptr ITaskbarList): HRESULT {.stdcall.} AddTab*: proc(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.stdcall.} DeleteTab*: proc(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.stdcall.} ActivateTab*: proc(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.stdcall.} SetActiveAlt*: proc(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.stdcall.} ITaskbarList2* {.pure.} = object lpVtbl*: ptr ITaskbarList2Vtbl ITaskbarList2Vtbl* {.pure, inheritable.} = object of ITaskbarListVtbl MarkFullscreenWindow*: proc(self: ptr ITaskbarList2, hwnd: HWND, fFullscreen: WINBOOL): HRESULT {.stdcall.} ITaskbarList3* {.pure.} = object lpVtbl*: ptr ITaskbarList3Vtbl ITaskbarList3Vtbl* {.pure, inheritable.} = object of ITaskbarList2Vtbl SetProgressValue*: proc(self: ptr ITaskbarList3, hwnd: HWND, ullCompleted: ULONGLONG, ullTotal: ULONGLONG): HRESULT {.stdcall.} SetProgressState*: proc(self: ptr ITaskbarList3, hwnd: HWND, tbpFlags: TBPFLAG): HRESULT {.stdcall.} RegisterTab*: proc(self: ptr ITaskbarList3, hwndTab: HWND, hwndMDI: HWND): HRESULT {.stdcall.} UnregisterTab*: proc(self: ptr ITaskbarList3, hwndTab: HWND): HRESULT {.stdcall.} SetTabOrder*: proc(self: ptr ITaskbarList3, hwndTab: HWND, hwndInsertBefore: HWND): HRESULT {.stdcall.} SetTabActive*: proc(self: ptr ITaskbarList3, hwndTab: HWND, hwndMDI: HWND, dwReserved: DWORD): HRESULT {.stdcall.} ThumbBarAddButtons*: proc(self: ptr ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON): HRESULT {.stdcall.} ThumbBarUpdateButtons*: proc(self: ptr ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON): HRESULT {.stdcall.} ThumbBarSetImageList*: proc(self: ptr ITaskbarList3, hwnd: HWND, himl: HIMAGELIST): HRESULT {.stdcall.} SetOverlayIcon*: proc(self: ptr ITaskbarList3, hwnd: HWND, hIcon: HICON, pszDescription: LPCWSTR): HRESULT {.stdcall.} SetThumbnailTooltip*: proc(self: ptr ITaskbarList3, hwnd: HWND, pszTip: LPCWSTR): HRESULT {.stdcall.} SetThumbnailClip*: proc(self: ptr ITaskbarList3, hwnd: HWND, prcClip: ptr RECT): HRESULT {.stdcall.} ITaskbarList4* {.pure.} = object lpVtbl*: ptr ITaskbarList4Vtbl ITaskbarList4Vtbl* {.pure, inheritable.} = object of ITaskbarList3Vtbl SetTabProperties*: proc(self: ptr ITaskbarList4, hwndTab: HWND, stpFlags: STPFLAG): HRESULT {.stdcall.} IStartMenuPinnedList* {.pure.} = object lpVtbl*: ptr IStartMenuPinnedListVtbl IStartMenuPinnedListVtbl* {.pure, inheritable.} = object of IUnknownVtbl RemoveFromList*: proc(self: ptr IStartMenuPinnedList, pitem: ptr IShellItem): HRESULT {.stdcall.} ICDBurn* {.pure.} = object lpVtbl*: ptr ICDBurnVtbl ICDBurnVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetRecorderDriveLetter*: proc(self: ptr ICDBurn, pszDrive: LPWSTR, cch: UINT): HRESULT {.stdcall.} Burn*: proc(self: ptr ICDBurn, hwnd: HWND): HRESULT {.stdcall.} HasRecordableDrive*: proc(self: ptr ICDBurn, pfHasRecorder: ptr WINBOOL): HRESULT {.stdcall.} IWizardSite* {.pure.} = object lpVtbl*: ptr IWizardSiteVtbl IWizardSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetPreviousPage*: proc(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.stdcall.} GetNextPage*: proc(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.stdcall.} GetCancelledPage*: proc(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.stdcall.} IWizardExtension* {.pure.} = object lpVtbl*: ptr IWizardExtensionVtbl IWizardExtensionVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddPages*: proc(self: ptr IWizardExtension, aPages: ptr HPROPSHEETPAGE, cPages: UINT, pnPagesAdded: ptr UINT): HRESULT {.stdcall.} GetFirstPage*: proc(self: ptr IWizardExtension, phpage: ptr HPROPSHEETPAGE): HRESULT {.stdcall.} GetLastPage*: proc(self: ptr IWizardExtension, phpage: ptr HPROPSHEETPAGE): HRESULT {.stdcall.} IWebWizardExtension* {.pure.} = object lpVtbl*: ptr IWebWizardExtensionVtbl IWebWizardExtensionVtbl* {.pure, inheritable.} = object of IWizardExtensionVtbl SetInitialURL*: proc(self: ptr IWebWizardExtension, pszURL: LPCWSTR): HRESULT {.stdcall.} SetErrorURL*: proc(self: ptr IWebWizardExtension, pszErrorURL: LPCWSTR): HRESULT {.stdcall.} IPublishingWizard* {.pure.} = object lpVtbl*: ptr IPublishingWizardVtbl IPublishingWizardVtbl* {.pure, inheritable.} = object of IWizardExtensionVtbl Initialize*: proc(self: ptr IPublishingWizard, pdo: ptr IDataObject, dwOptions: DWORD, pszServiceScope: LPCWSTR): HRESULT {.stdcall.} GetTransferManifest*: proc(self: ptr IPublishingWizard, phrFromTransfer: ptr HRESULT, pdocManifest: ptr ptr IXMLDOMDocument): HRESULT {.stdcall.} IFolderViewHost* {.pure.} = object lpVtbl*: ptr IFolderViewHostVtbl IFolderViewHostVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IFolderViewHost, hwndParent: HWND, pdo: ptr IDataObject, prc: ptr RECT): HRESULT {.stdcall.} IExplorerBrowserEvents* {.pure.} = object lpVtbl*: ptr IExplorerBrowserEventsVtbl IExplorerBrowserEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnNavigationPending*: proc(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} OnViewCreated*: proc(self: ptr IExplorerBrowserEvents, psv: ptr IShellView): HRESULT {.stdcall.} OnNavigationComplete*: proc(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} OnNavigationFailed*: proc(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} IExplorerBrowser* {.pure.} = object lpVtbl*: ptr IExplorerBrowserVtbl IExplorerBrowserVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IExplorerBrowser, hwndParent: HWND, prc: ptr RECT, pfs: ptr FOLDERSETTINGS): HRESULT {.stdcall.} Destroy*: proc(self: ptr IExplorerBrowser): HRESULT {.stdcall.} SetRect*: proc(self: ptr IExplorerBrowser, phdwp: ptr HDWP, rcBrowser: RECT): HRESULT {.stdcall.} SetPropertyBag*: proc(self: ptr IExplorerBrowser, pszPropertyBag: LPCWSTR): HRESULT {.stdcall.} SetEmptyText*: proc(self: ptr IExplorerBrowser, pszEmptyText: LPCWSTR): HRESULT {.stdcall.} SetFolderSettings*: proc(self: ptr IExplorerBrowser, pfs: ptr FOLDERSETTINGS): HRESULT {.stdcall.} Advise*: proc(self: ptr IExplorerBrowser, psbe: ptr IExplorerBrowserEvents, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IExplorerBrowser, dwCookie: DWORD): HRESULT {.stdcall.} SetOptions*: proc(self: ptr IExplorerBrowser, dwFlag: EXPLORER_BROWSER_OPTIONS): HRESULT {.stdcall.} GetOptions*: proc(self: ptr IExplorerBrowser, pdwFlag: ptr EXPLORER_BROWSER_OPTIONS): HRESULT {.stdcall.} BrowseToIDList*: proc(self: ptr IExplorerBrowser, pidl: PCUIDLIST_RELATIVE, uFlags: UINT): HRESULT {.stdcall.} BrowseToObject*: proc(self: ptr IExplorerBrowser, punk: ptr IUnknown, uFlags: UINT): HRESULT {.stdcall.} FillFromObject*: proc(self: ptr IExplorerBrowser, punk: ptr IUnknown, dwFlags: EXPLORER_BROWSER_FILL_FLAGS): HRESULT {.stdcall.} RemoveAll*: proc(self: ptr IExplorerBrowser): HRESULT {.stdcall.} GetCurrentView*: proc(self: ptr IExplorerBrowser, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IAccessibleObject* {.pure.} = object lpVtbl*: ptr IAccessibleObjectVtbl IAccessibleObjectVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAccessibleName*: proc(self: ptr IAccessibleObject, pszName: LPCWSTR): HRESULT {.stdcall.} IResultsFolder* {.pure.} = object lpVtbl*: ptr IResultsFolderVtbl IResultsFolderVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddItem*: proc(self: ptr IResultsFolder, psi: ptr IShellItem): HRESULT {.stdcall.} AddIDList*: proc(self: ptr IResultsFolder, pidl: PCIDLIST_ABSOLUTE, ppidlAdded: ptr PITEMID_CHILD): HRESULT {.stdcall.} RemoveItem*: proc(self: ptr IResultsFolder, psi: ptr IShellItem): HRESULT {.stdcall.} RemoveIDList*: proc(self: ptr IResultsFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} RemoveAll*: proc(self: ptr IResultsFolder): HRESULT {.stdcall.} IEnumObjects* {.pure.} = object lpVtbl*: ptr IEnumObjectsVtbl IEnumObjectsVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumObjects, celt: ULONG, riid: REFIID, rgelt: ptr pointer, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumObjects, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumObjects): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumObjects, ppenum: ptr ptr IEnumObjects): HRESULT {.stdcall.} IOperationsProgressDialog* {.pure.} = object lpVtbl*: ptr IOperationsProgressDialogVtbl IOperationsProgressDialogVtbl* {.pure, inheritable.} = object of IUnknownVtbl StartProgressDialog*: proc(self: ptr IOperationsProgressDialog, hwndOwner: HWND, flags: OPPROGDLGF): HRESULT {.stdcall.} StopProgressDialog*: proc(self: ptr IOperationsProgressDialog): HRESULT {.stdcall.} SetOperation*: proc(self: ptr IOperationsProgressDialog, action: SPACTION): HRESULT {.stdcall.} SetMode*: proc(self: ptr IOperationsProgressDialog, mode: PDMODE): HRESULT {.stdcall.} UpdateProgress*: proc(self: ptr IOperationsProgressDialog, ullPointsCurrent: ULONGLONG, ullPointsTotal: ULONGLONG, ullSizeCurrent: ULONGLONG, ullSizeTotal: ULONGLONG, ullItemsCurrent: ULONGLONG, ullItemsTotal: ULONGLONG): HRESULT {.stdcall.} UpdateLocations*: proc(self: ptr IOperationsProgressDialog, psiSource: ptr IShellItem, psiTarget: ptr IShellItem, psiItem: ptr IShellItem): HRESULT {.stdcall.} ResetTimer*: proc(self: ptr IOperationsProgressDialog): HRESULT {.stdcall.} PauseTimer*: proc(self: ptr IOperationsProgressDialog): HRESULT {.stdcall.} ResumeTimer*: proc(self: ptr IOperationsProgressDialog): HRESULT {.stdcall.} GetMilliseconds*: proc(self: ptr IOperationsProgressDialog, pullElapsed: ptr ULONGLONG, pullRemaining: ptr ULONGLONG): HRESULT {.stdcall.} GetOperationStatus*: proc(self: ptr IOperationsProgressDialog, popstatus: ptr PDOPSTATUS): HRESULT {.stdcall.} IIOCancelInformation* {.pure.} = object lpVtbl*: ptr IIOCancelInformationVtbl IIOCancelInformationVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetCancelInformation*: proc(self: ptr IIOCancelInformation, dwThreadID: DWORD, uMsgCancel: UINT): HRESULT {.stdcall.} GetCancelInformation*: proc(self: ptr IIOCancelInformation, pdwThreadID: ptr DWORD, puMsgCancel: ptr UINT): HRESULT {.stdcall.} IFileOperation* {.pure.} = object lpVtbl*: ptr IFileOperationVtbl IFileOperationVtbl* {.pure, inheritable.} = object of IUnknownVtbl Advise*: proc(self: ptr IFileOperation, pfops: ptr IFileOperationProgressSink, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IFileOperation, dwCookie: DWORD): HRESULT {.stdcall.} SetOperationFlags*: proc(self: ptr IFileOperation, dwOperationFlags: DWORD): HRESULT {.stdcall.} SetProgressMessage*: proc(self: ptr IFileOperation, pszMessage: LPCWSTR): HRESULT {.stdcall.} SetProgressDialog*: proc(self: ptr IFileOperation, popd: ptr IOperationsProgressDialog): HRESULT {.stdcall.} SetProperties*: proc(self: ptr IFileOperation, pproparray: ptr IPropertyChangeArray): HRESULT {.stdcall.} SetOwnerWindow*: proc(self: ptr IFileOperation, hwndOwner: HWND): HRESULT {.stdcall.} ApplyPropertiesToItem*: proc(self: ptr IFileOperation, psiItem: ptr IShellItem): HRESULT {.stdcall.} ApplyPropertiesToItems*: proc(self: ptr IFileOperation, punkItems: ptr IUnknown): HRESULT {.stdcall.} RenameItem*: proc(self: ptr IFileOperation, psiItem: ptr IShellItem, pszNewName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.stdcall.} RenameItems*: proc(self: ptr IFileOperation, pUnkItems: ptr IUnknown, pszNewName: LPCWSTR): HRESULT {.stdcall.} MoveItem*: proc(self: ptr IFileOperation, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.stdcall.} MoveItems*: proc(self: ptr IFileOperation, punkItems: ptr IUnknown, psiDestinationFolder: ptr IShellItem): HRESULT {.stdcall.} CopyItem*: proc(self: ptr IFileOperation, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszCopyName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.stdcall.} CopyItems*: proc(self: ptr IFileOperation, punkItems: ptr IUnknown, psiDestinationFolder: ptr IShellItem): HRESULT {.stdcall.} DeleteItem*: proc(self: ptr IFileOperation, psiItem: ptr IShellItem, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.stdcall.} DeleteItems*: proc(self: ptr IFileOperation, punkItems: ptr IUnknown): HRESULT {.stdcall.} NewItem*: proc(self: ptr IFileOperation, psiDestinationFolder: ptr IShellItem, dwFileAttributes: DWORD, pszName: LPCWSTR, pszTemplateName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.stdcall.} PerformOperations*: proc(self: ptr IFileOperation): HRESULT {.stdcall.} GetAnyOperationsAborted*: proc(self: ptr IFileOperation, pfAnyOperationsAborted: ptr WINBOOL): HRESULT {.stdcall.} IObjectProvider* {.pure.} = object lpVtbl*: ptr IObjectProviderVtbl IObjectProviderVtbl* {.pure, inheritable.} = object of IUnknownVtbl QueryObject*: proc(self: ptr IObjectProvider, guidObject: REFGUID, riid: REFIID, ppvOut: ptr pointer): HRESULT {.stdcall.} INamespaceWalkCB* {.pure.} = object lpVtbl*: ptr INamespaceWalkCBVtbl INamespaceWalkCBVtbl* {.pure, inheritable.} = object of IUnknownVtbl FoundItem*: proc(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.stdcall.} EnterFolder*: proc(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.stdcall.} LeaveFolder*: proc(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.stdcall.} InitializeProgressDialog*: proc(self: ptr INamespaceWalkCB, ppszTitle: ptr LPWSTR, ppszCancel: ptr LPWSTR): HRESULT {.stdcall.} INamespaceWalkCB2* {.pure.} = object lpVtbl*: ptr INamespaceWalkCB2Vtbl INamespaceWalkCB2Vtbl* {.pure, inheritable.} = object of INamespaceWalkCBVtbl WalkComplete*: proc(self: ptr INamespaceWalkCB2, hr: HRESULT): HRESULT {.stdcall.} INamespaceWalk* {.pure.} = object lpVtbl*: ptr INamespaceWalkVtbl INamespaceWalkVtbl* {.pure, inheritable.} = object of IUnknownVtbl Walk*: proc(self: ptr INamespaceWalk, punkToWalk: ptr IUnknown, dwFlags: DWORD, cDepth: int32, pnswcb: ptr INamespaceWalkCB): HRESULT {.stdcall.} GetIDArrayResult*: proc(self: ptr INamespaceWalk, pcItems: ptr UINT, prgpidl: ptr ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} IAutoCompleteDropDown* {.pure.} = object lpVtbl*: ptr IAutoCompleteDropDownVtbl IAutoCompleteDropDownVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDropDownStatus*: proc(self: ptr IAutoCompleteDropDown, pdwFlags: ptr DWORD, ppwszString: ptr LPWSTR): HRESULT {.stdcall.} ResetEnumerator*: proc(self: ptr IAutoCompleteDropDown): HRESULT {.stdcall.} IBandSite* {.pure.} = object lpVtbl*: ptr IBandSiteVtbl IBandSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl AddBand*: proc(self: ptr IBandSite, punk: ptr IUnknown): HRESULT {.stdcall.} EnumBands*: proc(self: ptr IBandSite, uBand: UINT, pdwBandID: ptr DWORD): HRESULT {.stdcall.} QueryBand*: proc(self: ptr IBandSite, dwBandID: DWORD, ppstb: ptr ptr IDeskBand, pdwState: ptr DWORD, pszName: LPWSTR, cchName: int32): HRESULT {.stdcall.} SetBandState*: proc(self: ptr IBandSite, dwBandID: DWORD, dwMask: DWORD, dwState: DWORD): HRESULT {.stdcall.} RemoveBand*: proc(self: ptr IBandSite, dwBandID: DWORD): HRESULT {.stdcall.} GetBandObject*: proc(self: ptr IBandSite, dwBandID: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} SetBandSiteInfo*: proc(self: ptr IBandSite, pbsinfo: ptr BANDSITEINFO): HRESULT {.stdcall.} GetBandSiteInfo*: proc(self: ptr IBandSite, pbsinfo: ptr BANDSITEINFO): HRESULT {.stdcall.} IModalWindow* {.pure.} = object lpVtbl*: ptr IModalWindowVtbl IModalWindowVtbl* {.pure, inheritable.} = object of IUnknownVtbl Show*: proc(self: ptr IModalWindow, hwndOwner: HWND): HRESULT {.stdcall.} ICDBurnExt* {.pure.} = object lpVtbl*: ptr ICDBurnExtVtbl ICDBurnExtVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetSupportedActionTypes*: proc(self: ptr ICDBurnExt, pdwActions: ptr CDBE_ACTIONS): HRESULT {.stdcall.} IContextMenuSite* {.pure.} = object lpVtbl*: ptr IContextMenuSiteVtbl IContextMenuSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl DoContextMenuPopup*: proc(self: ptr IContextMenuSite, punkContextMenu: ptr IUnknown, fFlags: UINT, pt: POINT): HRESULT {.stdcall.} IEnumReadyCallback* {.pure.} = object lpVtbl*: ptr IEnumReadyCallbackVtbl IEnumReadyCallbackVtbl* {.pure, inheritable.} = object of IUnknownVtbl EnumReady*: proc(self: ptr IEnumReadyCallback): HRESULT {.stdcall.} IEnumerableView* {.pure.} = object lpVtbl*: ptr IEnumerableViewVtbl IEnumerableViewVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetEnumReadyCallback*: proc(self: ptr IEnumerableView, percb: ptr IEnumReadyCallback): HRESULT {.stdcall.} CreateEnumIDListFromContents*: proc(self: ptr IEnumerableView, pidlFolder: PCIDLIST_ABSOLUTE, dwEnumFlags: DWORD, ppEnumIDList: ptr ptr IEnumIDList): HRESULT {.stdcall.} IInsertItem* {.pure.} = object lpVtbl*: ptr IInsertItemVtbl IInsertItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl InsertItem*: proc(self: ptr IInsertItem, pidl: PCUIDLIST_RELATIVE): HRESULT {.stdcall.} IMenuBand* {.pure.} = object lpVtbl*: ptr IMenuBandVtbl IMenuBandVtbl* {.pure, inheritable.} = object of IUnknownVtbl IsMenuMessage*: proc(self: ptr IMenuBand, pmsg: ptr MSG): HRESULT {.stdcall.} TranslateMenuMessage*: proc(self: ptr IMenuBand, pmsg: ptr MSG, plRet: ptr LRESULT): HRESULT {.stdcall.} IFolderBandPriv* {.pure.} = object lpVtbl*: ptr IFolderBandPrivVtbl IFolderBandPrivVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetCascade*: proc(self: ptr IFolderBandPriv, fCascade: WINBOOL): HRESULT {.stdcall.} SetAccelerators*: proc(self: ptr IFolderBandPriv, fAccelerators: WINBOOL): HRESULT {.stdcall.} SetNoIcons*: proc(self: ptr IFolderBandPriv, fNoIcons: WINBOOL): HRESULT {.stdcall.} SetNoText*: proc(self: ptr IFolderBandPriv, fNoText: WINBOOL): HRESULT {.stdcall.} IRegTreeItem* {.pure.} = object lpVtbl*: ptr IRegTreeItemVtbl IRegTreeItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCheckState*: proc(self: ptr IRegTreeItem, pbCheck: ptr WINBOOL): HRESULT {.stdcall.} SetCheckState*: proc(self: ptr IRegTreeItem, bCheck: WINBOOL): HRESULT {.stdcall.} IImageRecompress* {.pure.} = object lpVtbl*: ptr IImageRecompressVtbl IImageRecompressVtbl* {.pure, inheritable.} = object of IUnknownVtbl RecompressImage*: proc(self: ptr IImageRecompress, psi: ptr IShellItem, cx: int32, cy: int32, iQuality: int32, pstg: ptr IStorage, ppstrmOut: ptr ptr IStream): HRESULT {.stdcall.} IDeskBar* {.pure.} = object lpVtbl*: ptr IDeskBarVtbl IDeskBarVtbl* {.pure, inheritable.} = object of IOleWindowVtbl SetClient*: proc(self: ptr IDeskBar, punkClient: ptr IUnknown): HRESULT {.stdcall.} GetClient*: proc(self: ptr IDeskBar, ppunkClient: ptr ptr IUnknown): HRESULT {.stdcall.} OnPosRectChangeDB*: proc(self: ptr IDeskBar, prc: ptr RECT): HRESULT {.stdcall.} IMenuPopup* {.pure.} = object lpVtbl*: ptr IMenuPopupVtbl IMenuPopupVtbl* {.pure, inheritable.} = object of IDeskBarVtbl Popup*: proc(self: ptr IMenuPopup, ppt: ptr POINTL, prcExclude: ptr RECTL, dwFlags: MP_POPUPFLAGS): HRESULT {.stdcall.} OnSelect*: proc(self: ptr IMenuPopup, dwSelectType: DWORD): HRESULT {.stdcall.} SetSubMenu*: proc(self: ptr IMenuPopup, pmp: ptr IMenuPopup, fSet: WINBOOL): HRESULT {.stdcall.} IFileIsInUse* {.pure.} = object lpVtbl*: ptr IFileIsInUseVtbl IFileIsInUseVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetAppName*: proc(self: ptr IFileIsInUse, ppszName: ptr LPWSTR): HRESULT {.stdcall.} GetUsage*: proc(self: ptr IFileIsInUse, pfut: ptr FILE_USAGE_TYPE): HRESULT {.stdcall.} GetCapabilities*: proc(self: ptr IFileIsInUse, pdwCapFlags: ptr DWORD): HRESULT {.stdcall.} GetSwitchToHWND*: proc(self: ptr IFileIsInUse, phwnd: ptr HWND): HRESULT {.stdcall.} CloseFile*: proc(self: ptr IFileIsInUse): HRESULT {.stdcall.} IShellItemFilter* {.pure.} = object lpVtbl*: ptr IShellItemFilterVtbl IShellItemFilterVtbl* {.pure, inheritable.} = object of IUnknownVtbl IncludeItem*: proc(self: ptr IShellItemFilter, psi: ptr IShellItem): HRESULT {.stdcall.} GetEnumFlagsForItem*: proc(self: ptr IShellItemFilter, psi: ptr IShellItem, pgrfFlags: ptr SHCONTF): HRESULT {.stdcall.} IFileDialog* {.pure.} = object lpVtbl*: ptr IFileDialogVtbl IFileDialogVtbl* {.pure, inheritable.} = object of IModalWindowVtbl SetFileTypes*: proc(self: ptr IFileDialog, cFileTypes: UINT, rgFilterSpec: ptr COMDLG_FILTERSPEC): HRESULT {.stdcall.} SetFileTypeIndex*: proc(self: ptr IFileDialog, iFileType: UINT): HRESULT {.stdcall.} GetFileTypeIndex*: proc(self: ptr IFileDialog, piFileType: ptr UINT): HRESULT {.stdcall.} Advise*: proc(self: ptr IFileDialog, pfde: ptr IFileDialogEvents, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IFileDialog, dwCookie: DWORD): HRESULT {.stdcall.} SetOptions*: proc(self: ptr IFileDialog, fos: FILEOPENDIALOGOPTIONS): HRESULT {.stdcall.} GetOptions*: proc(self: ptr IFileDialog, pfos: ptr FILEOPENDIALOGOPTIONS): HRESULT {.stdcall.} SetDefaultFolder*: proc(self: ptr IFileDialog, psi: ptr IShellItem): HRESULT {.stdcall.} SetFolder*: proc(self: ptr IFileDialog, psi: ptr IShellItem): HRESULT {.stdcall.} GetFolder*: proc(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} GetCurrentSelection*: proc(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} SetFileName*: proc(self: ptr IFileDialog, pszName: LPCWSTR): HRESULT {.stdcall.} GetFileName*: proc(self: ptr IFileDialog, pszName: ptr LPWSTR): HRESULT {.stdcall.} SetTitle*: proc(self: ptr IFileDialog, pszTitle: LPCWSTR): HRESULT {.stdcall.} SetOkButtonLabel*: proc(self: ptr IFileDialog, pszText: LPCWSTR): HRESULT {.stdcall.} SetFileNameLabel*: proc(self: ptr IFileDialog, pszLabel: LPCWSTR): HRESULT {.stdcall.} GetResult*: proc(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} AddPlace*: proc(self: ptr IFileDialog, psi: ptr IShellItem, fdap: FDAP): HRESULT {.stdcall.} SetDefaultExtension*: proc(self: ptr IFileDialog, pszDefaultExtension: LPCWSTR): HRESULT {.stdcall.} Close*: proc(self: ptr IFileDialog, hr: HRESULT): HRESULT {.stdcall.} SetClientGuid*: proc(self: ptr IFileDialog, guid: REFGUID): HRESULT {.stdcall.} ClearClientData*: proc(self: ptr IFileDialog): HRESULT {.stdcall.} SetFilter*: proc(self: ptr IFileDialog, pFilter: ptr IShellItemFilter): HRESULT {.stdcall.} IFileDialogEvents* {.pure.} = object lpVtbl*: ptr IFileDialogEventsVtbl IFileDialogEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnFileOk*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.stdcall.} OnFolderChanging*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psiFolder: ptr IShellItem): HRESULT {.stdcall.} OnFolderChange*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.stdcall.} OnSelectionChange*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.stdcall.} OnShareViolation*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psi: ptr IShellItem, pResponse: ptr FDE_SHAREVIOLATION_RESPONSE): HRESULT {.stdcall.} OnTypeChange*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.stdcall.} OnOverwrite*: proc(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psi: ptr IShellItem, pResponse: ptr FDE_OVERWRITE_RESPONSE): HRESULT {.stdcall.} IFileSaveDialog* {.pure.} = object lpVtbl*: ptr IFileSaveDialogVtbl IFileSaveDialogVtbl* {.pure, inheritable.} = object of IFileDialogVtbl SetSaveAsItem*: proc(self: ptr IFileSaveDialog, psi: ptr IShellItem): HRESULT {.stdcall.} SetProperties*: proc(self: ptr IFileSaveDialog, pStore: ptr IPropertyStore): HRESULT {.stdcall.} SetCollectedProperties*: proc(self: ptr IFileSaveDialog, pList: ptr IPropertyDescriptionList, fAppendDefault: WINBOOL): HRESULT {.stdcall.} GetProperties*: proc(self: ptr IFileSaveDialog, ppStore: ptr ptr IPropertyStore): HRESULT {.stdcall.} ApplyProperties*: proc(self: ptr IFileSaveDialog, psi: ptr IShellItem, pStore: ptr IPropertyStore, hwnd: HWND, pSink: ptr IFileOperationProgressSink): HRESULT {.stdcall.} IFileOpenDialog* {.pure.} = object lpVtbl*: ptr IFileOpenDialogVtbl IFileOpenDialogVtbl* {.pure, inheritable.} = object of IFileDialogVtbl GetResults*: proc(self: ptr IFileOpenDialog, ppenum: ptr ptr IShellItemArray): HRESULT {.stdcall.} GetSelectedItems*: proc(self: ptr IFileOpenDialog, ppsai: ptr ptr IShellItemArray): HRESULT {.stdcall.} IFileDialogCustomize* {.pure.} = object lpVtbl*: ptr IFileDialogCustomizeVtbl IFileDialogCustomizeVtbl* {.pure, inheritable.} = object of IUnknownVtbl EnableOpenDropDown*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} AddMenu*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} AddPushButton*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} AddComboBox*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} AddRadioButtonList*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} AddCheckButton*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR, bChecked: WINBOOL): HRESULT {.stdcall.} AddEditBox*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.stdcall.} AddSeparator*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} AddText*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.stdcall.} SetControlLabel*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} GetControlState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pdwState: ptr CDCONTROLSTATEF): HRESULT {.stdcall.} SetControlState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwState: CDCONTROLSTATEF): HRESULT {.stdcall.} GetEditBoxText*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, ppszText: ptr ptr WCHAR): HRESULT {.stdcall.} SetEditBoxText*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.stdcall.} GetCheckButtonState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pbChecked: ptr WINBOOL): HRESULT {.stdcall.} SetCheckButtonState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, bChecked: WINBOOL): HRESULT {.stdcall.} AddControlItem*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} RemoveControlItem*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.stdcall.} RemoveAllControlItems*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} GetControlItemState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pdwState: ptr CDCONTROLSTATEF): HRESULT {.stdcall.} SetControlItemState*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, dwState: CDCONTROLSTATEF): HRESULT {.stdcall.} GetSelectedControlItem*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pdwIDItem: ptr DWORD): HRESULT {.stdcall.} SetSelectedControlItem*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.stdcall.} StartVisualGroup*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} EndVisualGroup*: proc(self: ptr IFileDialogCustomize): HRESULT {.stdcall.} MakeProminent*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} SetControlItemText*: proc(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pszLabel: LPCWSTR): HRESULT {.stdcall.} IFileDialogControlEvents* {.pure.} = object lpVtbl*: ptr IFileDialogControlEventsVtbl IFileDialogControlEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnItemSelected*: proc(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.stdcall.} OnButtonClicked*: proc(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} OnCheckButtonToggled*: proc(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD, bChecked: WINBOOL): HRESULT {.stdcall.} OnControlActivating*: proc(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.stdcall.} IFileDialog2* {.pure.} = object lpVtbl*: ptr IFileDialog2Vtbl IFileDialog2Vtbl* {.pure, inheritable.} = object of IFileDialogVtbl SetCancelButtonLabel*: proc(self: ptr IFileDialog2, pszLabel: LPCWSTR): HRESULT {.stdcall.} SetNavigationRoot*: proc(self: ptr IFileDialog2, psi: ptr IShellItem): HRESULT {.stdcall.} IApplicationAssociationRegistration* {.pure.} = object lpVtbl*: ptr IApplicationAssociationRegistrationVtbl IApplicationAssociationRegistrationVtbl* {.pure, inheritable.} = object of IUnknownVtbl QueryCurrentDefault*: proc(self: ptr IApplicationAssociationRegistration, pszQuery: LPCWSTR, atQueryType: ASSOCIATIONTYPE, alQueryLevel: ASSOCIATIONLEVEL, ppszAssociation: ptr LPWSTR): HRESULT {.stdcall.} QueryAppIsDefault*: proc(self: ptr IApplicationAssociationRegistration, pszQuery: LPCWSTR, atQueryType: ASSOCIATIONTYPE, alQueryLevel: ASSOCIATIONLEVEL, pszAppRegistryName: LPCWSTR, pfDefault: ptr WINBOOL): HRESULT {.stdcall.} QueryAppIsDefaultAll*: proc(self: ptr IApplicationAssociationRegistration, alQueryLevel: ASSOCIATIONLEVEL, pszAppRegistryName: LPCWSTR, pfDefault: ptr WINBOOL): HRESULT {.stdcall.} SetAppAsDefault*: proc(self: ptr IApplicationAssociationRegistration, pszAppRegistryName: LPCWSTR, pszSet: LPCWSTR, atSetType: ASSOCIATIONTYPE): HRESULT {.stdcall.} SetAppAsDefaultAll*: proc(self: ptr IApplicationAssociationRegistration, pszAppRegistryName: LPCWSTR): HRESULT {.stdcall.} ClearUserAssociations*: proc(self: ptr IApplicationAssociationRegistration): HRESULT {.stdcall.} IApplicationAssociationRegistrationUI* {.pure.} = object lpVtbl*: ptr IApplicationAssociationRegistrationUIVtbl IApplicationAssociationRegistrationUIVtbl* {.pure, inheritable.} = object of IUnknownVtbl LaunchAdvancedAssociationUI*: proc(self: ptr IApplicationAssociationRegistrationUI, pszAppRegistryName: LPCWSTR): HRESULT {.stdcall.} IDelegateFolder* {.pure.} = object lpVtbl*: ptr IDelegateFolderVtbl IDelegateFolderVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetItemAlloc*: proc(self: ptr IDelegateFolder, pmalloc: ptr IMalloc): HRESULT {.stdcall.} INewWindowManager* {.pure.} = object lpVtbl*: ptr INewWindowManagerVtbl INewWindowManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl EvaluateNewWindow*: proc(self: ptr INewWindowManager, pszUrl: LPCWSTR, pszName: LPCWSTR, pszUrlContext: LPCWSTR, pszFeatures: LPCWSTR, fReplace: WINBOOL, dwFlags: DWORD, dwUserActionTime: DWORD): HRESULT {.stdcall.} IAttachmentExecute* {.pure.} = object lpVtbl*: ptr IAttachmentExecuteVtbl IAttachmentExecuteVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetClientTitle*: proc(self: ptr IAttachmentExecute, pszTitle: LPCWSTR): HRESULT {.stdcall.} SetClientGuid*: proc(self: ptr IAttachmentExecute, guid: REFGUID): HRESULT {.stdcall.} SetLocalPath*: proc(self: ptr IAttachmentExecute, pszLocalPath: LPCWSTR): HRESULT {.stdcall.} SetFileName*: proc(self: ptr IAttachmentExecute, pszFileName: LPCWSTR): HRESULT {.stdcall.} SetSource*: proc(self: ptr IAttachmentExecute, pszSource: LPCWSTR): HRESULT {.stdcall.} SetReferrer*: proc(self: ptr IAttachmentExecute, pszReferrer: LPCWSTR): HRESULT {.stdcall.} CheckPolicy*: proc(self: ptr IAttachmentExecute): HRESULT {.stdcall.} Prompt*: proc(self: ptr IAttachmentExecute, hwnd: HWND, prompt: ATTACHMENT_PROMPT, paction: ptr ATTACHMENT_ACTION): HRESULT {.stdcall.} Save*: proc(self: ptr IAttachmentExecute): HRESULT {.stdcall.} Execute*: proc(self: ptr IAttachmentExecute, hwnd: HWND, pszVerb: LPCWSTR, phProcess: ptr HANDLE): HRESULT {.stdcall.} SaveWithUI*: proc(self: ptr IAttachmentExecute, hwnd: HWND): HRESULT {.stdcall.} ClearClientState*: proc(self: ptr IAttachmentExecute): HRESULT {.stdcall.} IShellMenuCallback* {.pure.} = object lpVtbl*: ptr IShellMenuCallbackVtbl IShellMenuCallbackVtbl* {.pure, inheritable.} = object of IUnknownVtbl CallbackSM*: proc(self: ptr IShellMenuCallback, psmd: LPSMDATA, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} IShellMenu* {.pure.} = object lpVtbl*: ptr IShellMenuVtbl IShellMenuVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IShellMenu, psmc: ptr IShellMenuCallback, uId: UINT, uIdAncestor: UINT, dwFlags: DWORD): HRESULT {.stdcall.} GetMenuInfo*: proc(self: ptr IShellMenu, ppsmc: ptr ptr IShellMenuCallback, puId: ptr UINT, puIdAncestor: ptr UINT, pdwFlags: ptr DWORD): HRESULT {.stdcall.} SetShellFolder*: proc(self: ptr IShellMenu, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, hKey: HKEY, dwFlags: DWORD): HRESULT {.stdcall.} GetShellFolder*: proc(self: ptr IShellMenu, pdwFlags: ptr DWORD, ppidl: ptr PIDLIST_ABSOLUTE, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} SetMenu*: proc(self: ptr IShellMenu, hmenu: HMENU, hwnd: HWND, dwFlags: DWORD): HRESULT {.stdcall.} GetMenu*: proc(self: ptr IShellMenu, phmenu: ptr HMENU, phwnd: ptr HWND, pdwFlags: ptr DWORD): HRESULT {.stdcall.} InvalidateItem*: proc(self: ptr IShellMenu, psmd: LPSMDATA, dwFlags: DWORD): HRESULT {.stdcall.} GetState*: proc(self: ptr IShellMenu, psmd: LPSMDATA): HRESULT {.stdcall.} SetMenuToolbar*: proc(self: ptr IShellMenu, punk: ptr IUnknown, dwFlags: DWORD): HRESULT {.stdcall.} IShellRunDll* {.pure.} = object lpVtbl*: ptr IShellRunDllVtbl IShellRunDllVtbl* {.pure, inheritable.} = object of IUnknownVtbl Run*: proc(self: ptr IShellRunDll, pszArgs: LPCWSTR): HRESULT {.stdcall.} IKnownFolder* {.pure.} = object lpVtbl*: ptr IKnownFolderVtbl IKnownFolderVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetId*: proc(self: ptr IKnownFolder, pkfid: ptr KNOWNFOLDERID): HRESULT {.stdcall.} GetCategory*: proc(self: ptr IKnownFolder, pCategory: ptr KF_CATEGORY): HRESULT {.stdcall.} GetShellItem*: proc(self: ptr IKnownFolder, dwFlags: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetPath*: proc(self: ptr IKnownFolder, dwFlags: DWORD, ppszPath: ptr LPWSTR): HRESULT {.stdcall.} SetPath*: proc(self: ptr IKnownFolder, dwFlags: DWORD, pszPath: LPCWSTR): HRESULT {.stdcall.} GetIDList*: proc(self: ptr IKnownFolder, dwFlags: DWORD, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} GetFolderType*: proc(self: ptr IKnownFolder, pftid: ptr FOLDERTYPEID): HRESULT {.stdcall.} GetRedirectionCapabilities*: proc(self: ptr IKnownFolder, pCapabilities: ptr KF_REDIRECTION_CAPABILITIES): HRESULT {.stdcall.} GetFolderDefinition*: proc(self: ptr IKnownFolder, pKFD: ptr KNOWNFOLDER_DEFINITION): HRESULT {.stdcall.} IKnownFolderManager* {.pure.} = object lpVtbl*: ptr IKnownFolderManagerVtbl IKnownFolderManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl FolderIdFromCsidl*: proc(self: ptr IKnownFolderManager, nCsidl: int32, pfid: ptr KNOWNFOLDERID): HRESULT {.stdcall.} FolderIdToCsidl*: proc(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, pnCsidl: ptr int32): HRESULT {.stdcall.} GetFolderIds*: proc(self: ptr IKnownFolderManager, ppKFId: ptr ptr KNOWNFOLDERID, pCount: ptr UINT): HRESULT {.stdcall.} GetFolder*: proc(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, ppkf: ptr ptr IKnownFolder): HRESULT {.stdcall.} GetFolderByName*: proc(self: ptr IKnownFolderManager, pszCanonicalName: LPCWSTR, ppkf: ptr ptr IKnownFolder): HRESULT {.stdcall.} RegisterFolder*: proc(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, pKFD: ptr KNOWNFOLDER_DEFINITION): HRESULT {.stdcall.} UnregisterFolder*: proc(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID): HRESULT {.stdcall.} FindFolderFromPath*: proc(self: ptr IKnownFolderManager, pszPath: LPCWSTR, mode: FFFP_MODE, ppkf: ptr ptr IKnownFolder): HRESULT {.stdcall.} FindFolderFromIDList*: proc(self: ptr IKnownFolderManager, pidl: PCIDLIST_ABSOLUTE, ppkf: ptr ptr IKnownFolder): HRESULT {.stdcall.} Redirect*: proc(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, hwnd: HWND, flags: KF_REDIRECT_FLAGS, pszTargetPath: LPCWSTR, cFolders: UINT, pExclusion: ptr KNOWNFOLDERID, ppszError: ptr LPWSTR): HRESULT {.stdcall.} ISharingConfigurationManager* {.pure.} = object lpVtbl*: ptr ISharingConfigurationManagerVtbl ISharingConfigurationManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl CreateShare*: proc(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID, role: SHARE_ROLE): HRESULT {.stdcall.} DeleteShare*: proc(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID): HRESULT {.stdcall.} ShareExists*: proc(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID): HRESULT {.stdcall.} GetSharePermissions*: proc(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID, pRole: ptr SHARE_ROLE): HRESULT {.stdcall.} SharePrinters*: proc(self: ptr ISharingConfigurationManager): HRESULT {.stdcall.} StopSharingPrinters*: proc(self: ptr ISharingConfigurationManager): HRESULT {.stdcall.} ArePrintersShared*: proc(self: ptr ISharingConfigurationManager): HRESULT {.stdcall.} IPreviousVersionsInfo* {.pure.} = object lpVtbl*: ptr IPreviousVersionsInfoVtbl IPreviousVersionsInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl AreSnapshotsAvailable*: proc(self: ptr IPreviousVersionsInfo, pszPath: LPCWSTR, fOkToBeSlow: WINBOOL, pfAvailable: ptr WINBOOL): HRESULT {.stdcall.} IRelatedItem* {.pure.} = object lpVtbl*: ptr IRelatedItemVtbl IRelatedItemVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetItemIDList*: proc(self: ptr IRelatedItem, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.stdcall.} GetItem*: proc(self: ptr IRelatedItem, ppsi: ptr ptr IShellItem): HRESULT {.stdcall.} IIdentityName* {.pure.} = object lpVtbl*: ptr IIdentityNameVtbl IIdentityNameVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IDelegateItem* {.pure.} = object lpVtbl*: ptr IDelegateItemVtbl IDelegateItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl ICurrentItem* {.pure.} = object lpVtbl*: ptr ICurrentItemVtbl ICurrentItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl ITransferMediumItem* {.pure.} = object lpVtbl*: ptr ITransferMediumItemVtbl ITransferMediumItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IUseToBrowseItem* {.pure.} = object lpVtbl*: ptr IUseToBrowseItemVtbl IUseToBrowseItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IDisplayItem* {.pure.} = object lpVtbl*: ptr IDisplayItemVtbl IDisplayItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IViewStateIdentityItem* {.pure.} = object lpVtbl*: ptr IViewStateIdentityItemVtbl IViewStateIdentityItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IPreviewItem* {.pure.} = object lpVtbl*: ptr IPreviewItemVtbl IPreviewItemVtbl* {.pure, inheritable.} = object of IRelatedItemVtbl IDestinationStreamFactory* {.pure.} = object lpVtbl*: ptr IDestinationStreamFactoryVtbl IDestinationStreamFactoryVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDestinationStream*: proc(self: ptr IDestinationStreamFactory, ppstm: ptr ptr IStream): HRESULT {.stdcall.} INewMenuClient* {.pure.} = object lpVtbl*: ptr INewMenuClientVtbl INewMenuClientVtbl* {.pure, inheritable.} = object of IUnknownVtbl IncludeItems*: proc(self: ptr INewMenuClient, pflags: ptr NMCII_FLAGS): HRESULT {.stdcall.} SelectAndEditItem*: proc(self: ptr INewMenuClient, pidlItem: PCIDLIST_ABSOLUTE, flags: NMCSAEI_FLAGS): HRESULT {.stdcall.} IInitializeWithBindCtx* {.pure.} = object lpVtbl*: ptr IInitializeWithBindCtxVtbl IInitializeWithBindCtxVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeWithBindCtx, pbc: ptr IBindCtx): HRESULT {.stdcall.} INameSpaceTreeControl* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControlVtbl INameSpaceTreeControlVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr INameSpaceTreeControl, hwndParent: HWND, prc: ptr RECT, nsctsFlags: NSTCSTYLE): HRESULT {.stdcall.} TreeAdvise*: proc(self: ptr INameSpaceTreeControl, punk: ptr IUnknown, pdwCookie: ptr DWORD): HRESULT {.stdcall.} TreeUnadvise*: proc(self: ptr INameSpaceTreeControl, dwCookie: DWORD): HRESULT {.stdcall.} AppendRoot*: proc(self: ptr INameSpaceTreeControl, psiRoot: ptr IShellItem, grfEnumFlags: SHCONTF, grfRootStyle: NSTCROOTSTYLE, pif: ptr IShellItemFilter): HRESULT {.stdcall.} InsertRoot*: proc(self: ptr INameSpaceTreeControl, iIndex: int32, psiRoot: ptr IShellItem, grfEnumFlags: SHCONTF, grfRootStyle: NSTCROOTSTYLE, pif: ptr IShellItemFilter): HRESULT {.stdcall.} RemoveRoot*: proc(self: ptr INameSpaceTreeControl, psiRoot: ptr IShellItem): HRESULT {.stdcall.} RemoveAllRoots*: proc(self: ptr INameSpaceTreeControl): HRESULT {.stdcall.} GetRootItems*: proc(self: ptr INameSpaceTreeControl, ppsiaRootItems: ptr ptr IShellItemArray): HRESULT {.stdcall.} SetItemState*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisFlags: NSTCITEMSTATE): HRESULT {.stdcall.} GetItemState*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, pnstcisFlags: ptr NSTCITEMSTATE): HRESULT {.stdcall.} GetSelectedItems*: proc(self: ptr INameSpaceTreeControl, psiaItems: ptr ptr IShellItemArray): HRESULT {.stdcall.} GetItemCustomState*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, piStateNumber: ptr int32): HRESULT {.stdcall.} SetItemCustomState*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, iStateNumber: int32): HRESULT {.stdcall.} EnsureItemVisible*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem): HRESULT {.stdcall.} SetTheme*: proc(self: ptr INameSpaceTreeControl, pszTheme: LPCWSTR): HRESULT {.stdcall.} GetNextItem*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcgi: NSTCGNI, ppsiNext: ptr ptr IShellItem): HRESULT {.stdcall.} HitTest*: proc(self: ptr INameSpaceTreeControl, ppt: ptr POINT, ppsiOut: ptr ptr IShellItem): HRESULT {.stdcall.} GetItemRect*: proc(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, prect: ptr RECT): HRESULT {.stdcall.} CollapseAll*: proc(self: ptr INameSpaceTreeControl): HRESULT {.stdcall.} INameSpaceTreeControl2* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControl2Vtbl INameSpaceTreeControl2Vtbl* {.pure, inheritable.} = object of INameSpaceTreeControlVtbl SetControlStyle*: proc(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE, nstcsStyle: NSTCSTYLE): HRESULT {.stdcall.} GetControlStyle*: proc(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE, pnstcsStyle: ptr NSTCSTYLE): HRESULT {.stdcall.} SetControlStyle2*: proc(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE2, nstcsStyle: NSTCSTYLE2): HRESULT {.stdcall.} GetControlStyle2*: proc(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE2, pnstcsStyle: ptr NSTCSTYLE2): HRESULT {.stdcall.} INameSpaceTreeControlEvents* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControlEventsVtbl INameSpaceTreeControlEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnItemClick*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstceHitTest: NSTCEHITTEST, nstceClickType: NSTCECLICKTYPE): HRESULT {.stdcall.} OnPropertyItemCommit*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnItemStateChanging*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisState: NSTCITEMSTATE): HRESULT {.stdcall.} OnItemStateChanged*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisState: NSTCITEMSTATE): HRESULT {.stdcall.} OnSelectionChanged*: proc(self: ptr INameSpaceTreeControlEvents, psiaSelection: ptr IShellItemArray): HRESULT {.stdcall.} OnKeyboardInput*: proc(self: ptr INameSpaceTreeControlEvents, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.stdcall.} OnBeforeExpand*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnAfterExpand*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnBeginLabelEdit*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnEndLabelEdit*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnGetToolTip*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, pszTip: LPWSTR, cchTip: int32): HRESULT {.stdcall.} OnBeforeItemDelete*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnItemAdded*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, fIsRoot: WINBOOL): HRESULT {.stdcall.} OnItemDeleted*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, fIsRoot: WINBOOL): HRESULT {.stdcall.} OnBeforeContextMenu*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} OnAfterContextMenu*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, pcmIn: ptr IContextMenu, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} OnBeforeStateImageChange*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.stdcall.} OnGetDefaultIconIndex*: proc(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, piDefaultIcon: ptr int32, piOpenIcon: ptr int32): HRESULT {.stdcall.} INameSpaceTreeControlDropHandler* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControlDropHandlerVtbl INameSpaceTreeControlDropHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnDragEnter*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, fOutsideSource: WINBOOL, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.stdcall.} OnDragOver*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.stdcall.} OnDragPosition*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iNewPosition: int32, iOldPosition: int32): HRESULT {.stdcall.} OnDrop*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iPosition: int32, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.stdcall.} OnDropPosition*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iNewPosition: int32, iOldPosition: int32): HRESULT {.stdcall.} OnDragLeave*: proc(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem): HRESULT {.stdcall.} INameSpaceTreeAccessible* {.pure.} = object lpVtbl*: ptr INameSpaceTreeAccessibleVtbl INameSpaceTreeAccessibleVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnGetDefaultAccessibilityAction*: proc(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem, pbstrDefaultAction: ptr BSTR): HRESULT {.stdcall.} OnDoDefaultAccessibilityAction*: proc(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem): HRESULT {.stdcall.} OnGetAccessibilityRole*: proc(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem, pvarRole: ptr VARIANT): HRESULT {.stdcall.} INameSpaceTreeControlCustomDraw* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControlCustomDrawVtbl INameSpaceTreeControlCustomDrawVtbl* {.pure, inheritable.} = object of IUnknownVtbl PrePaint*: proc(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, plres: ptr LRESULT): HRESULT {.stdcall.} PostPaint*: proc(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT): HRESULT {.stdcall.} ItemPrePaint*: proc(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, pnstccdItem: ptr NSTCCUSTOMDRAW, pclrText: ptr COLORREF, pclrTextBk: ptr COLORREF, plres: ptr LRESULT): HRESULT {.stdcall.} ItemPostPaint*: proc(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, pnstccdItem: ptr NSTCCUSTOMDRAW): HRESULT {.stdcall.} INameSpaceTreeControlFolderCapabilities* {.pure.} = object lpVtbl*: ptr INameSpaceTreeControlFolderCapabilitiesVtbl INameSpaceTreeControlFolderCapabilitiesVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetFolderCapabilities*: proc(self: ptr INameSpaceTreeControlFolderCapabilities, nfcMask: NSTCFOLDERCAPABILITIES, pnfcValue: ptr NSTCFOLDERCAPABILITIES): HRESULT {.stdcall.} IPreviewHandler* {.pure.} = object lpVtbl*: ptr IPreviewHandlerVtbl IPreviewHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetWindow*: proc(self: ptr IPreviewHandler, hwnd: HWND, prc: ptr RECT): HRESULT {.stdcall.} SetRect*: proc(self: ptr IPreviewHandler, prc: ptr RECT): HRESULT {.stdcall.} DoPreview*: proc(self: ptr IPreviewHandler): HRESULT {.stdcall.} Unload*: proc(self: ptr IPreviewHandler): HRESULT {.stdcall.} SetFocus*: proc(self: ptr IPreviewHandler): HRESULT {.stdcall.} QueryFocus*: proc(self: ptr IPreviewHandler, phwnd: ptr HWND): HRESULT {.stdcall.} TranslateAccelerator*: proc(self: ptr IPreviewHandler, pmsg: ptr MSG): HRESULT {.stdcall.} IPreviewHandlerFrame* {.pure.} = object lpVtbl*: ptr IPreviewHandlerFrameVtbl IPreviewHandlerFrameVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetWindowContext*: proc(self: ptr IPreviewHandlerFrame, pinfo: ptr PREVIEWHANDLERFRAMEINFO): HRESULT {.stdcall.} TranslateAccelerator*: proc(self: ptr IPreviewHandlerFrame, pmsg: ptr MSG): HRESULT {.stdcall.} ITrayDeskBand* {.pure.} = object lpVtbl*: ptr ITrayDeskBandVtbl ITrayDeskBandVtbl* {.pure, inheritable.} = object of IUnknownVtbl ShowDeskBand*: proc(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.stdcall.} HideDeskBand*: proc(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.stdcall.} IsDeskBandShown*: proc(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.stdcall.} DeskBandRegistrationChanged*: proc(self: ptr ITrayDeskBand): HRESULT {.stdcall.} IBandHost* {.pure.} = object lpVtbl*: ptr IBandHostVtbl IBandHostVtbl* {.pure, inheritable.} = object of IUnknownVtbl CreateBand*: proc(self: ptr IBandHost, rclsidBand: REFCLSID, fAvailable: WINBOOL, fVisible: WINBOOL, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} SetBandAvailability*: proc(self: ptr IBandHost, rclsidBand: REFCLSID, fAvailable: WINBOOL): HRESULT {.stdcall.} DestroyBand*: proc(self: ptr IBandHost, rclsidBand: REFCLSID): HRESULT {.stdcall.} IExplorerPaneVisibility* {.pure.} = object lpVtbl*: ptr IExplorerPaneVisibilityVtbl IExplorerPaneVisibilityVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetPaneState*: proc(self: ptr IExplorerPaneVisibility, ep: REFEXPLORERPANE, peps: ptr EXPLORERPANESTATE): HRESULT {.stdcall.} IDefaultExtractIconInit* {.pure.} = object lpVtbl*: ptr IDefaultExtractIconInitVtbl IDefaultExtractIconInitVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetFlags*: proc(self: ptr IDefaultExtractIconInit, uFlags: UINT): HRESULT {.stdcall.} SetKey*: proc(self: ptr IDefaultExtractIconInit, hkey: HKEY): HRESULT {.stdcall.} SetNormalIcon*: proc(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.stdcall.} SetOpenIcon*: proc(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.stdcall.} SetShortcutIcon*: proc(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.stdcall.} SetDefaultIcon*: proc(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.stdcall.} IEnumExplorerCommand* {.pure.} = object lpVtbl*: ptr IEnumExplorerCommandVtbl IEnumExplorerCommandVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumExplorerCommand, celt: ULONG, pUICommand: ptr ptr IExplorerCommand, pceltFetched: ptr ULONG): HRESULT {.stdcall.} Skip*: proc(self: ptr IEnumExplorerCommand, celt: ULONG): HRESULT {.stdcall.} Reset*: proc(self: ptr IEnumExplorerCommand): HRESULT {.stdcall.} Clone*: proc(self: ptr IEnumExplorerCommand, ppenum: ptr ptr IEnumExplorerCommand): HRESULT {.stdcall.} IExplorerCommand* {.pure.} = object lpVtbl*: ptr IExplorerCommandVtbl IExplorerCommandVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetTitle*: proc(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszName: ptr LPWSTR): HRESULT {.stdcall.} GetIcon*: proc(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszIcon: ptr LPWSTR): HRESULT {.stdcall.} GetToolTip*: proc(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszInfotip: ptr LPWSTR): HRESULT {.stdcall.} GetCanonicalName*: proc(self: ptr IExplorerCommand, pguidCommandName: ptr GUID): HRESULT {.stdcall.} GetState*: proc(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, fOkToBeSlow: WINBOOL, pCmdState: ptr EXPCMDSTATE): HRESULT {.stdcall.} Invoke*: proc(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, pbc: ptr IBindCtx): HRESULT {.stdcall.} GetFlags*: proc(self: ptr IExplorerCommand, pFlags: ptr EXPCMDFLAGS): HRESULT {.stdcall.} EnumSubCommands*: proc(self: ptr IExplorerCommand, ppEnum: ptr ptr IEnumExplorerCommand): HRESULT {.stdcall.} IExplorerCommandState* {.pure.} = object lpVtbl*: ptr IExplorerCommandStateVtbl IExplorerCommandStateVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetState*: proc(self: ptr IExplorerCommandState, psiItemArray: ptr IShellItemArray, fOkToBeSlow: WINBOOL, pCmdState: ptr EXPCMDSTATE): HRESULT {.stdcall.} IInitializeCommand* {.pure.} = object lpVtbl*: ptr IInitializeCommandVtbl IInitializeCommandVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeCommand, pszCommandName: LPCWSTR, ppb: ptr IPropertyBag): HRESULT {.stdcall.} IExplorerCommandProvider* {.pure.} = object lpVtbl*: ptr IExplorerCommandProviderVtbl IExplorerCommandProviderVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetCommands*: proc(self: ptr IExplorerCommandProvider, punkSite: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetCommand*: proc(self: ptr IExplorerCommandProvider, rguidCommandId: REFGUID, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IInitializeNetworkFolder* {.pure.} = object lpVtbl*: ptr IInitializeNetworkFolderVtbl IInitializeNetworkFolderVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeNetworkFolder, pidl: PCIDLIST_ABSOLUTE, pidlTarget: PCIDLIST_ABSOLUTE, uDisplayType: UINT, pszResName: LPCWSTR, pszProvider: LPCWSTR): HRESULT {.stdcall.} IOpenControlPanel* {.pure.} = object lpVtbl*: ptr IOpenControlPanelVtbl IOpenControlPanelVtbl* {.pure, inheritable.} = object of IUnknownVtbl Open*: proc(self: ptr IOpenControlPanel, pszName: LPCWSTR, pszPage: LPCWSTR, punkSite: ptr IUnknown): HRESULT {.stdcall.} GetPath*: proc(self: ptr IOpenControlPanel, pszName: LPCWSTR, pszPath: LPWSTR, cchPath: UINT): HRESULT {.stdcall.} GetCurrentView*: proc(self: ptr IOpenControlPanel, pView: ptr CPVIEW): HRESULT {.stdcall.} IComputerInfoChangeNotify* {.pure.} = object lpVtbl*: ptr IComputerInfoChangeNotifyVtbl IComputerInfoChangeNotifyVtbl* {.pure, inheritable.} = object of IUnknownVtbl ComputerInfoChanged*: proc(self: ptr IComputerInfoChangeNotify): HRESULT {.stdcall.} IFileSystemBindData* {.pure.} = object lpVtbl*: ptr IFileSystemBindDataVtbl IFileSystemBindDataVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetFindData*: proc(self: ptr IFileSystemBindData, pfd: ptr WIN32_FIND_DATAW): HRESULT {.stdcall.} GetFindData*: proc(self: ptr IFileSystemBindData, pfd: ptr WIN32_FIND_DATAW): HRESULT {.stdcall.} IFileSystemBindData2* {.pure.} = object lpVtbl*: ptr IFileSystemBindData2Vtbl IFileSystemBindData2Vtbl* {.pure, inheritable.} = object of IFileSystemBindDataVtbl SetFileID*: proc(self: ptr IFileSystemBindData2, liFileID: LARGE_INTEGER): HRESULT {.stdcall.} GetFileID*: proc(self: ptr IFileSystemBindData2, pliFileID: ptr LARGE_INTEGER): HRESULT {.stdcall.} SetJunctionCLSID*: proc(self: ptr IFileSystemBindData2, clsid: REFCLSID): HRESULT {.stdcall.} GetJunctionCLSID*: proc(self: ptr IFileSystemBindData2, pclsid: ptr CLSID): HRESULT {.stdcall.} ICustomDestinationList* {.pure.} = object lpVtbl*: ptr ICustomDestinationListVtbl ICustomDestinationListVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAppID*: proc(self: ptr ICustomDestinationList, pszAppID: LPCWSTR): HRESULT {.stdcall.} BeginList*: proc(self: ptr ICustomDestinationList, pcMinSlots: ptr UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} AppendCategory*: proc(self: ptr ICustomDestinationList, pszCategory: LPCWSTR, poa: ptr IObjectArray): HRESULT {.stdcall.} AppendKnownCategory*: proc(self: ptr ICustomDestinationList, category: KNOWNDESTCATEGORY): HRESULT {.stdcall.} AddUserTasks*: proc(self: ptr ICustomDestinationList, poa: ptr IObjectArray): HRESULT {.stdcall.} CommitList*: proc(self: ptr ICustomDestinationList): HRESULT {.stdcall.} GetRemovedDestinations*: proc(self: ptr ICustomDestinationList, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} DeleteList*: proc(self: ptr ICustomDestinationList, pszAppID: LPCWSTR): HRESULT {.stdcall.} AbortList*: proc(self: ptr ICustomDestinationList): HRESULT {.stdcall.} IApplicationDestinations* {.pure.} = object lpVtbl*: ptr IApplicationDestinationsVtbl IApplicationDestinationsVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAppID*: proc(self: ptr IApplicationDestinations, pszAppID: LPCWSTR): HRESULT {.stdcall.} RemoveDestination*: proc(self: ptr IApplicationDestinations, punk: ptr IUnknown): HRESULT {.stdcall.} RemoveAllDestinations*: proc(self: ptr IApplicationDestinations): HRESULT {.stdcall.} IApplicationDocumentLists* {.pure.} = object lpVtbl*: ptr IApplicationDocumentListsVtbl IApplicationDocumentListsVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAppID*: proc(self: ptr IApplicationDocumentLists, pszAppID: LPCWSTR): HRESULT {.stdcall.} GetList*: proc(self: ptr IApplicationDocumentLists, listtype: APPDOCLISTTYPE, cItemsDesired: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IObjectWithAppUserModelID* {.pure.} = object lpVtbl*: ptr IObjectWithAppUserModelIDVtbl IObjectWithAppUserModelIDVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetAppID*: proc(self: ptr IObjectWithAppUserModelID, pszAppID: LPCWSTR): HRESULT {.stdcall.} GetAppID*: proc(self: ptr IObjectWithAppUserModelID, ppszAppID: ptr LPWSTR): HRESULT {.stdcall.} IObjectWithProgID* {.pure.} = object lpVtbl*: ptr IObjectWithProgIDVtbl IObjectWithProgIDVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetProgID*: proc(self: ptr IObjectWithProgID, pszProgID: LPCWSTR): HRESULT {.stdcall.} GetProgID*: proc(self: ptr IObjectWithProgID, ppszProgID: ptr LPWSTR): HRESULT {.stdcall.} IUpdateIDList* {.pure.} = object lpVtbl*: ptr IUpdateIDListVtbl IUpdateIDListVtbl* {.pure, inheritable.} = object of IUnknownVtbl Update*: proc(self: ptr IUpdateIDList, pbc: ptr IBindCtx, pidlIn: PCUITEMID_CHILD, ppidlOut: ptr PITEMID_CHILD): HRESULT {.stdcall.} IDesktopGadget* {.pure.} = object lpVtbl*: ptr IDesktopGadgetVtbl IDesktopGadgetVtbl* {.pure, inheritable.} = object of IUnknownVtbl RunGadget*: proc(self: ptr IDesktopGadget, gadgetPath: LPCWSTR): HRESULT {.stdcall.} IDesktopWallpaper* {.pure.} = object lpVtbl*: ptr IDesktopWallpaperVtbl IDesktopWallpaperVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetWallpaper*: proc(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, wallpaper: LPCWSTR): HRESULT {.stdcall.} GetWallpaper*: proc(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, wallpaper: ptr LPWSTR): HRESULT {.stdcall.} GetMonitorDevicePathAt*: proc(self: ptr IDesktopWallpaper, monitorIndex: UINT, monitorID: ptr LPWSTR): HRESULT {.stdcall.} GetMonitorDevicePathCount*: proc(self: ptr IDesktopWallpaper, count: ptr UINT): HRESULT {.stdcall.} GetMonitorRECT*: proc(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, displayRect: ptr RECT): HRESULT {.stdcall.} SetBackgroundColor*: proc(self: ptr IDesktopWallpaper, color: COLORREF): HRESULT {.stdcall.} GetBackgroundColor*: proc(self: ptr IDesktopWallpaper, color: ptr COLORREF): HRESULT {.stdcall.} SetPosition*: proc(self: ptr IDesktopWallpaper, position: DESKTOP_WALLPAPER_POSITION): HRESULT {.stdcall.} GetPosition*: proc(self: ptr IDesktopWallpaper, position: ptr DESKTOP_WALLPAPER_POSITION): HRESULT {.stdcall.} SetSlideshow*: proc(self: ptr IDesktopWallpaper, items: ptr IShellItemArray): HRESULT {.stdcall.} GetSlideshow*: proc(self: ptr IDesktopWallpaper, items: ptr ptr IShellItemArray): HRESULT {.stdcall.} SetSlideshowOptions*: proc(self: ptr IDesktopWallpaper, options: DESKTOP_SLIDESHOW_OPTIONS, slideshowTick: UINT): HRESULT {.stdcall.} GetSlideshowOptions*: proc(self: ptr IDesktopWallpaper, options: ptr DESKTOP_SLIDESHOW_OPTIONS, slideshowTick: ptr UINT): HRESULT {.stdcall.} AdvanceSlideshow*: proc(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, direction: DESKTOP_SLIDESHOW_DIRECTION): HRESULT {.stdcall.} GetStatus*: proc(self: ptr IDesktopWallpaper, state: ptr DESKTOP_SLIDESHOW_STATE): HRESULT {.stdcall.} Enable*: proc(self: ptr IDesktopWallpaper, enable: WINBOOL): HRESULT {.stdcall.} IHomeGroup* {.pure.} = object lpVtbl*: ptr IHomeGroupVtbl IHomeGroupVtbl* {.pure, inheritable.} = object of IUnknownVtbl IsMember*: proc(self: ptr IHomeGroup, member: ptr WINBOOL): HRESULT {.stdcall.} ShowSharingWizard*: proc(self: ptr IHomeGroup, owner: HWND, sharingchoices: ptr HOMEGROUPSHARINGCHOICES): HRESULT {.stdcall.} IInitializeWithPropertyStore* {.pure.} = object lpVtbl*: ptr IInitializeWithPropertyStoreVtbl IInitializeWithPropertyStoreVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeWithPropertyStore, pps: ptr IPropertyStore): HRESULT {.stdcall.} IOpenSearchSource* {.pure.} = object lpVtbl*: ptr IOpenSearchSourceVtbl IOpenSearchSourceVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetResults*: proc(self: ptr IOpenSearchSource, hwnd: HWND, pszQuery: LPCWSTR, dwStartIndex: DWORD, dwCount: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IShellLibrary* {.pure.} = object lpVtbl*: ptr IShellLibraryVtbl IShellLibraryVtbl* {.pure, inheritable.} = object of IUnknownVtbl LoadLibraryFromItem*: proc(self: ptr IShellLibrary, psiLibrary: ptr IShellItem, grfMode: DWORD): HRESULT {.stdcall.} LoadLibraryFromKnownFolder*: proc(self: ptr IShellLibrary, kfidLibrary: REFKNOWNFOLDERID, grfMode: DWORD): HRESULT {.stdcall.} AddFolder*: proc(self: ptr IShellLibrary, psiLocation: ptr IShellItem): HRESULT {.stdcall.} RemoveFolder*: proc(self: ptr IShellLibrary, psiLocation: ptr IShellItem): HRESULT {.stdcall.} GetFolders*: proc(self: ptr IShellLibrary, lff: LIBRARYFOLDERFILTER, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} ResolveFolder*: proc(self: ptr IShellLibrary, psiFolderToResolve: ptr IShellItem, dwTimeout: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} GetDefaultSaveFolder*: proc(self: ptr IShellLibrary, dsft: DEFAULTSAVEFOLDERTYPE, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} SetDefaultSaveFolder*: proc(self: ptr IShellLibrary, dsft: DEFAULTSAVEFOLDERTYPE, psi: ptr IShellItem): HRESULT {.stdcall.} GetOptions*: proc(self: ptr IShellLibrary, plofOptions: ptr LIBRARYOPTIONFLAGS): HRESULT {.stdcall.} SetOptions*: proc(self: ptr IShellLibrary, lofMask: LIBRARYOPTIONFLAGS, lofOptions: LIBRARYOPTIONFLAGS): HRESULT {.stdcall.} GetFolderType*: proc(self: ptr IShellLibrary, pftid: ptr FOLDERTYPEID): HRESULT {.stdcall.} SetFolderType*: proc(self: ptr IShellLibrary, ftid: REFFOLDERTYPEID): HRESULT {.stdcall.} GetIcon*: proc(self: ptr IShellLibrary, ppszIcon: ptr LPWSTR): HRESULT {.stdcall.} SetIcon*: proc(self: ptr IShellLibrary, pszIcon: LPCWSTR): HRESULT {.stdcall.} Commit*: proc(self: ptr IShellLibrary): HRESULT {.stdcall.} Save*: proc(self: ptr IShellLibrary, psiFolderToSaveIn: ptr IShellItem, pszLibraryName: LPCWSTR, lsf: LIBRARYSAVEFLAGS, ppsiSavedTo: ptr ptr IShellItem): HRESULT {.stdcall.} SaveInKnownFolder*: proc(self: ptr IShellLibrary, kfidToSaveIn: REFKNOWNFOLDERID, pszLibraryName: LPCWSTR, lsf: LIBRARYSAVEFLAGS, ppsiSavedTo: ptr ptr IShellItem): HRESULT {.stdcall.} IPlaybackManagerEvents* {.pure.} = object lpVtbl*: ptr IPlaybackManagerEventsVtbl IPlaybackManagerEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnPlaybackManagerEvent*: proc(self: ptr IPlaybackManagerEvents, dwSessionId: DWORD, mediaEvent: PBM_EVENT): HRESULT {.stdcall.} IPlaybackManager* {.pure.} = object lpVtbl*: ptr IPlaybackManagerVtbl IPlaybackManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl Advise*: proc(self: ptr IPlaybackManager, `type`: PBM_SESSION_TYPE, pEvents: ptr IPlaybackManagerEvents, pdwSessionId: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IPlaybackManager, dwSessionId: DWORD): HRESULT {.stdcall.} ChangeSessionState*: proc(self: ptr IPlaybackManager, dwSessionId: DWORD, state: PBM_PLAY_STATE, mute: PBM_MUTE_STATE): HRESULT {.stdcall.} IDefaultFolderMenuInitialize* {.pure.} = object lpVtbl*: ptr IDefaultFolderMenuInitializeVtbl IDefaultFolderMenuInitializeVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IDefaultFolderMenuInitialize, hwnd: HWND, pcmcb: ptr IContextMenuCB, pidlFolder: PCIDLIST_ABSOLUTE, psf: ptr IShellFolder, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, punkAssociation: ptr IUnknown, cKeys: UINT, aKeys: ptr HKEY): HRESULT {.stdcall.} SetMenuRestrictions*: proc(self: ptr IDefaultFolderMenuInitialize, dfmrValues: DEFAULT_FOLDER_MENU_RESTRICTIONS): HRESULT {.stdcall.} GetMenuRestrictions*: proc(self: ptr IDefaultFolderMenuInitialize, dfmrMask: DEFAULT_FOLDER_MENU_RESTRICTIONS, pdfmrValues: ptr DEFAULT_FOLDER_MENU_RESTRICTIONS): HRESULT {.stdcall.} SetHandlerClsid*: proc(self: ptr IDefaultFolderMenuInitialize, rclsid: REFCLSID): HRESULT {.stdcall.} IApplicationActivationManager* {.pure.} = object lpVtbl*: ptr IApplicationActivationManagerVtbl IApplicationActivationManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl ActivateApplication*: proc(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, arguments: LPCWSTR, options: ACTIVATEOPTIONS, processId: ptr DWORD): HRESULT {.stdcall.} ActivateForFile*: proc(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, itemArray: ptr IShellItemArray, verb: LPCWSTR, processId: ptr DWORD): HRESULT {.stdcall.} ActivateForProtocol*: proc(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, itemArray: ptr IShellItemArray, processId: ptr DWORD): HRESULT {.stdcall.} IAssocHandlerInvoker* {.pure.} = object lpVtbl*: ptr IAssocHandlerInvokerVtbl IAssocHandlerInvokerVtbl* {.pure, inheritable.} = object of IUnknownVtbl SupportsSelection*: proc(self: ptr IAssocHandlerInvoker): HRESULT {.stdcall.} Invoke*: proc(self: ptr IAssocHandlerInvoker): HRESULT {.stdcall.} IAssocHandler* {.pure.} = object lpVtbl*: ptr IAssocHandlerVtbl IAssocHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetName*: proc(self: ptr IAssocHandler, ppsz: ptr LPWSTR): HRESULT {.stdcall.} GetUIName*: proc(self: ptr IAssocHandler, ppsz: ptr LPWSTR): HRESULT {.stdcall.} GetIconLocation*: proc(self: ptr IAssocHandler, ppszPath: ptr LPWSTR, pIndex: ptr int32): HRESULT {.stdcall.} IsRecommended*: proc(self: ptr IAssocHandler): HRESULT {.stdcall.} MakeDefault*: proc(self: ptr IAssocHandler, pszDescription: LPCWSTR): HRESULT {.stdcall.} Invoke*: proc(self: ptr IAssocHandler, pdo: ptr IDataObject): HRESULT {.stdcall.} CreateInvoker*: proc(self: ptr IAssocHandler, pdo: ptr IDataObject, ppInvoker: ptr ptr IAssocHandlerInvoker): HRESULT {.stdcall.} IEnumAssocHandlers* {.pure.} = object lpVtbl*: ptr IEnumAssocHandlersVtbl IEnumAssocHandlersVtbl* {.pure, inheritable.} = object of IUnknownVtbl Next*: proc(self: ptr IEnumAssocHandlers, celt: ULONG, rgelt: ptr ptr IAssocHandler, pceltFetched: ptr ULONG): HRESULT {.stdcall.} IDataObjectProvider* {.pure.} = object lpVtbl*: ptr IDataObjectProviderVtbl IDataObjectProviderVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDataObject*: proc(self: ptr IDataObjectProvider, dataObject: ptr ptr IDataObject): HRESULT {.stdcall.} SetDataObject*: proc(self: ptr IDataObjectProvider, dataObject: ptr IDataObject): HRESULT {.stdcall.} IDataTransferManagerInterop* {.pure.} = object lpVtbl*: ptr IDataTransferManagerInteropVtbl IDataTransferManagerInteropVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetForWindow*: proc(self: ptr IDataTransferManagerInterop, appWindow: HWND, riid: REFIID, dataTransferManager: ptr pointer): HRESULT {.stdcall.} ShowShareUIForWindow*: proc(self: ptr IDataTransferManagerInterop, appWindow: HWND): HRESULT {.stdcall.} IFrameworkInputPaneHandler* {.pure.} = object lpVtbl*: ptr IFrameworkInputPaneHandlerVtbl IFrameworkInputPaneHandlerVtbl* {.pure, inheritable.} = object of IUnknownVtbl Showing*: proc(self: ptr IFrameworkInputPaneHandler, prcInputPaneScreenLocation: ptr RECT, fEnsureFocusedElementInView: WINBOOL): HRESULT {.stdcall.} Hiding*: proc(self: ptr IFrameworkInputPaneHandler, fEnsureFocusedElementInView: WINBOOL): HRESULT {.stdcall.} IFrameworkInputPane* {.pure.} = object lpVtbl*: ptr IFrameworkInputPaneVtbl IFrameworkInputPaneVtbl* {.pure, inheritable.} = object of IUnknownVtbl Advise*: proc(self: ptr IFrameworkInputPane, pWindow: ptr IUnknown, pHandler: ptr IFrameworkInputPaneHandler, pdwCookie: ptr DWORD): HRESULT {.stdcall.} AdviseWithHWND*: proc(self: ptr IFrameworkInputPane, hwnd: HWND, pHandler: ptr IFrameworkInputPaneHandler, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IFrameworkInputPane, dwCookie: DWORD): HRESULT {.stdcall.} Location*: proc(self: ptr IFrameworkInputPane, prcInputPaneScreenLocation: ptr RECT): HRESULT {.stdcall.} ISearchableApplication* {.pure.} = object lpVtbl*: ptr ISearchableApplicationVtbl ISearchableApplicationVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetSearchWindow*: proc(self: ptr ISearchableApplication, hwnd: ptr HWND): HRESULT {.stdcall.} IAccessibilityDockingServiceCallback* {.pure.} = object lpVtbl*: ptr IAccessibilityDockingServiceCallbackVtbl IAccessibilityDockingServiceCallbackVtbl* {.pure, inheritable.} = object of IUnknownVtbl Undocked*: proc(self: ptr IAccessibilityDockingServiceCallback, undockReason: UNDOCK_REASON): HRESULT {.stdcall.} IAccessibilityDockingService* {.pure.} = object lpVtbl*: ptr IAccessibilityDockingServiceVtbl IAccessibilityDockingServiceVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetAvailableSize*: proc(self: ptr IAccessibilityDockingService, hMonitor: HMONITOR, pcxFixed: ptr UINT, pcyMax: ptr UINT): HRESULT {.stdcall.} DockWindow*: proc(self: ptr IAccessibilityDockingService, hwnd: HWND, hMonitor: HMONITOR, cyRequested: UINT, pCallback: ptr IAccessibilityDockingServiceCallback): HRESULT {.stdcall.} UndockWindow*: proc(self: ptr IAccessibilityDockingService, hwnd: HWND): HRESULT {.stdcall.} IAppVisibilityEvents* {.pure.} = object lpVtbl*: ptr IAppVisibilityEventsVtbl IAppVisibilityEventsVtbl* {.pure, inheritable.} = object of IUnknownVtbl AppVisibilityOnMonitorChanged*: proc(self: ptr IAppVisibilityEvents, hMonitor: HMONITOR, previousMode: MONITOR_APP_VISIBILITY, currentMode: MONITOR_APP_VISIBILITY): HRESULT {.stdcall.} LauncherVisibilityChange*: proc(self: ptr IAppVisibilityEvents, currentVisibleState: WINBOOL): HRESULT {.stdcall.} IAppVisibility* {.pure.} = object lpVtbl*: ptr IAppVisibilityVtbl IAppVisibilityVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetAppVisibilityOnMonitor*: proc(self: ptr IAppVisibility, hMonitor: HMONITOR, pMode: ptr MONITOR_APP_VISIBILITY): HRESULT {.stdcall.} IsLauncherVisible*: proc(self: ptr IAppVisibility, pfVisible: ptr WINBOOL): HRESULT {.stdcall.} Advise*: proc(self: ptr IAppVisibility, pCallback: ptr IAppVisibilityEvents, pdwCookie: ptr DWORD): HRESULT {.stdcall.} Unadvise*: proc(self: ptr IAppVisibility, dwCookie: DWORD): HRESULT {.stdcall.} IPackageExecutionStateChangeNotification* {.pure.} = object lpVtbl*: ptr IPackageExecutionStateChangeNotificationVtbl IPackageExecutionStateChangeNotificationVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnStateChanged*: proc(self: ptr IPackageExecutionStateChangeNotification, pszPackageFullName: LPCWSTR, pesNewState: PACKAGE_EXECUTION_STATE): HRESULT {.stdcall.} IPackageDebugSettings* {.pure.} = object lpVtbl*: ptr IPackageDebugSettingsVtbl IPackageDebugSettingsVtbl* {.pure, inheritable.} = object of IUnknownVtbl EnableDebugging*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, debuggerCommandLine: LPCWSTR, environment: PZZWSTR): HRESULT {.stdcall.} DisableDebugging*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} Suspend*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} Resume*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} TerminateAllProcesses*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} SetTargetSessionId*: proc(self: ptr IPackageDebugSettings, sessionId: ULONG): HRESULT {.stdcall.} EnumerateBackgroundTasks*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, taskCount: ptr ULONG, taskIds: ptr LPCGUID, taskNames: ptr ptr LPCWSTR): HRESULT {.stdcall.} ActivateBackgroundTask*: proc(self: ptr IPackageDebugSettings, taskId: LPCGUID): HRESULT {.stdcall.} StartServicing*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} StopServicing*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} StartSessionRedirection*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, sessionId: ULONG): HRESULT {.stdcall.} StopSessionRedirection*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.stdcall.} GetPackageExecutionState*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, packageExecutionState: ptr PACKAGE_EXECUTION_STATE): HRESULT {.stdcall.} RegisterForPackageStateChanges*: proc(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, pPackageExecutionStateChangeNotification: ptr IPackageExecutionStateChangeNotification, pdwCookie: ptr DWORD): HRESULT {.stdcall.} UnregisterForPackageStateChanges*: proc(self: ptr IPackageDebugSettings, dwCookie: DWORD): HRESULT {.stdcall.} IExecuteCommandApplicationHostEnvironment* {.pure.} = object lpVtbl*: ptr IExecuteCommandApplicationHostEnvironmentVtbl IExecuteCommandApplicationHostEnvironmentVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetValue*: proc(self: ptr IExecuteCommandApplicationHostEnvironment, pahe: ptr AHE_TYPE): HRESULT {.stdcall.} IExecuteCommandHost* {.pure.} = object lpVtbl*: ptr IExecuteCommandHostVtbl IExecuteCommandHostVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetUIMode*: proc(self: ptr IExecuteCommandHost, pUIMode: ptr EC_HOST_UI_MODE): HRESULT {.stdcall.} IApplicationDesignModeSettings* {.pure.} = object lpVtbl*: ptr IApplicationDesignModeSettingsVtbl IApplicationDesignModeSettingsVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetNativeDisplaySize*: proc(self: ptr IApplicationDesignModeSettings, sizeNativeDisplay: SIZE): HRESULT {.stdcall.} SetScaleFactor*: proc(self: ptr IApplicationDesignModeSettings, scaleFactor: DEVICE_SCALE_FACTOR): HRESULT {.stdcall.} SetApplicationViewState*: proc(self: ptr IApplicationDesignModeSettings, viewState: APPLICATION_VIEW_STATE): HRESULT {.stdcall.} ComputeApplicationSize*: proc(self: ptr IApplicationDesignModeSettings, psizeApplication: ptr SIZE): HRESULT {.stdcall.} IsApplicationViewStateSupported*: proc(self: ptr IApplicationDesignModeSettings, viewState: APPLICATION_VIEW_STATE, sizeNativeDisplay: SIZE, scaleFactor: DEVICE_SCALE_FACTOR, pfSupported: ptr WINBOOL): HRESULT {.stdcall.} TriggerEdgeGesture*: proc(self: ptr IApplicationDesignModeSettings, edgeGestureKind: EDGE_GESTURE_KIND): HRESULT {.stdcall.} IInitializeWithWindow* {.pure.} = object lpVtbl*: ptr IInitializeWithWindowVtbl IInitializeWithWindowVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeWithWindow, hwnd: HWND): HRESULT {.stdcall.} IHandlerInfo* {.pure.} = object lpVtbl*: ptr IHandlerInfoVtbl IHandlerInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetApplicationDisplayName*: proc(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.stdcall.} GetApplicationPublisher*: proc(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.stdcall.} GetApplicationIconReference*: proc(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.stdcall.} IHandlerActivationHost* {.pure.} = object lpVtbl*: ptr IHandlerActivationHostVtbl IHandlerActivationHostVtbl* {.pure, inheritable.} = object of IUnknownVtbl BeforeCoCreateInstance*: proc(self: ptr IHandlerActivationHost, clsidHandler: REFCLSID, itemsBeingActivated: ptr IShellItemArray, handlerInfo: ptr IHandlerInfo): HRESULT {.stdcall.} BeforeCreateProcess*: proc(self: ptr IHandlerActivationHost, applicationPath: LPCWSTR, commandLine: LPCWSTR, handlerInfo: ptr IHandlerInfo): HRESULT {.stdcall.} IShellIconOverlayIdentifier* {.pure.} = object lpVtbl*: ptr IShellIconOverlayIdentifierVtbl IShellIconOverlayIdentifierVtbl* {.pure, inheritable.} = object of IUnknownVtbl IsMemberOf*: proc(self: ptr IShellIconOverlayIdentifier, pwszPath: PCWSTR, dwAttrib: DWORD): HRESULT {.stdcall.} GetOverlayInfo*: proc(self: ptr IShellIconOverlayIdentifier, pwszIconFile: PWSTR, cchMax: int32, pIndex: ptr int32, pdwFlags: ptr DWORD): HRESULT {.stdcall.} GetPriority*: proc(self: ptr IShellIconOverlayIdentifier, pIPriority: ptr int32): HRESULT {.stdcall.} IShellIconOverlayManager* {.pure.} = object lpVtbl*: ptr IShellIconOverlayManagerVtbl IShellIconOverlayManagerVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetFileOverlayInfo*: proc(self: ptr IShellIconOverlayManager, pwszPath: PCWSTR, dwAttrib: DWORD, pIndex: ptr int32, dwflags: DWORD): HRESULT {.stdcall.} GetReservedOverlayInfo*: proc(self: ptr IShellIconOverlayManager, pwszPath: PCWSTR, dwAttrib: DWORD, pIndex: ptr int32, dwflags: DWORD, iReservedID: int32): HRESULT {.stdcall.} RefreshOverlayImages*: proc(self: ptr IShellIconOverlayManager, dwFlags: DWORD): HRESULT {.stdcall.} LoadNonloadedOverlayIdentifiers*: proc(self: ptr IShellIconOverlayManager): HRESULT {.stdcall.} OverlayIndexFromImageIndex*: proc(self: ptr IShellIconOverlayManager, iImage: int32, piIndex: ptr int32, fAdd: WINBOOL): HRESULT {.stdcall.} IShellIconOverlay* {.pure.} = object lpVtbl*: ptr IShellIconOverlayVtbl IShellIconOverlayVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetOverlayIndex*: proc(self: ptr IShellIconOverlay, pidl: PCUITEMID_CHILD, pIndex: ptr int32): HRESULT {.stdcall.} GetOverlayIconIndex*: proc(self: ptr IShellIconOverlay, pidl: PCUITEMID_CHILD, pIconIndex: ptr int32): HRESULT {.stdcall.} IShellExecuteHookA* {.pure.} = object lpVtbl*: ptr IShellExecuteHookAVtbl IShellExecuteHookAVtbl* {.pure, inheritable.} = object of IUnknownVtbl Execute*: proc(self: ptr IShellExecuteHookA, pei: LPSHELLEXECUTEINFOA): HRESULT {.stdcall.} IShellExecuteHookW* {.pure.} = object lpVtbl*: ptr IShellExecuteHookWVtbl IShellExecuteHookWVtbl* {.pure, inheritable.} = object of IUnknownVtbl Execute*: proc(self: ptr IShellExecuteHookW, pei: LPSHELLEXECUTEINFOW): HRESULT {.stdcall.} IURLSearchHook* {.pure.} = object lpVtbl*: ptr IURLSearchHookVtbl IURLSearchHookVtbl* {.pure, inheritable.} = object of IUnknownVtbl Translate*: proc(self: ptr IURLSearchHook, pwszSearchURL: PWSTR, cchBufferSize: DWORD): HRESULT {.stdcall.} ISearchContext* {.pure.} = object lpVtbl*: ptr ISearchContextVtbl ISearchContextVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetSearchUrl*: proc(self: ptr ISearchContext, pbstrSearchUrl: ptr BSTR): HRESULT {.stdcall.} GetSearchText*: proc(self: ptr ISearchContext, pbstrSearchText: ptr BSTR): HRESULT {.stdcall.} GetSearchStyle*: proc(self: ptr ISearchContext, pdwSearchStyle: ptr DWORD): HRESULT {.stdcall.} IURLSearchHook2* {.pure.} = object lpVtbl*: ptr IURLSearchHook2Vtbl IURLSearchHook2Vtbl* {.pure, inheritable.} = object of IURLSearchHookVtbl TranslateWithSearchContext*: proc(self: ptr IURLSearchHook2, pwszSearchURL: PWSTR, cchBufferSize: DWORD, pSearchContext: ptr ISearchContext): HRESULT {.stdcall.} INewShortcutHookA* {.pure.} = object lpVtbl*: ptr INewShortcutHookAVtbl INewShortcutHookAVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetReferent*: proc(self: ptr INewShortcutHookA, pcszReferent: PCSTR, hwnd: HWND): HRESULT {.stdcall.} GetReferent*: proc(self: ptr INewShortcutHookA, pszReferent: PSTR, cchReferent: int32): HRESULT {.stdcall.} SetFolder*: proc(self: ptr INewShortcutHookA, pcszFolder: PCSTR): HRESULT {.stdcall.} GetFolder*: proc(self: ptr INewShortcutHookA, pszFolder: PSTR, cchFolder: int32): HRESULT {.stdcall.} GetName*: proc(self: ptr INewShortcutHookA, pszName: PSTR, cchName: int32): HRESULT {.stdcall.} GetExtension*: proc(self: ptr INewShortcutHookA, pszExtension: PSTR, cchExtension: int32): HRESULT {.stdcall.} INewShortcutHookW* {.pure.} = object lpVtbl*: ptr INewShortcutHookWVtbl INewShortcutHookWVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetReferent*: proc(self: ptr INewShortcutHookW, pcszReferent: PCWSTR, hwnd: HWND): HRESULT {.stdcall.} GetReferent*: proc(self: ptr INewShortcutHookW, pszReferent: PWSTR, cchReferent: int32): HRESULT {.stdcall.} SetFolder*: proc(self: ptr INewShortcutHookW, pcszFolder: PCWSTR): HRESULT {.stdcall.} GetFolder*: proc(self: ptr INewShortcutHookW, pszFolder: PWSTR, cchFolder: int32): HRESULT {.stdcall.} GetName*: proc(self: ptr INewShortcutHookW, pszName: PWSTR, cchName: int32): HRESULT {.stdcall.} GetExtension*: proc(self: ptr INewShortcutHookW, pszExtension: PWSTR, cchExtension: int32): HRESULT {.stdcall.} IShellDetails* {.pure.} = object lpVtbl*: ptr IShellDetailsVtbl IShellDetailsVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDetailsOf*: proc(self: ptr IShellDetails, pidl: PCUITEMID_CHILD, iColumn: UINT, pDetails: ptr SHELLDETAILS): HRESULT {.stdcall.} ColumnClick*: proc(self: ptr IShellDetails, iColumn: UINT): HRESULT {.stdcall.} IObjMgr* {.pure.} = object lpVtbl*: ptr IObjMgrVtbl IObjMgrVtbl* {.pure, inheritable.} = object of IUnknownVtbl Append*: proc(self: ptr IObjMgr, punk: ptr IUnknown): HRESULT {.stdcall.} Remove*: proc(self: ptr IObjMgr, punk: ptr IUnknown): HRESULT {.stdcall.} ICurrentWorkingDirectory* {.pure.} = object lpVtbl*: ptr ICurrentWorkingDirectoryVtbl ICurrentWorkingDirectoryVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetDirectory*: proc(self: ptr ICurrentWorkingDirectory, pwzPath: PWSTR, cchSize: DWORD): HRESULT {.stdcall.} SetDirectory*: proc(self: ptr ICurrentWorkingDirectory, pwzPath: PCWSTR): HRESULT {.stdcall.} IACList* {.pure.} = object lpVtbl*: ptr IACListVtbl IACListVtbl* {.pure, inheritable.} = object of IUnknownVtbl Expand*: proc(self: ptr IACList, pszExpand: PCWSTR): HRESULT {.stdcall.} IACList2* {.pure.} = object lpVtbl*: ptr IACList2Vtbl IACList2Vtbl* {.pure, inheritable.} = object of IACListVtbl SetOptions*: proc(self: ptr IACList2, dwFlag: DWORD): HRESULT {.stdcall.} GetOptions*: proc(self: ptr IACList2, pdwFlag: ptr DWORD): HRESULT {.stdcall.} IProgressDialog* {.pure.} = object lpVtbl*: ptr IProgressDialogVtbl IProgressDialogVtbl* {.pure, inheritable.} = object of IUnknownVtbl StartProgressDialog*: proc(self: ptr IProgressDialog, hwndParent: HWND, punkEnableModless: ptr IUnknown, dwFlags: DWORD, pvResevered: LPCVOID): HRESULT {.stdcall.} StopProgressDialog*: proc(self: ptr IProgressDialog): HRESULT {.stdcall.} SetTitle*: proc(self: ptr IProgressDialog, pwzTitle: PCWSTR): HRESULT {.stdcall.} SetAnimation*: proc(self: ptr IProgressDialog, hInstAnimation: HINSTANCE, idAnimation: UINT): HRESULT {.stdcall.} HasUserCancelled*: proc(self: ptr IProgressDialog): WINBOOL {.stdcall.} SetProgress*: proc(self: ptr IProgressDialog, dwCompleted: DWORD, dwTotal: DWORD): HRESULT {.stdcall.} SetProgress64*: proc(self: ptr IProgressDialog, ullCompleted: ULONGLONG, ullTotal: ULONGLONG): HRESULT {.stdcall.} SetLine*: proc(self: ptr IProgressDialog, dwLineNum: DWORD, pwzString: PCWSTR, fCompactPath: WINBOOL, pvResevered: LPCVOID): HRESULT {.stdcall.} SetCancelMsg*: proc(self: ptr IProgressDialog, pwzCancelMsg: PCWSTR, pvResevered: LPCVOID): HRESULT {.stdcall.} Timer*: proc(self: ptr IProgressDialog, dwTimerAction: DWORD, pvResevered: LPCVOID): HRESULT {.stdcall.} IDockingWindowSite* {.pure.} = object lpVtbl*: ptr IDockingWindowSiteVtbl IDockingWindowSiteVtbl* {.pure, inheritable.} = object of IOleWindowVtbl GetBorderDW*: proc(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, prcBorder: ptr RECT): HRESULT {.stdcall.} RequestBorderSpaceDW*: proc(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, pbw: LPCBORDERWIDTHS): HRESULT {.stdcall.} SetBorderSpaceDW*: proc(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, pbw: LPCBORDERWIDTHS): HRESULT {.stdcall.} IDockingWindowFrame* {.pure.} = object lpVtbl*: ptr IDockingWindowFrameVtbl IDockingWindowFrameVtbl* {.pure, inheritable.} = object of IOleWindowVtbl AddToolbar*: proc(self: ptr IDockingWindowFrame, punkSrc: ptr IUnknown, pwszItem: PCWSTR, dwAddFlags: DWORD): HRESULT {.stdcall.} RemoveToolbar*: proc(self: ptr IDockingWindowFrame, punkSrc: ptr IUnknown, dwRemoveFlags: DWORD): HRESULT {.stdcall.} FindToolbar*: proc(self: ptr IDockingWindowFrame, pwszItem: PCWSTR, riid: REFIID, ppv: ptr pointer): HRESULT {.stdcall.} IShellFolderBand* {.pure.} = object lpVtbl*: ptr IShellFolderBandVtbl IShellFolderBandVtbl* {.pure, inheritable.} = object of IUnknownVtbl InitializeSFB*: proc(self: ptr IShellFolderBand, psf: ptr IShellFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} SetBandInfoSFB*: proc(self: ptr IShellFolderBand, pbi: PBANDINFOSFB): HRESULT {.stdcall.} GetBandInfoSFB*: proc(self: ptr IShellFolderBand, pbi: PBANDINFOSFB): HRESULT {.stdcall.} IDeskBarClient* {.pure.} = object lpVtbl*: ptr IDeskBarClientVtbl IDeskBarClientVtbl* {.pure, inheritable.} = object of IOleWindowVtbl SetDeskBarSite*: proc(self: ptr IDeskBarClient, punkSite: ptr IUnknown): HRESULT {.stdcall.} SetModeDBC*: proc(self: ptr IDeskBarClient, dwMode: DWORD): HRESULT {.stdcall.} UIActivateDBC*: proc(self: ptr IDeskBarClient, dwState: DWORD): HRESULT {.stdcall.} GetSize*: proc(self: ptr IDeskBarClient, dwWhich: DWORD, prc: LPRECT): HRESULT {.stdcall.} IColumnProvider* {.pure.} = object lpVtbl*: ptr IColumnProviderVtbl IColumnProviderVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IColumnProvider, psci: LPCSHCOLUMNINIT): HRESULT {.stdcall.} GetColumnInfo*: proc(self: ptr IColumnProvider, dwIndex: DWORD, psci: ptr SHCOLUMNINFO): HRESULT {.stdcall.} GetItemData*: proc(self: ptr IColumnProvider, pscid: LPCSHCOLUMNID, pscd: LPCSHCOLUMNDATA, pvarData: ptr VARIANT): HRESULT {.stdcall.} IShellChangeNotify* {.pure.} = object lpVtbl*: ptr IShellChangeNotifyVtbl IShellChangeNotifyVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnChange*: proc(self: ptr IShellChangeNotify, lEvent: LONG, pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE): HRESULT {.stdcall.} IQueryInfo* {.pure.} = object lpVtbl*: ptr IQueryInfoVtbl IQueryInfoVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetInfoTip*: proc(self: ptr IQueryInfo, dwFlags: DWORD, ppwszTip: ptr PWSTR): HRESULT {.stdcall.} GetInfoFlags*: proc(self: ptr IQueryInfo, pdwFlags: ptr DWORD): HRESULT {.stdcall.} IDefViewFrame* {.pure.} = object lpVtbl*: ptr IDefViewFrameVtbl IDefViewFrameVtbl* {.pure, inheritable.} = object of IUnknownVtbl GetWindowLV*: proc(self: ptr IDefViewFrame, phwnd: ptr HWND): HRESULT {.stdcall.} ReleaseWindowLV*: proc(self: ptr IDefViewFrame): HRESULT {.stdcall.} GetShellFolder*: proc(self: ptr IDefViewFrame, ppsf: ptr ptr IShellFolder): HRESULT {.stdcall.} IDocViewSite* {.pure.} = object lpVtbl*: ptr IDocViewSiteVtbl IDocViewSiteVtbl* {.pure, inheritable.} = object of IUnknownVtbl OnSetTitle*: proc(self: ptr IDocViewSite, pvTitle: ptr VARIANTARG): HRESULT {.stdcall.} IInitializeObject* {.pure.} = object lpVtbl*: ptr IInitializeObjectVtbl IInitializeObjectVtbl* {.pure, inheritable.} = object of IUnknownVtbl Initialize*: proc(self: ptr IInitializeObject): HRESULT {.stdcall.} IBanneredBar* {.pure.} = object lpVtbl*: ptr IBanneredBarVtbl IBanneredBarVtbl* {.pure, inheritable.} = object of IUnknownVtbl SetIconSize*: proc(self: ptr IBanneredBar, iIcon: DWORD): HRESULT {.stdcall.} GetIconSize*: proc(self: ptr IBanneredBar, piIcon: ptr DWORD): HRESULT {.stdcall.} SetBitmap*: proc(self: ptr IBanneredBar, hBitmap: HBITMAP): HRESULT {.stdcall.} GetBitmap*: proc(self: ptr IBanneredBar, phBitmap: ptr HBITMAP): HRESULT {.stdcall.} IShellFolderView* {.pure.} = object lpVtbl*: ptr IShellFolderViewVtbl IShellFolderViewVtbl* {.pure, inheritable.} = object of IUnknownVtbl Rearrange*: proc(self: ptr IShellFolderView, lParamSort: LPARAM): HRESULT {.stdcall.} GetArrangeParam*: proc(self: ptr IShellFolderView, plParamSort: ptr LPARAM): HRESULT {.stdcall.} ArrangeGrid*: proc(self: ptr IShellFolderView): HRESULT {.stdcall.} AutoArrange*: proc(self: ptr IShellFolderView): HRESULT {.stdcall.} GetAutoArrange*: proc(self: ptr IShellFolderView): HRESULT {.stdcall.} AddObject*: proc(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.stdcall.} GetObject*: proc(self: ptr IShellFolderView, ppidl: ptr PITEMID_CHILD, uItem: UINT): HRESULT {.stdcall.} RemoveObject*: proc(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.stdcall.} GetObjectCount*: proc(self: ptr IShellFolderView, puCount: ptr UINT): HRESULT {.stdcall.} SetObjectCount*: proc(self: ptr IShellFolderView, uCount: UINT, dwFlags: UINT): HRESULT {.stdcall.} UpdateObject*: proc(self: ptr IShellFolderView, pidlOld: PUITEMID_CHILD, pidlNew: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.stdcall.} RefreshObject*: proc(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.stdcall.} SetRedraw*: proc(self: ptr IShellFolderView, bRedraw: WINBOOL): HRESULT {.stdcall.} GetSelectedCount*: proc(self: ptr IShellFolderView, puSelected: ptr UINT): HRESULT {.stdcall.} GetSelectedObjects*: proc(self: ptr IShellFolderView, pppidl: ptr ptr PCUITEMID_CHILD, puItems: ptr UINT): HRESULT {.stdcall.} IsDropOnSource*: proc(self: ptr IShellFolderView, pDropTarget: ptr IDropTarget): HRESULT {.stdcall.} GetDragPoint*: proc(self: ptr IShellFolderView, ppt: ptr POINT): HRESULT {.stdcall.} GetDropPoint*: proc(self: ptr IShellFolderView, ppt: ptr POINT): HRESULT {.stdcall.} MoveIcons*: proc(self: ptr IShellFolderView, pDataObject: ptr IDataObject): HRESULT {.stdcall.} SetItemPos*: proc(self: ptr IShellFolderView, pidl: PCUITEMID_CHILD, ppt: ptr POINT): HRESULT {.stdcall.} IsBkDropTarget*: proc(self: ptr IShellFolderView, pDropTarget: ptr IDropTarget): HRESULT {.stdcall.} SetClipboard*: proc(self: ptr IShellFolderView, bMove: WINBOOL): HRESULT {.stdcall.} SetPoints*: proc(self: ptr IShellFolderView, pDataObject: ptr IDataObject): HRESULT {.stdcall.} GetItemSpacing*: proc(self: ptr IShellFolderView, pSpacing: ptr ITEMSPACING): HRESULT {.stdcall.} SetCallback*: proc(self: ptr IShellFolderView, pNewCB: ptr IShellFolderViewCB, ppOldCB: ptr ptr IShellFolderViewCB): HRESULT {.stdcall.} Select*: proc(self: ptr IShellFolderView, dwFlags: UINT): HRESULT {.stdcall.} QuerySupport*: proc(self: ptr IShellFolderView, pdwSupport: ptr UINT): HRESULT {.stdcall.} SetAutomationObject*: proc(self: ptr IShellFolderView, pdisp: ptr IDispatch): HRESULT {.stdcall.} INamedPropertyBag* {.pure.} = object lpVtbl*: ptr INamedPropertyBagVtbl INamedPropertyBagVtbl* {.pure, inheritable.} = object of IUnknownVtbl ReadPropertyNPB*: proc(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR, pVar: ptr PROPVARIANT): HRESULT {.stdcall.} WritePropertyNPB*: proc(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR, pVar: ptr PROPVARIANT): HRESULT {.stdcall.} RemovePropertyNPB*: proc(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR): HRESULT {.stdcall.} proc DragQueryFileA*(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR, cch: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc DragQueryFileW*(hDrop: HDROP, iFile: UINT, lpszFile: LPWSTR, cch: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc DragQueryPoint*(hDrop: HDROP, ppt: ptr POINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DragFinish*(hDrop: HDROP): void {.winapi, stdcall, dynlib: "shell32", importc.} proc DragAcceptFiles*(hWnd: HWND, fAccept: WINBOOL): void {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellExecuteA*(hwnd: HWND, lpOperation: LPCSTR, lpFile: LPCSTR, lpParameters: LPCSTR, lpDirectory: LPCSTR, nShowCmd: INT): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellExecuteW*(hwnd: HWND, lpOperation: LPCWSTR, lpFile: LPCWSTR, lpParameters: LPCWSTR, lpDirectory: LPCWSTR, nShowCmd: INT): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc.} proc FindExecutableA*(lpFile: LPCSTR, lpDirectory: LPCSTR, lpResult: LPSTR): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc.} proc FindExecutableW*(lpFile: LPCWSTR, lpDirectory: LPCWSTR, lpResult: LPWSTR): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc.} proc CommandLineToArgvW*(lpCmdLine: LPCWSTR, pNumArgs: ptr int32): ptr LPWSTR {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellAboutA*(hWnd: HWND, szApp: LPCSTR, szOtherStuff: LPCSTR, hIcon: HICON): INT {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellAboutW*(hWnd: HWND, szApp: LPCWSTR, szOtherStuff: LPCWSTR, hIcon: HICON): INT {.winapi, stdcall, dynlib: "shell32", importc.} proc DuplicateIcon*(hInst: HINSTANCE, hIcon: HICON): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractAssociatedIconA*(hInst: HINSTANCE, pszIconPath: LPSTR, piIcon: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractAssociatedIconW*(hInst: HINSTANCE, pszIconPath: LPWSTR, piIcon: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractAssociatedIconExA*(hInst: HINSTANCE, pszIconPath: LPSTR, piIconIndex: ptr WORD, piIconId: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractAssociatedIconExW*(hInst: HINSTANCE, pszIconPath: LPWSTR, piIconIndex: ptr WORD, piIconId: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractIconA*(hInst: HINSTANCE, pszExeFileName: LPCSTR, nIconIndex: UINT): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractIconW*(hInst: HINSTANCE, pszExeFileName: LPCWSTR, nIconIndex: UINT): HICON {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAppBarMessage*(dwMessage: DWORD, pData: PAPPBARDATA): UINT_PTR {.winapi, stdcall, dynlib: "shell32", importc.} proc DoEnvironmentSubstA*(pszSrc: LPSTR, cchSrc: UINT): DWORD {.winapi, stdcall, dynlib: "shell32", importc.} proc DoEnvironmentSubstW*(pszSrc: LPWSTR, cchSrc: UINT): DWORD {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractIconExA*(lpszFile: LPCSTR, nIconIndex: int32, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIcons: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc ExtractIconExW*(lpszFile: LPCWSTR, nIconIndex: int32, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIcons: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFileOperationA*(lpFileOp: LPSHFILEOPSTRUCTA): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFileOperationW*(lpFileOp: LPSHFILEOPSTRUCTW): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFreeNameMappings*(hNameMappings: HANDLE): void {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellExecuteExA*(pExecInfo: ptr SHELLEXECUTEINFOA): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellExecuteExW*(pExecInfo: ptr SHELLEXECUTEINFOW): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateProcessAsUserW*(pscpi: PSHCREATEPROCESSINFOW): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHEvaluateSystemCommandTemplate*(pszCmdTemplate: PCWSTR, ppszApplication: ptr PWSTR, ppszCommandLine: ptr PWSTR, ppszParameters: ptr PWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc AssocCreateForClasses*(rgClasses: ptr ASSOCIATIONELEMENT, cClasses: ULONG, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHQueryRecycleBinA*(pszRootPath: LPCSTR, pSHQueryRBInfo: LPSHQUERYRBINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHQueryRecycleBinW*(pszRootPath: LPCWSTR, pSHQueryRBInfo: LPSHQUERYRBINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHEmptyRecycleBinA*(hwnd: HWND, pszRootPath: LPCSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHEmptyRecycleBinW*(hwnd: HWND, pszRootPath: LPCWSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHQueryUserNotificationState*(pquns: ptr QUERY_USER_NOTIFICATION_STATE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPropertyStoreForWindow*(hwnd: HWND, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_NotifyIconA*(dwMessage: DWORD, lpData: PNOTIFYICONDATAA): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_NotifyIconW*(dwMessage: DWORD, lpData: PNOTIFYICONDATAW): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_NotifyIconGetRect*(identifier: ptr NOTIFYICONIDENTIFIER, iconLocation: ptr RECT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFileInfoA*(pszPath: LPCSTR, dwFileAttributes: DWORD, psfi: ptr SHFILEINFOA, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFileInfoW*(pszPath: LPCWSTR, dwFileAttributes: DWORD, psfi: ptr SHFILEINFOW, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetStockIconInfo*(siid: SHSTOCKICONID, uFlags: UINT, psii: ptr SHSTOCKICONINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDiskFreeSpaceExA*(pszDirectoryName: LPCSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDiskFreeSpaceExW*(pszDirectoryName: LPCWSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetNewLinkInfoA*(pszLinkTo: LPCSTR, pszDir: LPCSTR, pszName: LPSTR, pfMustCopy: ptr WINBOOL, uFlags: UINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetNewLinkInfoW*(pszLinkTo: LPCWSTR, pszDir: LPCWSTR, pszName: LPWSTR, pfMustCopy: ptr WINBOOL, uFlags: UINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHInvokePrinterCommandA*(hwnd: HWND, uAction: UINT, lpBuf1: LPCSTR, lpBuf2: LPCSTR, fModal: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHInvokePrinterCommandW*(hwnd: HWND, uAction: UINT, lpBuf1: LPCWSTR, lpBuf2: LPCWSTR, fModal: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHLoadNonloadedIconOverlayIdentifiers*(): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHIsFileAvailableOffline*(pwszPath: PCWSTR, pdwStatus: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetLocalizedName*(pszPath: PCWSTR, pszResModule: PCWSTR, idsRes: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHRemoveLocalizedName*(pszPath: PCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetLocalizedName*(pszPath: PCWSTR, pszResModule: PWSTR, cch: UINT, pidsRes: ptr int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc ShellMessageBoxA*(hAppInst: HINSTANCE, hWnd: HWND, lpcText: LPCSTR, lpcTitle: LPCSTR, fuStyle: UINT): int32 {.winapi, cdecl, varargs, dynlib: "shlwapi", importc.} proc ShellMessageBoxW*(hAppInst: HINSTANCE, hWnd: HWND, lpcText: LPCWSTR, lpcTitle: LPCWSTR, fuStyle: UINT): int32 {.winapi, cdecl, varargs, dynlib: "shlwapi", importc.} proc IsLFNDriveA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc IsLFNDriveW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHEnumerateUnreadMailAccountsW*(hKeyUser: HKEY, dwIndex: DWORD, pszMailAddress: LPWSTR, cchMailAddress: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetUnreadMailCountW*(hKeyUser: HKEY, pszMailAddress: LPCWSTR, pdwCount: ptr DWORD, pFileTime: ptr FILETIME, pszShellExecuteCommand: LPWSTR, cchShellExecuteCommand: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetUnreadMailCountW*(pszMailAddress: LPCWSTR, dwCount: DWORD, pszShellExecuteCommand: LPCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHTestTokenMembership*(hToken: HANDLE, ulRID: ULONG): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetImageList*(iImageList: int32, riid: REFIID, ppvObj: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc InitNetworkAddressControl*(): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDriveMedia*(pszDrive: PCWSTR, pdwMediaContent: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc StrChrA*(lpStart: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrChrW*(lpStart: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrChrIA*(lpStart: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrChrIW*(lpStart: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpNA*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpNW*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpNIA*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpNIW*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCSpnA*(lpStr: LPCSTR, lpSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCSpnW*(lpStr: LPCWSTR, lpSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCSpnIA*(lpStr: LPCSTR, lpSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCSpnIW*(lpStr: LPCWSTR, lpSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrDupA*(lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrDupW*(lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFormatByteSizeA*(dw: DWORD, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFormatByteSize64A*(qdw: LONGLONG, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFormatByteSizeW*(qdw: LONGLONG, szBuf: LPWSTR, uiBufSize: UINT): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFormatKBSizeW*(qdw: LONGLONG, szBuf: LPWSTR, uiBufSize: UINT): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFormatKBSizeA*(qdw: LONGLONG, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFromTimeIntervalA*(pszOut: LPSTR, cchMax: UINT, dwTimeMS: DWORD, digits: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrFromTimeIntervalW*(pszOut: LPWSTR, cchMax: UINT, dwTimeMS: DWORD, digits: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrIsIntlEqualA*(fCaseSens: WINBOOL, lpString1: LPCSTR, lpString2: LPCSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrIsIntlEqualW*(fCaseSens: WINBOOL, lpString1: LPCWSTR, lpString2: LPCWSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrNCatA*(psz1: LPSTR, psz2: LPCSTR, cchMax: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrNCatW*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrPBrkA*(psz: LPCSTR, pszSet: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrPBrkW*(psz: LPCWSTR, pszSet: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRChrA*(lpStart: LPCSTR, lpEnd: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRChrW*(lpStart: LPCWSTR, lpEnd: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRChrIA*(lpStart: LPCSTR, lpEnd: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRChrIW*(lpStart: LPCWSTR, lpEnd: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRStrIA*(lpSource: LPCSTR, lpLast: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRStrIW*(lpSource: LPCWSTR, lpLast: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrSpnA*(psz: LPCSTR, pszSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrSpnW*(psz: LPCWSTR, pszSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrStrA*(lpFirst: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrStrW*(lpFirst: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrStrIA*(lpFirst: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrStrIW*(lpFirst: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToIntA*(lpSrc: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToIntW*(lpSrc: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToIntExA*(pszString: LPCSTR, dwFlags: DWORD, piRet: ptr int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToIntExW*(pszString: LPCWSTR, dwFlags: DWORD, piRet: ptr int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToInt64ExA*(pszString: LPCSTR, dwFlags: DWORD, pllRet: ptr LONGLONG): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrToInt64ExW*(pszString: LPCWSTR, dwFlags: DWORD, pllRet: ptr LONGLONG): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrTrimA*(psz: LPSTR, pszTrimChars: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrTrimW*(psz: LPWSTR, pszTrimChars: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCatW*(psz1: LPWSTR, psz2: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpW*(psz1: LPCWSTR, psz2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpIW*(psz1: LPCWSTR, psz2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCpyW*(psz1: LPWSTR, psz2: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCpyNW*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCatBuffW*(pszDest: LPWSTR, pszSrc: LPCWSTR, cchDestBuffSize: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCatBuffA*(pszDest: LPSTR, pszSrc: LPCSTR, cchDestBuffSize: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc ChrCmpIA*(w1: WORD, w2: WORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc ChrCmpIW*(w1: WCHAR, w2: WCHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc wvnsprintfA*(lpOut: LPSTR, cchLimitIn: int32, lpFmt: LPCSTR, arglist: va_list): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc wvnsprintfW*(lpOut: LPWSTR, cchLimitIn: int32, lpFmt: LPCWSTR, arglist: va_list): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc wnsprintfA*(lpOut: LPSTR, cchLimitIn: int32, lpFmt: LPCSTR): int32 {.winapi, cdecl, varargs, dynlib: "shlwapi", importc.} proc wnsprintfW*(lpOut: LPWSTR, cchLimitIn: int32, lpFmt: LPCWSTR): int32 {.winapi, cdecl, varargs, dynlib: "shlwapi", importc.} proc StrRetToStrA*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, ppsz: ptr LPSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRetToStrW*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, ppsz: ptr LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRetToBufA*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, pszBuf: LPSTR, cchBuf: UINT): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRetToBufW*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, pszBuf: LPWSTR, cchBuf: UINT): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrRetToBSTR*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, pbstr: ptr BSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHStrDupA*(psz: LPCSTR, ppwsz: ptr ptr WCHAR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHStrDupW*(psz: LPCWSTR, ppwsz: ptr ptr WCHAR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpLogicalW*(psz1: LPCWSTR, psz2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCatChainW*(pszDst: LPWSTR, cchDst: DWORD, ichAt: DWORD, pszSrc: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHLoadIndirectString*(pszSource: LPCWSTR, pszOutBuf: LPWSTR, cchOutBuf: UINT, ppvReserved: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc IsCharSpaceA*(wch: CHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc IsCharSpaceW*(wch: WCHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpCA*(pszStr1: LPCSTR, pszStr2: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpCW*(pszStr1: LPCWSTR, pszStr2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpICA*(pszStr1: LPCSTR, pszStr2: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc StrCmpICW*(pszStr1: LPCWSTR, pszStr2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc IntlStrEqWorkerA*(fCaseSens: WINBOOL, lpString1: LPCSTR, lpString2: LPCSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc IntlStrEqWorkerW*(fCaseSens: WINBOOL, lpString1: LPCWSTR, lpString2: LPCWSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAddBackslashA*(pszPath: LPSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAddBackslashW*(pszPath: LPWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAddExtensionA*(pszPath: LPSTR, pszExt: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAddExtensionW*(pszPath: LPWSTR, pszExt: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAppendA*(pszPath: LPSTR, pMore: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathAppendW*(pszPath: LPWSTR, pMore: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathBuildRootA*(pszRoot: LPSTR, iDrive: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathBuildRootW*(pszRoot: LPWSTR, iDrive: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCanonicalizeA*(pszBuf: LPSTR, pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCanonicalizeW*(pszBuf: LPWSTR, pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCombineA*(pszDest: LPSTR, pszDir: LPCSTR, pszFile: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCombineW*(pszDest: LPWSTR, pszDir: LPCWSTR, pszFile: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCompactPathA*(hDC: HDC, pszPath: LPSTR, dx: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCompactPathW*(hDC: HDC, pszPath: LPWSTR, dx: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCompactPathExA*(pszOut: LPSTR, pszSrc: LPCSTR, cchMax: UINT, dwFlags: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCompactPathExW*(pszOut: LPWSTR, pszSrc: LPCWSTR, cchMax: UINT, dwFlags: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCommonPrefixA*(pszFile1: LPCSTR, pszFile2: LPCSTR, achPath: LPSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCommonPrefixW*(pszFile1: LPCWSTR, pszFile2: LPCWSTR, achPath: LPWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFileExistsA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFileExistsW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindExtensionA*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindExtensionW*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindFileNameA*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindFileNameW*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindNextComponentA*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindNextComponentW*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindOnPathA*(pszPath: LPSTR, ppszOtherDirs: ptr LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindOnPathW*(pszPath: LPWSTR, ppszOtherDirs: ptr LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetArgsA*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetArgsW*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindSuffixArrayA*(pszPath: LPCSTR, apszSuffix: ptr LPCSTR, iArraySize: int32): LPCSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathFindSuffixArrayW*(pszPath: LPCWSTR, apszSuffix: ptr LPCWSTR, iArraySize: int32): LPCWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsLFNFileSpecA*(lpName: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsLFNFileSpecW*(lpName: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetCharTypeA*(ch: UCHAR): UINT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetCharTypeW*(ch: WCHAR): UINT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetDriveNumberA*(pszPath: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathGetDriveNumberW*(pszPath: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsDirectoryA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsDirectoryW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsDirectoryEmptyA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsDirectoryEmptyW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsFileSpecA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsFileSpecW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsPrefixA*(pszPrefix: LPCSTR, pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsPrefixW*(pszPrefix: LPCWSTR, pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsRelativeA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsRelativeW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsRootA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsRootW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsSameRootA*(pszPath1: LPCSTR, pszPath2: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsSameRootW*(pszPath1: LPCWSTR, pszPath2: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsNetworkPathA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsNetworkPathW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCServerA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCServerW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCServerShareA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsUNCServerShareW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsContentTypeA*(pszPath: LPCSTR, pszContentType: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsContentTypeW*(pszPath: LPCWSTR, pszContentType: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsURLA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsURLW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMakePrettyA*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMakePrettyW*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMatchSpecA*(pszFile: LPCSTR, pszSpec: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMatchSpecW*(pszFile: LPCWSTR, pszSpec: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathParseIconLocationA*(pszIconFile: LPSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathParseIconLocationW*(pszIconFile: LPWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathQuoteSpacesA*(lpsz: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathQuoteSpacesW*(lpsz: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRelativePathToA*(pszPath: LPSTR, pszFrom: LPCSTR, dwAttrFrom: DWORD, pszTo: LPCSTR, dwAttrTo: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRelativePathToW*(pszPath: LPWSTR, pszFrom: LPCWSTR, dwAttrFrom: DWORD, pszTo: LPCWSTR, dwAttrTo: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveArgsA*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveArgsW*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveBackslashA*(pszPath: LPSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveBackslashW*(pszPath: LPWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveBlanksA*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveBlanksW*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveExtensionA*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveExtensionW*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveFileSpecA*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRemoveFileSpecW*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRenameExtensionA*(pszPath: LPSTR, pszExt: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathRenameExtensionW*(pszPath: LPWSTR, pszExt: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSearchAndQualifyA*(pszPath: LPCSTR, pszBuf: LPSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSearchAndQualifyW*(pszPath: LPCWSTR, pszBuf: LPWSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSetDlgItemPathA*(hDlg: HWND, id: int32, pszPath: LPCSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSetDlgItemPathW*(hDlg: HWND, id: int32, pszPath: LPCWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSkipRootA*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathSkipRootW*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathStripPathA*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathStripPathW*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathStripToRootA*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathStripToRootW*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnquoteSpacesA*(lpsz: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnquoteSpacesW*(lpsz: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMakeSystemFolderA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathMakeSystemFolderW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnmakeSystemFolderA*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnmakeSystemFolderW*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsSystemFolderA*(pszPath: LPCSTR, dwAttrb: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathIsSystemFolderW*(pszPath: LPCWSTR, dwAttrb: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUndecorateA*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUndecorateW*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnExpandEnvStringsA*(pszPath: LPCSTR, pszBuf: LPSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathUnExpandEnvStringsW*(pszPath: LPCWSTR, pszBuf: LPWSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCompareA*(psz1: LPCSTR, psz2: LPCSTR, fIgnoreSlash: WINBOOL): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCompareW*(psz1: LPCWSTR, psz2: LPCWSTR, fIgnoreSlash: WINBOOL): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCombineA*(pszBase: LPCSTR, pszRelative: LPCSTR, pszCombined: LPSTR, pcchCombined: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCombineW*(pszBase: LPCWSTR, pszRelative: LPCWSTR, pszCombined: LPWSTR, pcchCombined: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCanonicalizeA*(pszUrl: LPCSTR, pszCanonicalized: LPSTR, pcchCanonicalized: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCanonicalizeW*(pszUrl: LPCWSTR, pszCanonicalized: LPWSTR, pcchCanonicalized: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsOpaqueA*(pszURL: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsOpaqueW*(pszURL: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsNoHistoryA*(pszURL: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsNoHistoryW*(pszURL: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsA*(pszUrl: LPCSTR, UrlIs: TURLIS): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlIsW*(pszUrl: LPCWSTR, UrlIs: TURLIS): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlGetLocationA*(psz1: LPCSTR): LPCSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlGetLocationW*(psz1: LPCWSTR): LPCWSTR {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlUnescapeA*(pszUrl: LPSTR, pszUnescaped: LPSTR, pcchUnescaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlUnescapeW*(pszUrl: LPWSTR, pszUnescaped: LPWSTR, pcchUnescaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlEscapeA*(pszUrl: LPCSTR, pszEscaped: LPSTR, pcchEscaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlEscapeW*(pszUrl: LPCWSTR, pszEscaped: LPWSTR, pcchEscaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCreateFromPathA*(pszPath: LPCSTR, pszUrl: LPSTR, pcchUrl: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlCreateFromPathW*(pszPath: LPCWSTR, pszUrl: LPWSTR, pcchUrl: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCreateFromUrlA*(pszUrl: LPCSTR, pszPath: LPSTR, pcchPath: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc PathCreateFromUrlW*(pszUrl: LPCWSTR, pszPath: LPWSTR, pcchPath: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlHashA*(pszUrl: LPCSTR, pbHash: LPBYTE, cbHash: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlHashW*(pszUrl: LPCWSTR, pbHash: LPBYTE, cbHash: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlGetPartW*(pszIn: LPCWSTR, pszOut: LPWSTR, pcchOut: LPDWORD, dwPart: DWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlGetPartA*(pszIn: LPCSTR, pszOut: LPSTR, pcchOut: LPDWORD, dwPart: DWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlApplySchemeA*(pszIn: LPCSTR, pszOut: LPSTR, pcchOut: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc UrlApplySchemeW*(pszIn: LPCWSTR, pszOut: LPWSTR, pcchOut: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc HashData*(pbData: LPBYTE, cbData: DWORD, pbHash: LPBYTE, cbHash: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteEmptyKeyA*(hkey: HKEY, pszSubKey: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteEmptyKeyW*(hkey: HKEY, pszSubKey: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteKeyA*(hkey: HKEY, pszSubKey: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteKeyW*(hkey: HKEY, pszSubKey: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegDuplicateHKey*(hkey: HKEY): HKEY {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteValueA*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHDeleteValueW*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHGetValueA*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHGetValueW*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHSetValueA*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, dwType: DWORD, pvData: LPCVOID, cbData: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHSetValueW*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, dwType: DWORD, pvData: LPCVOID, cbData: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetValueA*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, dwFlags: SRRF, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetValueW*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, dwFlags: SRRF, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHQueryValueExA*(hkey: HKEY, pszValue: LPCSTR, pdwReserved: ptr DWORD, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHQueryValueExW*(hkey: HKEY, pszValue: LPCWSTR, pdwReserved: ptr DWORD, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHEnumKeyExA*(hkey: HKEY, dwIndex: DWORD, pszName: LPSTR, pcchName: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHEnumKeyExW*(hkey: HKEY, dwIndex: DWORD, pszName: LPWSTR, pcchName: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHEnumValueA*(hkey: HKEY, dwIndex: DWORD, pszValueName: LPSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHEnumValueW*(hkey: HKEY, dwIndex: DWORD, pszValueName: LPWSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHQueryInfoKeyA*(hkey: HKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHQueryInfoKeyW*(hkey: HKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCopyKeyA*(hkeySrc: HKEY, szSrcSubKey: LPCSTR, hkeyDest: HKEY, fReserved: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCopyKeyW*(hkeySrc: HKEY, wszSrcSubKey: LPCWSTR, hkeyDest: HKEY, fReserved: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetPathA*(hKey: HKEY, pcszSubKey: LPCSTR, pcszValue: LPCSTR, pszPath: LPSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetPathW*(hKey: HKEY, pcszSubKey: LPCWSTR, pcszValue: LPCWSTR, pszPath: LPWSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegSetPathA*(hKey: HKEY, pcszSubKey: LPCSTR, pcszValue: LPCSTR, pcszPath: LPCSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegSetPathW*(hKey: HKEY, pcszSubKey: LPCWSTR, pcszValue: LPCWSTR, pcszPath: LPCWSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegCreateUSKeyA*(pszPath: LPCSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegCreateUSKeyW*(pwzPath: LPCWSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegOpenUSKeyA*(pszPath: LPCSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, fIgnoreHKCU: WINBOOL): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegOpenUSKeyW*(pwzPath: LPCWSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, fIgnoreHKCU: WINBOOL): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegQueryUSValueA*(hUSKey: HUSKEY, pszValue: LPCSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegQueryUSValueW*(hUSKey: HUSKEY, pwzValue: LPCWSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegWriteUSValueA*(hUSKey: HUSKEY, pszValue: LPCSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegWriteUSValueW*(hUSKey: HUSKEY, pwzValue: LPCWSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegDeleteUSValueA*(hUSKey: HUSKEY, pszValue: LPCSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegDeleteEmptyUSKeyW*(hUSKey: HUSKEY, pwzSubKey: LPCWSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegDeleteEmptyUSKeyA*(hUSKey: HUSKEY, pszSubKey: LPCSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegDeleteUSValueW*(hUSKey: HUSKEY, pwzValue: LPCWSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegEnumUSKeyA*(hUSKey: HUSKEY, dwIndex: DWORD, pszName: LPSTR, pcchName: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegEnumUSKeyW*(hUSKey: HUSKEY, dwIndex: DWORD, pwzName: LPWSTR, pcchName: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegEnumUSValueA*(hUSkey: HUSKEY, dwIndex: DWORD, pszValueName: LPSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegEnumUSValueW*(hUSkey: HUSKEY, dwIndex: DWORD, pszValueName: LPWSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegQueryInfoUSKeyA*(hUSKey: HUSKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegQueryInfoUSKeyW*(hUSKey: HUSKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegCloseUSKey*(hUSKey: HUSKEY): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetUSValueA*(pszSubKey: LPCSTR, pszValue: LPCSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetUSValueW*(pwzSubKey: LPCWSTR, pwzValue: LPCWSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegSetUSValueA*(pszSubKey: LPCSTR, pszValue: LPCSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegSetUSValueW*(pwzSubKey: LPCWSTR, pwzValue: LPCWSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetIntW*(hk: HKEY, pwzKey: LPCWSTR, iDefault: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetBoolUSValueA*(pszSubKey: LPCSTR, pszValue: LPCSTR, fIgnoreHKCU: WINBOOL, fDefault: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHRegGetBoolUSValueW*(pszSubKey: LPCWSTR, pszValue: LPCWSTR, fIgnoreHKCU: WINBOOL, fDefault: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocCreate*(clsid: CLSID, riid: REFIID, ppv: ptr LPVOID): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryStringA*(flags: ASSOCF, str: ASSOCSTR, pszAssoc: LPCSTR, pszExtra: LPCSTR, pszOut: LPSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryStringW*(flags: ASSOCF, str: ASSOCSTR, pszAssoc: LPCWSTR, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryStringByKeyA*(flags: ASSOCF, str: ASSOCSTR, hkAssoc: HKEY, pszExtra: LPCSTR, pszOut: LPSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryStringByKeyW*(flags: ASSOCF, str: ASSOCSTR, hkAssoc: HKEY, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryKeyA*(flags: ASSOCF, key: ASSOCKEY, pszAssoc: LPCSTR, pszExtra: LPCSTR, phkeyOut: ptr HKEY): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocQueryKeyW*(flags: ASSOCF, key: ASSOCKEY, pszAssoc: LPCWSTR, pszExtra: LPCWSTR, phkeyOut: ptr HKEY): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocIsDangerous*(pszAssoc: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc AssocGetPerceivedType*(pszExt: LPCWSTR, ptype: ptr PERCEIVED, pflag: ptr PERCEIVEDFLAG, ppszType: ptr LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHOpenRegStreamA*(hkey: HKEY, pszSubkey: LPCSTR, pszValue: LPCSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHOpenRegStreamW*(hkey: HKEY, pszSubkey: LPCWSTR, pszValue: LPCWSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHOpenRegStream2A*(hkey: HKEY, pszSubkey: LPCSTR, pszValue: LPCSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHOpenRegStream2W*(hkey: HKEY, pszSubkey: LPCWSTR, pszValue: LPCWSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateStreamOnFileA*(pszFile: LPCSTR, grfMode: DWORD, ppstm: ptr ptr IStream): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateStreamOnFileW*(pszFile: LPCWSTR, grfMode: DWORD, ppstm: ptr ptr IStream): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateStreamOnFileEx*(pszFile: LPCWSTR, grfMode: DWORD, dwAttributes: DWORD, fCreate: WINBOOL, pstmTemplate: ptr IStream, ppstm: ptr ptr IStream): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc GetAcceptLanguagesA*(psz: LPSTR, pcch: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc GetAcceptLanguagesW*(psz: LPWSTR, pcch: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHGetViewStatePropertyBag*(pidl: LPCITEMIDLIST, pszBagName: LPCWSTR, dwFlags: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHAllocShared*(pvData: pointer, dwSize: DWORD, dwProcessId: DWORD): HANDLE {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHFreeShared*(hData: HANDLE, dwProcessId: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHLockShared*(hData: HANDLE, dwProcessId: DWORD): pointer {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHUnlockShared*(pvData: pointer): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHAutoComplete*(hwndEdit: HWND, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHSetThreadRef*(punk: ptr IUnknown): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHGetThreadRef*(ppunk: ptr ptr IUnknown): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHSkipJunction*(pbc: ptr IBindCtx, pclsid: ptr CLSID): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateThreadRef*(pcRef: ptr LONG, ppunk: ptr ptr IUnknown): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateThread*(pfnThreadProc: LPTHREAD_START_ROUTINE, pData: pointer, dwFlags: DWORD, pfnCallback: LPTHREAD_START_ROUTINE): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHReleaseThreadRef*(): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHCreateShellPalette*(hdc: HDC): HPALETTE {.winapi, stdcall, dynlib: "shlwapi", importc.} proc ColorRGBToHLS*(clrRGB: COLORREF, pwHue: ptr WORD, pwLuminance: ptr WORD, pwSaturation: ptr WORD): void {.winapi, stdcall, dynlib: "shlwapi", importc.} proc ColorHLSToRGB*(wHue: WORD, wLuminance: WORD, wSaturation: WORD): COLORREF {.winapi, stdcall, dynlib: "shlwapi", importc.} proc ColorAdjustLuma*(clrRGB: COLORREF, n: int32, fScale: WINBOOL): COLORREF {.winapi, stdcall, dynlib: "shlwapi", importc.} proc DllInstall*(bInstall: WINBOOL, pszCmdLine: LPCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc IsInternetESCEnabled*(): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc.} proc SHGetFolderPathW*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSimpleIDListFromPath*(pszPath: PCWSTR): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateItemFromIDList*(pidl: PCIDLIST_ABSOLUTE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateItemFromParsingName*(pszPath: PCWSTR, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateItemWithParent*(pidlParent: PCIDLIST_ABSOLUTE, psfParent: ptr IShellFolder, pidl: PCUITEMID_CHILD, riid: REFIID, ppvItem: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateItemFromRelativeName*(psiParent: ptr IShellItem, pszName: PCWSTR, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateItemInKnownFolder*(kfid: REFKNOWNFOLDERID, dwKFFlags: DWORD, pszItem: PCWSTR, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetIDListFromObject*(punk: ptr IUnknown, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetItemFromObject*(punk: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPropertyStoreFromIDList*(pidl: PCIDLIST_ABSOLUTE, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPropertyStoreFromParsingName*(pszPath: PCWSTR, pbc: ptr IBindCtx, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetNameFromIDList*(pidl: PCIDLIST_ABSOLUTE, sigdnName: SIGDN, ppszName: ptr PWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetItemFromDataObject*(pdtobj: ptr IDataObject, dwFlags: DATAOBJ_GET_ITEM_FLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellItemArray*(pidlParent: PCIDLIST_ABSOLUTE, psf: ptr IShellFolder, cidl: UINT, ppidl: PCUITEMID_CHILD_ARRAY, ppsiItemArray: ptr ptr IShellItemArray): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellItemArrayFromDataObject*(pdo: ptr IDataObject, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellItemArrayFromIDLists*(cidl: UINT, rgpidl: PCIDLIST_ABSOLUTE_ARRAY, ppsiItemArray: ptr ptr IShellItemArray): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellItemArrayFromShellItem*(psi: ptr IShellItem, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAddDefaultPropertiesByExt*(pszExt: PCWSTR, pPropStore: ptr IPropertyStore): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDefaultPropertiesOp*(psi: ptr IShellItem, ppFileOp: ptr ptr IFileOperation): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetDefaultProperties*(hwnd: HWND, psi: ptr IShellItem, dwFileOpFlags: DWORD, pfops: ptr IFileOperationProgressSink): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateAssociationRegistration*(riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDefaultExtractIcon*(riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SetCurrentProcessExplicitAppUserModelID*(AppID: PCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc GetCurrentProcessExplicitAppUserModelID*(AppID: ptr PWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetTemporaryPropertyForItem*(psi: ptr IShellItem, propkey: REFPROPERTYKEY, ppropvar: ptr PROPVARIANT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetTemporaryPropertyForItem*(psi: ptr IShellItem, propkey: REFPROPERTYKEY, propvar: REFPROPVARIANT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHShowManageLibraryUI*(psiLibrary: ptr IShellItem, hwndOwner: HWND, pszTitle: LPCWSTR, pszInstruction: LPCWSTR, lmdOptions: LIBRARYMANAGEDIALOGOPTIONS): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHResolveLibrary*(psiLibrary: ptr IShellItem): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAssocEnumHandlers*(pszExtra: PCWSTR, afFilter: ASSOC_FILTER, ppEnumHandler: ptr ptr IEnumAssocHandlers): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAssocEnumHandlersForProtocolByApplication*(protocol: PCWSTR, riid: REFIID, enumHandlers: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetMalloc*(ppMalloc: ptr ptr IMalloc): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAlloc*(cb: SIZE_T): pointer {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFree*(pv: pointer): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetIconOverlayIndexA*(pszIconPath: LPCSTR, iIconIndex: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetIconOverlayIndexW*(pszIconPath: LPCWSTR, iIconIndex: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc ILClone*(pidl: PCUIDLIST_RELATIVE): PIDLIST_RELATIVE {.winapi, stdcall, dynlib: "shell32", importc.} proc ILCloneFirst*(pidl: PCUIDLIST_RELATIVE): PITEMID_CHILD {.winapi, stdcall, dynlib: "shell32", importc.} proc ILCombine*(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCUIDLIST_RELATIVE): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc ILFree*(pidl: PIDLIST_RELATIVE): void {.winapi, stdcall, dynlib: "shell32", importc.} proc ILGetNext*(pidl: PCUIDLIST_RELATIVE): PUIDLIST_RELATIVE {.winapi, stdcall, dynlib: "shell32", importc.} proc ILGetSize*(pidl: PCUIDLIST_RELATIVE): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc ILFindChild*(pidlParent: PIDLIST_ABSOLUTE, pidlChild: PCIDLIST_ABSOLUTE): PUIDLIST_RELATIVE {.winapi, stdcall, dynlib: "shell32", importc.} proc ILFindLastID*(pidl: PCUIDLIST_RELATIVE): PUITEMID_CHILD {.winapi, stdcall, dynlib: "shell32", importc.} proc ILRemoveLastID*(pidl: PUIDLIST_RELATIVE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc ILIsEqual*(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc ILIsParent*(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE, fImmediate: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc ILSaveToStream*(pstm: ptr IStream, pidl: PCUIDLIST_RELATIVE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc ILLoadFromStreamEx*(pstm: ptr IStream, pidl: ptr PIDLIST_RELATIVE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc ILCreateFromPathA*(pszPath: PCSTR): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc ILCreateFromPathW*(pszPath: PCWSTR): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHILCreateFromPath*(pszPath: PCWSTR, ppidl: ptr PIDLIST_ABSOLUTE, rgfInOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc ILAppendID*(pidl: PIDLIST_RELATIVE, pmkid: LPCSHITEMID, fAppend: WINBOOL): PIDLIST_RELATIVE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPathFromIDListEx*(pidl: PCIDLIST_ABSOLUTE, pszPath: PWSTR, cchPath: DWORD, uOpts: GPFIDL_FLAGS): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPathFromIDListA*(pidl: PCIDLIST_ABSOLUTE, pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetPathFromIDListW*(pidl: PCIDLIST_ABSOLUTE, pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDirectory*(hwnd: HWND, pszPath: PCWSTR): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDirectoryExA*(hwnd: HWND, pszPath: LPCSTR, psa: ptr SECURITY_ATTRIBUTES): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDirectoryExW*(hwnd: HWND, pszPath: LPCWSTR, psa: ptr SECURITY_ATTRIBUTES): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHOpenFolderAndSelectItems*(pidlFolder: PCIDLIST_ABSOLUTE, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellItem*(pidlParent: PCIDLIST_ABSOLUTE, psfParent: ptr IShellFolder, pidl: PCUITEMID_CHILD, ppsi: ptr ptr IShellItem): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetSpecialFolderLocation*(hwnd: HWND, csidl: int32, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCloneSpecialIDList*(hwnd: HWND, csidl: int32, fCreate: WINBOOL): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetSpecialFolderPathA*(hwnd: HWND, pszPath: LPSTR, csidl: int32, fCreate: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetSpecialFolderPathW*(hwnd: HWND, pszPath: LPWSTR, csidl: int32, fCreate: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFlushSFCache*(): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFolderPathA*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFolderLocation*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetFolderPathA*(csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPCSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetFolderPathW*(csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFolderPathAndSubDirA*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszSubDir: LPCSTR, pszPath: LPSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetFolderPathAndSubDirW*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszSubDir: LPCWSTR, pszPath: LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetKnownFolderIDList*(rfid: REFKNOWNFOLDERID, dwFlags: DWORD, hToken: HANDLE, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetKnownFolderPath*(rfid: REFKNOWNFOLDERID, dwFlags: DWORD, hToken: HANDLE, pszPath: PCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetKnownFolderPath*(rfid: REFKNOWNFOLDERID, dwFlags: DWORD, hToken: HANDLE, ppszPath: ptr PWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetKnownFolderItem*(rfid: REFKNOWNFOLDERID, flags: KNOWN_FOLDER_FLAG, hToken: HANDLE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetSetFolderCustomSettings*(pfcs: LPSHFOLDERCUSTOMSETTINGS, pszPath: PCWSTR, dwReadWrite: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBrowseForFolderA*(lpbi: LPBROWSEINFOA): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBrowseForFolderW*(lpbi: LPBROWSEINFOW): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHLoadInProc*(rclsid: REFCLSID): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDesktopFolder*(ppshf: ptr ptr IShellFolder): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotify*(wEventId: LONG, uFlags: UINT, dwItem1: LPCVOID, dwItem2: LPCVOID): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAddToRecentDocs*(uFlags: UINT, pv: LPCVOID): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHHandleUpdateImage*(pidlExtra: PCIDLIST_ABSOLUTE): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHUpdateImageA*(pszHashItem: LPCSTR, iIndex: int32, uFlags: UINT, iImageIndex: int32): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHUpdateImageW*(pszHashItem: LPCWSTR, iIndex: int32, uFlags: UINT, iImageIndex: int32): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotifyRegister*(hwnd: HWND, fSources: int32, fEvents: LONG, wMsg: UINT, cEntries: int32, pshcne: ptr SHChangeNotifyEntry): ULONG {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotifyDeregister*(ulID: ULONG): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotifyRegisterThread*(status: SCNRT_STATUS): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotification_Lock*(hChange: HANDLE, dwProcId: DWORD, pppidl: ptr ptr PIDLIST_ABSOLUTE, plEvent: ptr LONG): HANDLE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHChangeNotification_Unlock*(hLock: HANDLE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetRealIDL*(psf: ptr IShellFolder, pidlSimple: PCUITEMID_CHILD, ppidlReal: ptr PITEMID_CHILD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetInstanceExplorer*(ppunk: ptr ptr IUnknown): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDataFromIDListA*(psf: ptr IShellFolder, pidl: PCUITEMID_CHILD, nFormat: int32, pv: pointer, cb: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetDataFromIDListW*(psf: ptr IShellFolder, pidl: PCUITEMID_CHILD, nFormat: int32, pv: pointer, cb: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc RestartDialog*(hwnd: HWND, pszPrompt: PCWSTR, dwReturn: DWORD): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc RestartDialogEx*(hwnd: HWND, pszPrompt: PCWSTR, dwReturn: DWORD, dwReasonCode: DWORD): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCoCreateInstance*(pszCLSID: PCWSTR, pclsid: ptr CLSID, pUnkOuter: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDataObject*(pidlFolder: PCIDLIST_ABSOLUTE, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, pdtInner: ptr IDataObject, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc CIDLData_CreateFromIDArray*(pidlFolder: PCIDLIST_ABSOLUTE, cidl: UINT, apidl: PCUIDLIST_RELATIVE_ARRAY, ppdtobj: ptr ptr IDataObject): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateStdEnumFmtEtc*(cfmt: UINT, afmt: ptr FORMATETC, ppenumFormatEtc: ptr ptr IEnumFORMATETC): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHDoDragDrop*(hwnd: HWND, pdata: ptr IDataObject, pdsrc: ptr IDropSource, dwEffect: DWORD, pdwEffect: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_SetDragImage*(him: HIMAGELIST, pptOffset: ptr POINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_DragEnterEx*(hwndTarget: HWND, ptStart: POINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_DragEnterEx2*(hwndTarget: HWND, ptStart: POINT, pdtObject: ptr IDataObject): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_ShowDragImage*(fShow: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_DragMove*(pt: POINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_DragLeave*(): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DAD_AutoScroll*(hwnd: HWND, pad: ptr AUTO_SCROLL_DATA, pptNow: ptr POINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc ReadCabinetState*(pcs: ptr CABINETSTATE, cLength: int32): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc WriteCabinetState*(pcs: ptr CABINETSTATE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathMakeUniqueName*(pszUniqueName: PWSTR, cchMax: UINT, pszTemplate: PCWSTR, pszLongPlate: PCWSTR, pszDir: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathQualify*(psz: PWSTR): void {.winapi, stdcall, dynlib: "shell32", importc.} proc PathIsExe*(pszPath: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathIsSlowA*(pszFile: LPCSTR, dwAttr: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathIsSlowW*(pszFile: LPCWSTR, dwAttr: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathCleanupSpec*(pszDir: PCWSTR, pszSpec: PWSTR): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc PathResolve*(pszPath: PWSTR, dirs: PZPCWSTR, fFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc GetFileNameFromBrowse*(hwnd: HWND, pszFilePath: PWSTR, cchFilePath: UINT, pszWorkingDir: PCWSTR, pszDefExt: PCWSTR, pszFilters: PCWSTR, pszTitle: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc DriveType*(iDrive: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc RealDriveType*(iDrive: int32, fOKToHitNet: WINBOOL): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc IsNetDrive*(iDrive: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_MergeMenus*(hmDst: HMENU, hmSrc: HMENU, uInsert: UINT, uIDAdjust: UINT, uIDAdjustMax: UINT, uFlags: ULONG): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHObjectProperties*(hwnd: HWND, shopObjectType: DWORD, pszObjectName: PCWSTR, pszPropertyPage: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFormatDrive*(hwnd: HWND, drive: UINT, fmtID: UINT, options: UINT): DWORD {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreatePropSheetExtArray*(hKey: HKEY, pszSubKey: PCWSTR, max_iface: UINT): HPSXA {.winapi, stdcall, dynlib: "shell32", importc.} proc SHDestroyPropSheetExtArray*(hpsxa: HPSXA): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHAddFromPropSheetExtArray*(hpsxa: HPSXA, lpfnAddPage: LPFNADDPROPSHEETPAGE, lParam: LPARAM): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHReplaceFromPropSheetExtArray*(hpsxa: HPSXA, uPageID: UINT, lpfnReplaceWith: LPFNADDPROPSHEETPAGE, lParam: LPARAM): UINT {.winapi, stdcall, dynlib: "shell32", importc.} proc OpenRegStream*(hkey: HKEY, pszSubkey: PCWSTR, pszValue: PCWSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFindFiles*(pidlFolder: PCIDLIST_ABSOLUTE, pidlSaveFile: PCIDLIST_ABSOLUTE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PathGetShortPath*(pszLongPath: PWSTR): void {.winapi, stdcall, dynlib: "shell32", importc.} proc PathYetAnotherMakeUniqueName*(pszUniqueName: PWSTR, pszPath: PCWSTR, pszShort: PCWSTR, pszFileSpec: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc Win32DeleteFile*(pszPath: PCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHRestricted*(rest: RESTRICTIONS): DWORD {.winapi, stdcall, dynlib: "shell32", importc.} proc SignalFileOpen*(pidl: PCIDLIST_ABSOLUTE): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc AssocGetDetailsOfPropKey*(psf: ptr IShellFolder, pidl: PCUITEMID_CHILD, pkey: ptr PROPERTYKEY, pv: ptr VARIANT, pfFoundPropKey: ptr WINBOOL): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHStartNetConnectionDialogW*(hwnd: HWND, pszRemoteName: LPCWSTR, dwType: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHDefExtractIconA*(pszIconFile: LPCSTR, iIndex: int32, uFlags: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHDefExtractIconW*(pszIconFile: LPCWSTR, iIndex: int32, uFlags: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHOpenWithDialog*(hwndParent: HWND, poainfo: ptr OPENASINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_GetImageLists*(phiml: ptr HIMAGELIST, phimlSmall: ptr HIMAGELIST): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_GetCachedImageIndex*(pwszIconPath: PCWSTR, iIconIndex: int32, uIconFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_GetCachedImageIndexA*(pszIconPath: LPCSTR, iIconIndex: int32, uIconFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc Shell_GetCachedImageIndexW*(pszIconPath: LPCWSTR, iIconIndex: int32, uIconFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHValidateUNC*(hwndOwner: HWND, pszFile: PWSTR, fConnect: UINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc PifMgr_OpenProperties*(pszApp: PCWSTR, pszPIF: PCWSTR, hInf: UINT, flOpt: UINT): HANDLE {.winapi, stdcall, dynlib: "shell32", importc.} proc PifMgr_GetProperties*(hProps: HANDLE, pszGroup: PCSTR, lpProps: pointer, cbProps: int32, flOpt: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc PifMgr_SetProperties*(hProps: HANDLE, pszGroup: PCSTR, lpProps: pointer, cbProps: int32, flOpt: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc PifMgr_CloseProperties*(hProps: HANDLE, flOpt: UINT): HANDLE {.winapi, stdcall, dynlib: "shell32", importc.} proc SHSetInstanceExplorer*(punk: ptr IUnknown): void {.winapi, stdcall, dynlib: "shell32", importc.} proc IsUserAnAdmin*(): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHShellFolderView_Message*(hwndMain: HWND, uMsg: UINT, lParam: LPARAM): LRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellFolderView*(pcsfv: ptr SFV_CREATE, ppsv: ptr ptr IShellView): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc CDefFolderMenu_Create2*(pidlFolder: PCIDLIST_ABSOLUTE, hwnd: HWND, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, psf: ptr IShellFolder, pfn: LPFNDFMCALLBACK, nKeys: UINT, ahkeys: ptr HKEY, ppcm: ptr ptr IContextMenu): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateDefaultContextMenu*(pdcm: ptr DEFCONTEXTMENU, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHOpenPropSheetW*(pszCaption: LPCWSTR, ahkeys: ptr HKEY, ckeys: UINT, pclsidDefault: ptr CLSID, pdtobj: ptr IDataObject, psb: ptr IShellBrowser, pStartPage: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc.} proc SHFind_InitMenuPopup*(hmenu: HMENU, hwndOwner: HWND, idCmdFirst: UINT, idCmdLast: UINT): ptr IContextMenu {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateShellFolderViewEx*(pcsfv: ptr CSFV, ppsv: ptr ptr IShellView): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} when winimUnicode: type LPSHELLSTATE* = LPSHELLSTATEW when winimAnsi: type LPSHELLSTATE* = LPSHELLSTATEA proc SHGetSetSettings*(lpss: LPSHELLSTATE, dwMask: DWORD, bSet: WINBOOL): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetSettings*(psfs: ptr SHELLFLAGSTATE, dwMask: DWORD): void {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBindToParent*(pidl: PCIDLIST_ABSOLUTE, riid: REFIID, ppv: ptr pointer, ppidlLast: ptr PCUITEMID_CHILD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBindToFolderIDListParent*(psfRoot: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, riid: REFIID, ppv: ptr pointer, ppidlLast: ptr PCUITEMID_CHILD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBindToFolderIDListParentEx*(psfRoot: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, ppbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer, ppidlLast: ptr PCUITEMID_CHILD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHBindToObject*(psf: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHParseDisplayName*(pszName: PCWSTR, pbc: ptr IBindCtx, ppidl: ptr PIDLIST_ABSOLUTE, sfgaoIn: SFGAOF, psfgaoOut: ptr SFGAOF): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHPathPrepareForWriteA*(hwnd: HWND, punkEnableModless: ptr IUnknown, pszPath: LPCSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHPathPrepareForWriteW*(hwnd: HWND, punkEnableModless: ptr IUnknown, pszPath: LPCWSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SoftwareUpdateMessageBox*(hWnd: HWND, pszDistUnit: PCWSTR, dwFlags: DWORD, psdi: LPSOFTDISTINFO): DWORD {.winapi, stdcall, dynlib: "shdocvw", importc.} proc SHPropStgCreate*(psstg: ptr IPropertySetStorage, fmtid: REFFMTID, pclsid: ptr CLSID, grfFlags: DWORD, grfMode: DWORD, dwDisposition: DWORD, ppstg: ptr ptr IPropertyStorage, puCodePage: ptr UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHPropStgReadMultiple*(pps: ptr IPropertyStorage, uCodePage: UINT, cpspec: ULONG, rgpspec: ptr PROPSPEC, rgvar: ptr PROPVARIANT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHPropStgWriteMultiple*(pps: ptr IPropertyStorage, puCodePage: ptr UINT, cpspec: ULONG, rgpspec: ptr PROPSPEC, rgvar: ptr PROPVARIANT, propidNameFirst: PROPID): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateFileExtractIconW*(pszFile: LPCWSTR, dwFileAttributes: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHLimitInputEdit*(hwndEdit: HWND, psf: ptr IShellFolder): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHGetAttributesFromDataObject*(pdo: ptr IDataObject, dwAttributeMask: DWORD, pdwAttributes: ptr DWORD, pcItems: ptr UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHMultiFileProperties*(pdtobj: ptr IDataObject, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHMapPIDLToSystemImageListIndex*(pshf: ptr IShellFolder, pidl: PCUITEMID_CHILD, piIndexSel: ptr int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCLSIDFromString*(psz: PCWSTR, pclsid: ptr CLSID): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc SHCreateQueryCancelAutoPlayMoniker*(ppmoniker: ptr ptr IMoniker): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc PerUserInit*(): void {.winapi, stdcall, dynlib: "mydocs", importc.} proc PickIconDlg*(hwnd: HWND, pszIconPath: PWSTR, cchIconPath: UINT, piIconIndex: ptr int32): int32 {.winapi, stdcall, dynlib: "shell32", importc.} proc StgMakeUniqueName*(pstgParent: ptr IStorage, pszFileSpec: PCWSTR, grfMode: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc.} proc ImportPrivacySettings*(pszFilename: PCWSTR, pfParsePrivacyPreferences: ptr WINBOOL, pfParsePerSiteRules: ptr WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shdocvw", importc.} proc `hIcon=`*(self: var SHELLEXECUTEINFOA, x: HANDLE) {.inline.} = self.union1.hIcon = x proc hIcon*(self: SHELLEXECUTEINFOA): HANDLE {.inline.} = self.union1.hIcon proc hIcon*(self: var SHELLEXECUTEINFOA): var HANDLE {.inline.} = self.union1.hIcon proc `hMonitor=`*(self: var SHELLEXECUTEINFOA, x: HANDLE) {.inline.} = self.union1.hMonitor = x proc hMonitor*(self: SHELLEXECUTEINFOA): HANDLE {.inline.} = self.union1.hMonitor proc hMonitor*(self: var SHELLEXECUTEINFOA): var HANDLE {.inline.} = self.union1.hMonitor proc `hIcon=`*(self: var SHELLEXECUTEINFOW, x: HANDLE) {.inline.} = self.union1.hIcon = x proc hIcon*(self: SHELLEXECUTEINFOW): HANDLE {.inline.} = self.union1.hIcon proc hIcon*(self: var SHELLEXECUTEINFOW): var HANDLE {.inline.} = self.union1.hIcon proc `hMonitor=`*(self: var SHELLEXECUTEINFOW, x: HANDLE) {.inline.} = self.union1.hMonitor = x proc hMonitor*(self: SHELLEXECUTEINFOW): HANDLE {.inline.} = self.union1.hMonitor proc hMonitor*(self: var SHELLEXECUTEINFOW): var HANDLE {.inline.} = self.union1.hMonitor proc `uTimeout=`*(self: var NOTIFYICONDATAA, x: UINT) {.inline.} = self.union1.uTimeout = x proc uTimeout*(self: NOTIFYICONDATAA): UINT {.inline.} = self.union1.uTimeout proc uTimeout*(self: var NOTIFYICONDATAA): var UINT {.inline.} = self.union1.uTimeout proc `uVersion=`*(self: var NOTIFYICONDATAA, x: UINT) {.inline.} = self.union1.uVersion = x proc uVersion*(self: NOTIFYICONDATAA): UINT {.inline.} = self.union1.uVersion proc uVersion*(self: var NOTIFYICONDATAA): var UINT {.inline.} = self.union1.uVersion proc `uTimeout=`*(self: var NOTIFYICONDATAW, x: UINT) {.inline.} = self.union1.uTimeout = x proc uTimeout*(self: NOTIFYICONDATAW): UINT {.inline.} = self.union1.uTimeout proc uTimeout*(self: var NOTIFYICONDATAW): var UINT {.inline.} = self.union1.uTimeout proc `uVersion=`*(self: var NOTIFYICONDATAW, x: UINT) {.inline.} = self.union1.uVersion = x proc uVersion*(self: NOTIFYICONDATAW): UINT {.inline.} = self.union1.uVersion proc uVersion*(self: var NOTIFYICONDATAW): var UINT {.inline.} = self.union1.uVersion proc Init*(self: ptr IQueryAssociations, flags: ASSOCF, pszAssoc: LPCWSTR, hkProgid: HKEY, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Init(self, flags, pszAssoc, hkProgid, hwnd) proc GetString*(self: ptr IQueryAssociations, flags: ASSOCF, str: ASSOCSTR, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetString(self, flags, str, pszExtra, pszOut, pcchOut) proc GetKey*(self: ptr IQueryAssociations, flags: ASSOCF, key: ASSOCKEY, pszExtra: LPCWSTR, phkeyOut: ptr HKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetKey(self, flags, key, pszExtra, phkeyOut) proc GetData*(self: ptr IQueryAssociations, flags: ASSOCF, data: ASSOCDATA, pszExtra: LPCWSTR, pvOut: LPVOID, pcbOut: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetData(self, flags, data, pszExtra, pvOut, pcbOut) proc GetEnum*(self: ptr IQueryAssociations, flags: ASSOCF, assocenum: ASSOCENUM, pszExtra: LPCWSTR, riid: REFIID, ppvOut: ptr LPVOID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEnum(self, flags, assocenum, pszExtra, riid, ppvOut) proc SetFolderView*(self: ptr IFolderViewOC, pdisp: ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderView(self, pdisp) proc get_Name*(self: ptr DFConstraint, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Name(self, pbs) proc get_Value*(self: ptr DFConstraint, pv: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Value(self, pv) proc get_Title*(self: ptr Folder, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Title(self, pbs) proc get_Application*(self: ptr Folder, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr Folder, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc get_ParentFolder*(self: ptr Folder, ppsf: ptr ptr Folder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_ParentFolder(self, ppsf) proc Items*(self: ptr Folder, ppid: ptr ptr FolderItems): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Items(self, ppid) proc ParseName*(self: ptr Folder, bName: BSTR, ppid: ptr ptr FolderItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ParseName(self, bName, ppid) proc NewFolder*(self: ptr Folder, bName: BSTR, vOptions: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NewFolder(self, bName, vOptions) proc MoveHere*(self: ptr Folder, vItem: VARIANT, vOptions: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MoveHere(self, vItem, vOptions) proc CopyHere*(self: ptr Folder, vItem: VARIANT, vOptions: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyHere(self, vItem, vOptions) proc GetDetailsOf*(self: ptr Folder, vItem: VARIANT, iColumn: int32, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDetailsOf(self, vItem, iColumn, pbs) proc get_Self*(self: ptr Folder2, ppfi: ptr ptr FolderItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Self(self, ppfi) proc get_OfflineStatus*(self: ptr Folder2, pul: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_OfflineStatus(self, pul) proc mSynchronize*(self: ptr Folder2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Synchronize(self) proc get_HaveToShowWebViewBarricade*(self: ptr Folder2, pbHaveToShowWebViewBarricade: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_HaveToShowWebViewBarricade(self, pbHaveToShowWebViewBarricade) proc DismissedWebViewBarricade*(self: ptr Folder2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DismissedWebViewBarricade(self) proc get_ShowWebViewBarricade*(self: ptr Folder3, pbShowWebViewBarricade: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_ShowWebViewBarricade(self, pbShowWebViewBarricade) proc put_ShowWebViewBarricade*(self: ptr Folder3, bShowWebViewBarricade: VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_ShowWebViewBarricade(self, bShowWebViewBarricade) proc get_Application*(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc get_Name*(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Name(self, pbs) proc put_Name*(self: ptr FolderItem, bs: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Name(self, bs) proc get_Path*(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Path(self, pbs) proc get_GetLink*(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_GetLink(self, ppid) proc get_GetFolder*(self: ptr FolderItem, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_GetFolder(self, ppid) proc get_IsLink*(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_IsLink(self, pb) proc get_IsFolder*(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_IsFolder(self, pb) proc get_IsFileSystem*(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_IsFileSystem(self, pb) proc get_IsBrowsable*(self: ptr FolderItem, pb: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_IsBrowsable(self, pb) proc get_ModifyDate*(self: ptr FolderItem, pdt: ptr DATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_ModifyDate(self, pdt) proc put_ModifyDate*(self: ptr FolderItem, dt: DATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_ModifyDate(self, dt) proc get_Size*(self: ptr FolderItem, pul: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Size(self, pul) proc get_Type*(self: ptr FolderItem, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Type(self, pbs) proc Verbs*(self: ptr FolderItem, ppfic: ptr ptr FolderItemVerbs): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Verbs(self, ppfic) proc InvokeVerb*(self: ptr FolderItem, vVerb: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvokeVerb(self, vVerb) proc InvokeVerbEx*(self: ptr FolderItem2, vVerb: VARIANT, vArgs: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvokeVerbEx(self, vVerb, vArgs) proc ExtendedProperty*(self: ptr FolderItem2, bstrPropName: BSTR, pvRet: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ExtendedProperty(self, bstrPropName, pvRet) proc get_Count*(self: ptr FolderItems, plCount: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Count(self, plCount) proc get_Application*(self: ptr FolderItems, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr FolderItems, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc Item*(self: ptr FolderItems, index: VARIANT, ppid: ptr ptr FolderItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Item(self, index, ppid) proc NewEnum*(self: ptr FolderItems, ppunk: ptr ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NewEnum(self, ppunk) proc InvokeVerbEx*(self: ptr FolderItems2, vVerb: VARIANT, vArgs: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvokeVerbEx(self, vVerb, vArgs) proc Filter*(self: ptr FolderItems3, grfFlags: LONG, bstrFileSpec: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Filter(self, grfFlags, bstrFileSpec) proc get_Verbs*(self: ptr FolderItems3, ppfic: ptr ptr FolderItemVerbs): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Verbs(self, ppfic) proc get_Application*(self: ptr FolderItemVerb, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr FolderItemVerb, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc get_Name*(self: ptr FolderItemVerb, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Name(self, pbs) proc DoIt*(self: ptr FolderItemVerb): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DoIt(self) proc get_Count*(self: ptr FolderItemVerbs, plCount: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Count(self, plCount) proc get_Application*(self: ptr FolderItemVerbs, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr FolderItemVerbs, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc Item*(self: ptr FolderItemVerbs, index: VARIANT, ppid: ptr ptr FolderItemVerb): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Item(self, index, ppid) proc NewEnum*(self: ptr FolderItemVerbs, ppunk: ptr ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NewEnum(self, ppunk) proc get_Path*(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Path(self, pbs) proc put_Path*(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Path(self, bs) proc get_Description*(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Description(self, pbs) proc put_Description*(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Description(self, bs) proc get_WorkingDirectory*(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_WorkingDirectory(self, pbs) proc put_WorkingDirectory*(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_WorkingDirectory(self, bs) proc get_Arguments*(self: ptr IShellLinkDual, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Arguments(self, pbs) proc put_Arguments*(self: ptr IShellLinkDual, bs: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Arguments(self, bs) proc get_Hotkey*(self: ptr IShellLinkDual, piHK: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Hotkey(self, piHK) proc put_Hotkey*(self: ptr IShellLinkDual, iHK: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Hotkey(self, iHK) proc get_ShowCommand*(self: ptr IShellLinkDual, piShowCommand: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_ShowCommand(self, piShowCommand) proc put_ShowCommand*(self: ptr IShellLinkDual, iShowCommand: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_ShowCommand(self, iShowCommand) proc Resolve*(self: ptr IShellLinkDual, fFlags: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Resolve(self, fFlags) proc GetIconLocation*(self: ptr IShellLinkDual, pbs: ptr BSTR, piIcon: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, pbs, piIcon) proc SetIconLocation*(self: ptr IShellLinkDual, bs: BSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconLocation(self, bs, iIcon) proc Save*(self: ptr IShellLinkDual, vWhere: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Save(self, vWhere) proc get_Target*(self: ptr IShellLinkDual2, ppfi: ptr ptr FolderItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Target(self, ppfi) proc get_Application*(self: ptr IShellFolderViewDual, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr IShellFolderViewDual, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc get_Folder*(self: ptr IShellFolderViewDual, ppid: ptr ptr Folder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Folder(self, ppid) proc SelectedItems*(self: ptr IShellFolderViewDual, ppid: ptr ptr FolderItems): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectedItems(self, ppid) proc get_FocusedItem*(self: ptr IShellFolderViewDual, ppid: ptr ptr FolderItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_FocusedItem(self, ppid) proc SelectItem*(self: ptr IShellFolderViewDual, pvfi: ptr VARIANT, dwFlags: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectItem(self, pvfi, dwFlags) proc PopupItemMenu*(self: ptr IShellFolderViewDual, pfi: ptr FolderItem, vx: VARIANT, vy: VARIANT, pbs: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PopupItemMenu(self, pfi, vx, vy, pbs) proc get_Script*(self: ptr IShellFolderViewDual, ppDisp: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Script(self, ppDisp) proc get_ViewOptions*(self: ptr IShellFolderViewDual, plViewOptions: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_ViewOptions(self, plViewOptions) proc get_CurrentViewMode*(self: ptr IShellFolderViewDual2, pViewMode: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_CurrentViewMode(self, pViewMode) proc put_CurrentViewMode*(self: ptr IShellFolderViewDual2, ViewMode: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_CurrentViewMode(self, ViewMode) proc SelectItemRelative*(self: ptr IShellFolderViewDual2, iRelative: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectItemRelative(self, iRelative) proc get_GroupBy*(self: ptr IShellFolderViewDual3, pbstrGroupBy: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_GroupBy(self, pbstrGroupBy) proc put_GroupBy*(self: ptr IShellFolderViewDual3, bstrGroupBy: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_GroupBy(self, bstrGroupBy) proc get_FolderFlags*(self: ptr IShellFolderViewDual3, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_FolderFlags(self, pdwFlags) proc put_FolderFlags*(self: ptr IShellFolderViewDual3, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_FolderFlags(self, dwFlags) proc get_SortColumns*(self: ptr IShellFolderViewDual3, pbstrSortColumns: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_SortColumns(self, pbstrSortColumns) proc put_SortColumns*(self: ptr IShellFolderViewDual3, bstrSortColumns: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_SortColumns(self, bstrSortColumns) proc put_IconSize*(self: ptr IShellFolderViewDual3, iIconSize: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_IconSize(self, iIconSize) proc get_IconSize*(self: ptr IShellFolderViewDual3, piIconSize: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_IconSize(self, piIconSize) proc FilterView*(self: ptr IShellFolderViewDual3, bstrFilterText: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FilterView(self, bstrFilterText) proc get_Application*(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Application(self, ppid) proc get_Parent*(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Parent(self, ppid) proc NameSpace*(self: ptr IShellDispatch, vDir: VARIANT, ppsdf: ptr ptr Folder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NameSpace(self, vDir, ppsdf) proc BrowseForFolder*(self: ptr IShellDispatch, Hwnd: LONG, Title: BSTR, Options: LONG, RootFolder: VARIANT, ppsdf: ptr ptr Folder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BrowseForFolder(self, Hwnd, Title, Options, RootFolder, ppsdf) proc Windows*(self: ptr IShellDispatch, ppid: ptr ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Windows(self, ppid) proc Open*(self: ptr IShellDispatch, vDir: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Open(self, vDir) proc Explore*(self: ptr IShellDispatch, vDir: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Explore(self, vDir) proc MinimizeAll*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MinimizeAll(self) proc UndoMinimizeALL*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UndoMinimizeALL(self) proc FileRun*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FileRun(self) proc CascadeWindows*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CascadeWindows(self) proc TileVertically*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TileVertically(self) proc TileHorizontally*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TileHorizontally(self) proc ShutdownWindows*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShutdownWindows(self) proc Suspend*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Suspend(self) proc EjectPC*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EjectPC(self) proc SetTime*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTime(self) proc TrayProperties*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TrayProperties(self) proc Help*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Help(self) proc FindFiles*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindFiles(self) proc FindComputer*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindComputer(self) proc RefreshMenu*(self: ptr IShellDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RefreshMenu(self) proc ControlPanelItem*(self: ptr IShellDispatch, bstrDir: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ControlPanelItem(self, bstrDir) proc IsRestricted*(self: ptr IShellDispatch2, Group: BSTR, Restriction: BSTR, plRestrictValue: ptr LONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsRestricted(self, Group, Restriction, plRestrictValue) proc ShellExecute*(self: ptr IShellDispatch2, File: BSTR, vArgs: VARIANT, vDir: VARIANT, vOperation: VARIANT, vShow: VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShellExecute(self, File, vArgs, vDir, vOperation, vShow) proc FindPrinter*(self: ptr IShellDispatch2, name: BSTR, location: BSTR, model: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindPrinter(self, name, location, model) proc GetSystemInformation*(self: ptr IShellDispatch2, name: BSTR, pv: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSystemInformation(self, name, pv) proc mServiceStart*(self: ptr IShellDispatch2, ServiceName: BSTR, Persistent: VARIANT, pSuccess: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ServiceStart(self, ServiceName, Persistent, pSuccess) proc mServiceStop*(self: ptr IShellDispatch2, ServiceName: BSTR, Persistent: VARIANT, pSuccess: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ServiceStop(self, ServiceName, Persistent, pSuccess) proc IsServiceRunning*(self: ptr IShellDispatch2, ServiceName: BSTR, pRunning: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsServiceRunning(self, ServiceName, pRunning) proc CanStartStopService*(self: ptr IShellDispatch2, ServiceName: BSTR, pCanStartStop: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CanStartStopService(self, ServiceName, pCanStartStop) proc ShowBrowserBar*(self: ptr IShellDispatch2, bstrClsid: BSTR, bShow: VARIANT, pSuccess: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowBrowserBar(self, bstrClsid, bShow, pSuccess) proc AddToRecent*(self: ptr IShellDispatch3, varFile: VARIANT, bstrCategory: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddToRecent(self, varFile, bstrCategory) proc WindowsSecurity*(self: ptr IShellDispatch4): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.WindowsSecurity(self) proc ToggleDesktop*(self: ptr IShellDispatch4): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ToggleDesktop(self) proc ExplorerPolicy*(self: ptr IShellDispatch4, bstrPolicyName: BSTR, pValue: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ExplorerPolicy(self, bstrPolicyName, pValue) proc GetSetting*(self: ptr IShellDispatch4, lSetting: LONG, pResult: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSetting(self, lSetting, pResult) proc WindowSwitcher*(self: ptr IShellDispatch5): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.WindowSwitcher(self) proc SearchCommand*(self: ptr IShellDispatch6): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SearchCommand(self) proc SetFocus*(self: ptr IFileSearchBand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFocus(self) proc SetSearchParameters*(self: ptr IFileSearchBand, pbstrSearchID: ptr BSTR, bNavToResults: VARIANT_BOOL, pvarScope: ptr VARIANT, pvarQueryFile: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSearchParameters(self, pbstrSearchID, bNavToResults, pvarScope, pvarQueryFile) proc get_SearchID*(self: ptr IFileSearchBand, pbstrSearchID: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_SearchID(self, pbstrSearchID) proc get_Scope*(self: ptr IFileSearchBand, pvarScope: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Scope(self, pvarScope) proc get_QueryFile*(self: ptr IFileSearchBand, pvarFile: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_QueryFile(self, pvarFile) proc FinalBack*(self: ptr IWebWizardHost): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FinalBack(self) proc FinalNext*(self: ptr IWebWizardHost): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FinalNext(self) proc Cancel*(self: ptr IWebWizardHost): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Cancel(self) proc put_Caption*(self: ptr IWebWizardHost, bstrCaption: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Caption(self, bstrCaption) proc get_Caption*(self: ptr IWebWizardHost, pbstrCaption: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Caption(self, pbstrCaption) proc put_Property*(self: ptr IWebWizardHost, bstrPropertyName: BSTR, pvProperty: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.put_Property(self, bstrPropertyName, pvProperty) proc get_Property*(self: ptr IWebWizardHost, bstrPropertyName: BSTR, pvProperty: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.get_Property(self, bstrPropertyName, pvProperty) proc SetWizardButtons*(self: ptr IWebWizardHost, vfEnableBack: VARIANT_BOOL, vfEnableNext: VARIANT_BOOL, vfLastPage: VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWizardButtons(self, vfEnableBack, vfEnableNext, vfLastPage) proc SetHeaderText*(self: ptr IWebWizardHost, bstrHeaderTitle: BSTR, bstrHeaderSubtitle: BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetHeaderText(self, bstrHeaderTitle, bstrHeaderSubtitle) proc PassportAuthenticate*(self: ptr INewWDEvents, bstrSignInUrl: BSTR, pvfAuthenitcated: ptr VARIANT_BOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PassportAuthenticate(self, bstrSignInUrl, pvfAuthenitcated) proc Init*(self: ptr IAutoComplete, hwndEdit: HWND, punkACL: ptr IUnknown, pwszRegKeyPath: LPCWSTR, pwszQuickComplete: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Init(self, hwndEdit, punkACL, pwszRegKeyPath, pwszQuickComplete) proc Enable*(self: ptr IAutoComplete, fEnable: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Enable(self, fEnable) proc SetOptions*(self: ptr IAutoComplete2, dwFlag: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOptions(self, dwFlag) proc GetOptions*(self: ptr IAutoComplete2, pdwFlag: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOptions(self, pdwFlag) proc NextItem*(self: ptr IEnumACString, pszUrl: LPWSTR, cchMax: ULONG, pulSortIndex: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NextItem(self, pszUrl, cchMax, pulSortIndex) proc SetEnumOptions*(self: ptr IEnumACString, dwOptions: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetEnumOptions(self, dwOptions) proc GetEnumOptions*(self: ptr IEnumACString, pdwOptions: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEnumOptions(self, pdwOptions) proc SetAsyncMode*(self: ptr IDataObjectAsyncCapability, fDoOpAsync: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAsyncMode(self, fDoOpAsync) proc GetAsyncMode*(self: ptr IDataObjectAsyncCapability, pfIsOpAsync: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAsyncMode(self, pfIsOpAsync) proc StartOperation*(self: ptr IDataObjectAsyncCapability, pbcReserved: ptr IBindCtx): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartOperation(self, pbcReserved) proc InOperation*(self: ptr IDataObjectAsyncCapability, pfInAsyncOp: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InOperation(self, pfInAsyncOp) proc EndOperation*(self: ptr IDataObjectAsyncCapability, hResult: HRESULT, pbcReserved: ptr IBindCtx, dwEffects: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EndOperation(self, hResult, pbcReserved, dwEffects) proc GetCount*(self: ptr IObjectArray, pcObjects: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCount(self, pcObjects) proc GetAt*(self: ptr IObjectArray, uiIndex: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAt(self, uiIndex, riid, ppv) proc AddObject*(self: ptr IObjectCollection, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddObject(self, punk) proc AddFromArray*(self: ptr IObjectCollection, poaSource: ptr IObjectArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddFromArray(self, poaSource) proc RemoveObjectAt*(self: ptr IObjectCollection, uiIndex: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveObjectAt(self, uiIndex) proc Clear*(self: ptr IObjectCollection): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clear(self) proc QueryContextMenu*(self: ptr IContextMenu, hmenu: HMENU, indexMenu: UINT, idCmdFirst: UINT, idCmdLast: UINT, uFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryContextMenu(self, hmenu, indexMenu, idCmdFirst, idCmdLast, uFlags) proc InvokeCommand*(self: ptr IContextMenu, pici: ptr CMINVOKECOMMANDINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvokeCommand(self, pici) proc GetCommandString*(self: ptr IContextMenu, idCmd: UINT_PTR, uType: UINT, pReserved: ptr UINT, pszName: ptr CHAR, cchMax: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCommandString(self, idCmd, uType, pReserved, pszName, cchMax) proc HandleMenuMsg*(self: ptr IContextMenu2, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleMenuMsg(self, uMsg, wParam, lParam) proc HandleMenuMsg2*(self: ptr IContextMenu3, uMsg: UINT, wParam: WPARAM, lParam: LPARAM, plResult: ptr LRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleMenuMsg2(self, uMsg, wParam, lParam, plResult) proc SetKeyState*(self: ptr IExecuteCommand, grfKeyState: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetKeyState(self, grfKeyState) proc SetParameters*(self: ptr IExecuteCommand, pszParameters: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetParameters(self, pszParameters) proc SetPosition*(self: ptr IExecuteCommand, pt: POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPosition(self, pt) proc SetShowWindow*(self: ptr IExecuteCommand, nShow: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetShowWindow(self, nShow) proc SetNoShowUI*(self: ptr IExecuteCommand, fNoShowUI: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNoShowUI(self, fNoShowUI) proc SetDirectory*(self: ptr IExecuteCommand, pszDirectory: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDirectory(self, pszDirectory) proc Execute*(self: ptr IExecuteCommand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Execute(self) proc Initialize*(self: ptr IPersistFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pidl) proc Run*(self: ptr IRunnableTask): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Run(self) proc Kill*(self: ptr IRunnableTask, bWait: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Kill(self, bWait) proc Suspend*(self: ptr IRunnableTask): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Suspend(self) proc Resume*(self: ptr IRunnableTask): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Resume(self) proc IsRunning*(self: ptr IRunnableTask): ULONG {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsRunning(self) proc AddTask*(self: ptr IShellTaskScheduler, prt: ptr IRunnableTask, rtoid: REFTASKOWNERID, lParam: DWORD_PTR, dwPriority: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddTask(self, prt, rtoid, lParam, dwPriority) proc RemoveTasks*(self: ptr IShellTaskScheduler, rtoid: REFTASKOWNERID, lParam: DWORD_PTR, bWaitIfRunning: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveTasks(self, rtoid, lParam, bWaitIfRunning) proc CountTasks*(self: ptr IShellTaskScheduler, rtoid: REFTASKOWNERID): UINT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CountTasks(self, rtoid) proc Status*(self: ptr IShellTaskScheduler, dwReleaseStatus: DWORD, dwThreadTimeout: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Status(self, dwReleaseStatus, dwThreadTimeout) proc GetCodePage*(self: ptr IQueryCodePage, puiCodePage: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCodePage(self, puiCodePage) proc SetCodePage*(self: ptr IQueryCodePage, uiCodePage: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCodePage(self, uiCodePage) proc GetCurFolder*(self: ptr IPersistFolder2, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurFolder(self, ppidl) proc InitializeEx*(self: ptr IPersistFolder3, pbc: ptr IBindCtx, pidlRoot: PCIDLIST_ABSOLUTE, ppfti: ptr PERSIST_FOLDER_TARGET_INFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InitializeEx(self, pbc, pidlRoot, ppfti) proc GetFolderTargetInfo*(self: ptr IPersistFolder3, ppfti: ptr PERSIST_FOLDER_TARGET_INFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderTargetInfo(self, ppfti) proc SetIDList*(self: ptr IPersistIDList, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIDList(self, pidl) proc GetIDList*(self: ptr IPersistIDList, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDList(self, ppidl) proc Next*(self: ptr IEnumIDList, celt: ULONG, rgelt: ptr PITEMID_CHILD, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, rgelt, pceltFetched) proc Skip*(self: ptr IEnumIDList, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumIDList, ppenum: ptr ptr IEnumIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc Next*(self: ptr IEnumFullIDList, celt: ULONG, rgelt: ptr PIDLIST_ABSOLUTE, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, rgelt, pceltFetched) proc Skip*(self: ptr IEnumFullIDList, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumFullIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumFullIDList, ppenum: ptr ptr IEnumFullIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc SetMode*(self: ptr IObjectWithFolderEnumMode, feMode: FOLDER_ENUM_MODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMode(self, feMode) proc GetMode*(self: ptr IObjectWithFolderEnumMode, pfeMode: ptr FOLDER_ENUM_MODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMode(self, pfeMode) proc SetItem*(self: ptr IParseAndCreateItem, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItem(self, psi) proc GetItem*(self: ptr IParseAndCreateItem, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItem(self, riid, ppv) proc ParseDisplayName*(self: ptr IShellFolder, hwnd: HWND, pbc: ptr IBindCtx, pszDisplayName: LPWSTR, pchEaten: ptr ULONG, ppidl: ptr PIDLIST_RELATIVE, pdwAttributes: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ParseDisplayName(self, hwnd, pbc, pszDisplayName, pchEaten, ppidl, pdwAttributes) proc EnumObjects*(self: ptr IShellFolder, hwnd: HWND, grfFlags: SHCONTF, ppenumIDList: ptr ptr IEnumIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumObjects(self, hwnd, grfFlags, ppenumIDList) proc BindToObject*(self: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BindToObject(self, pidl, pbc, riid, ppv) proc BindToStorage*(self: ptr IShellFolder, pidl: PCUIDLIST_RELATIVE, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BindToStorage(self, pidl, pbc, riid, ppv) proc CompareIDs*(self: ptr IShellFolder, lParam: LPARAM, pidl1: PCUIDLIST_RELATIVE, pidl2: PCUIDLIST_RELATIVE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CompareIDs(self, lParam, pidl1, pidl2) proc CreateViewObject*(self: ptr IShellFolder, hwndOwner: HWND, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateViewObject(self, hwndOwner, riid, ppv) proc GetAttributesOf*(self: ptr IShellFolder, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, rgfInOut: ptr SFGAOF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAttributesOf(self, cidl, apidl, rgfInOut) proc GetUIObjectOf*(self: ptr IShellFolder, hwndOwner: HWND, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, riid: REFIID, rgfReserved: ptr UINT, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUIObjectOf(self, hwndOwner, cidl, apidl, riid, rgfReserved, ppv) proc GetDisplayNameOf*(self: ptr IShellFolder, pidl: PCUITEMID_CHILD, uFlags: SHGDNF, pName: ptr STRRET): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDisplayNameOf(self, pidl, uFlags, pName) proc SetNameOf*(self: ptr IShellFolder, hwnd: HWND, pidl: PCUITEMID_CHILD, pszName: LPCWSTR, uFlags: SHGDNF, ppidlOut: ptr PITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNameOf(self, hwnd, pidl, pszName, uFlags, ppidlOut) proc Next*(self: ptr IEnumExtraSearch, celt: ULONG, rgelt: ptr EXTRASEARCH, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, rgelt, pceltFetched) proc Skip*(self: ptr IEnumExtraSearch, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumExtraSearch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumExtraSearch, ppenum: ptr ptr IEnumExtraSearch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc GetDefaultSearchGUID*(self: ptr IShellFolder2, pguid: ptr GUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultSearchGUID(self, pguid) proc EnumSearches*(self: ptr IShellFolder2, ppenum: ptr ptr IEnumExtraSearch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumSearches(self, ppenum) proc GetDefaultColumn*(self: ptr IShellFolder2, dwRes: DWORD, pSort: ptr ULONG, pDisplay: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultColumn(self, dwRes, pSort, pDisplay) proc GetDefaultColumnState*(self: ptr IShellFolder2, iColumn: UINT, pcsFlags: ptr SHCOLSTATEF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultColumnState(self, iColumn, pcsFlags) proc GetDetailsEx*(self: ptr IShellFolder2, pidl: PCUITEMID_CHILD, pscid: ptr SHCOLUMNID, pv: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDetailsEx(self, pidl, pscid, pv) proc GetDetailsOf*(self: ptr IShellFolder2, pidl: PCUITEMID_CHILD, iColumn: UINT, psd: ptr SHELLDETAILS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDetailsOf(self, pidl, iColumn, psd) proc MapColumnToSCID*(self: ptr IShellFolder2, iColumn: UINT, pscid: ptr SHCOLUMNID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MapColumnToSCID(self, iColumn, pscid) proc SetFolderViewOptions*(self: ptr IFolderViewOptions, fvoMask: FOLDERVIEWOPTIONS, fvoFlags: FOLDERVIEWOPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderViewOptions(self, fvoMask, fvoFlags) proc GetFolderViewOptions*(self: ptr IFolderViewOptions, pfvoFlags: ptr FOLDERVIEWOPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderViewOptions(self, pfvoFlags) proc TranslateAccelerator*(self: ptr IShellView, pmsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAccelerator(self, pmsg) proc EnableModeless*(self: ptr IShellView, fEnable: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnableModeless(self, fEnable) proc UIActivate*(self: ptr IShellView, uState: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UIActivate(self, uState) proc Refresh*(self: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Refresh(self) proc CreateViewWindow*(self: ptr IShellView, psvPrevious: ptr IShellView, pfs: LPCFOLDERSETTINGS, psb: ptr IShellBrowser, prcView: ptr RECT, phWnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateViewWindow(self, psvPrevious, pfs, psb, prcView, phWnd) proc DestroyViewWindow*(self: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DestroyViewWindow(self) proc GetCurrentInfo*(self: ptr IShellView, pfs: LPFOLDERSETTINGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentInfo(self, pfs) proc AddPropertySheetPages*(self: ptr IShellView, dwReserved: DWORD, pfn: LPFNSVADDPROPSHEETPAGE, lparam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddPropertySheetPages(self, dwReserved, pfn, lparam) proc SaveViewState*(self: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SaveViewState(self) proc SelectItem*(self: ptr IShellView, pidlItem: PCUITEMID_CHILD, uFlags: SVSIF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectItem(self, pidlItem, uFlags) proc GetItemObject*(self: ptr IShellView, uItem: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemObject(self, uItem, riid, ppv) proc GetView*(self: ptr IShellView2, pvid: ptr SHELLVIEWID, uView: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetView(self, pvid, uView) proc CreateViewWindow2*(self: ptr IShellView2, lpParams: LPSV2CVW2_PARAMS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateViewWindow2(self, lpParams) proc HandleRename*(self: ptr IShellView2, pidlNew: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleRename(self, pidlNew) proc SelectAndPositionItem*(self: ptr IShellView2, pidlItem: PCUITEMID_CHILD, uFlags: UINT, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectAndPositionItem(self, pidlItem, uFlags, ppt) proc CreateViewWindow3*(self: ptr IShellView3, psbOwner: ptr IShellBrowser, psvPrev: ptr IShellView, dwViewFlags: SV3CVW3_FLAGS, dwMask: FOLDERFLAGS, dwFlags: FOLDERFLAGS, fvMode: FOLDERVIEWMODE, pvid: ptr SHELLVIEWID, prcView: ptr RECT, phwndView: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateViewWindow3(self, psbOwner, psvPrev, dwViewFlags, dwMask, dwFlags, fvMode, pvid, prcView, phwndView) proc GetCurrentViewMode*(self: ptr IFolderView, pViewMode: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentViewMode(self, pViewMode) proc SetCurrentViewMode*(self: ptr IFolderView, ViewMode: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCurrentViewMode(self, ViewMode) proc GetFolder*(self: ptr IFolderView, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolder(self, riid, ppv) proc Item*(self: ptr IFolderView, iItemIndex: int32, ppidl: ptr PITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Item(self, iItemIndex, ppidl) proc ItemCount*(self: ptr IFolderView, uFlags: UINT, pcItems: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ItemCount(self, uFlags, pcItems) proc Items*(self: ptr IFolderView, uFlags: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Items(self, uFlags, riid, ppv) proc GetSelectionMarkedItem*(self: ptr IFolderView, piItem: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectionMarkedItem(self, piItem) proc GetFocusedItem*(self: ptr IFolderView, piItem: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFocusedItem(self, piItem) proc GetItemPosition*(self: ptr IFolderView, pidl: PCUITEMID_CHILD, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemPosition(self, pidl, ppt) proc GetSpacing*(self: ptr IFolderView, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSpacing(self, ppt) proc GetDefaultSpacing*(self: ptr IFolderView, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultSpacing(self, ppt) proc GetAutoArrange*(self: ptr IFolderView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAutoArrange(self) proc SelectItem*(self: ptr IFolderView, iItem: int32, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectItem(self, iItem, dwFlags) proc SelectAndPositionItems*(self: ptr IFolderView, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, apt: ptr POINT, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectAndPositionItems(self, cidl, apidl, apt, dwFlags) proc GetCondition*(self: ptr ISearchBoxInfo, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCondition(self, riid, ppv) proc GetText*(self: ptr ISearchBoxInfo, ppsz: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetText(self, ppsz) proc SetGroupBy*(self: ptr IFolderView2, key: REFPROPERTYKEY, fAscending: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetGroupBy(self, key, fAscending) proc GetGroupBy*(self: ptr IFolderView2, pkey: ptr PROPERTYKEY, pfAscending: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetGroupBy(self, pkey, pfAscending) proc SetViewProperty*(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, propkey: REFPROPERTYKEY, propvar: REFPROPVARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetViewProperty(self, pidl, propkey, propvar) proc GetViewProperty*(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, propkey: REFPROPERTYKEY, ppropvar: ptr PROPVARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetViewProperty(self, pidl, propkey, ppropvar) proc SetTileViewProperties*(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pszPropList: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTileViewProperties(self, pidl, pszPropList) proc SetExtendedTileViewProperties*(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pszPropList: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetExtendedTileViewProperties(self, pidl, pszPropList) proc SetText*(self: ptr IFolderView2, iType: FVTEXTTYPE, pwszText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetText(self, iType, pwszText) proc SetCurrentFolderFlags*(self: ptr IFolderView2, dwMask: DWORD, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCurrentFolderFlags(self, dwMask, dwFlags) proc GetCurrentFolderFlags*(self: ptr IFolderView2, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentFolderFlags(self, pdwFlags) proc GetSortColumnCount*(self: ptr IFolderView2, pcColumns: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSortColumnCount(self, pcColumns) proc SetSortColumns*(self: ptr IFolderView2, rgSortColumns: ptr SORTCOLUMN, cColumns: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSortColumns(self, rgSortColumns, cColumns) proc GetSortColumns*(self: ptr IFolderView2, rgSortColumns: ptr SORTCOLUMN, cColumns: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSortColumns(self, rgSortColumns, cColumns) proc GetItem*(self: ptr IFolderView2, iItem: int32, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItem(self, iItem, riid, ppv) proc GetVisibleItem*(self: ptr IFolderView2, iStart: int32, fPrevious: WINBOOL, piItem: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetVisibleItem(self, iStart, fPrevious, piItem) proc GetSelectedItem*(self: ptr IFolderView2, iStart: int32, piItem: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedItem(self, iStart, piItem) proc GetSelection*(self: ptr IFolderView2, fNoneImpliesFolder: WINBOOL, ppsia: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelection(self, fNoneImpliesFolder, ppsia) proc GetSelectionState*(self: ptr IFolderView2, pidl: PCUITEMID_CHILD, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectionState(self, pidl, pdwFlags) proc InvokeVerbOnSelection*(self: ptr IFolderView2, pszVerb: LPCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvokeVerbOnSelection(self, pszVerb) proc SetViewModeAndIconSize*(self: ptr IFolderView2, uViewMode: FOLDERVIEWMODE, iImageSize: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetViewModeAndIconSize(self, uViewMode, iImageSize) proc GetViewModeAndIconSize*(self: ptr IFolderView2, puViewMode: ptr FOLDERVIEWMODE, piImageSize: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetViewModeAndIconSize(self, puViewMode, piImageSize) proc SetGroupSubsetCount*(self: ptr IFolderView2, cVisibleRows: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetGroupSubsetCount(self, cVisibleRows) proc GetGroupSubsetCount*(self: ptr IFolderView2, pcVisibleRows: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetGroupSubsetCount(self, pcVisibleRows) proc SetRedraw*(self: ptr IFolderView2, fRedrawOn: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRedraw(self, fRedrawOn) proc IsMoveInSameFolder*(self: ptr IFolderView2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsMoveInSameFolder(self) proc DoRename*(self: ptr IFolderView2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DoRename(self) proc GetColumnPropertyList*(self: ptr IFolderViewSettings, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColumnPropertyList(self, riid, ppv) proc GetGroupByProperty*(self: ptr IFolderViewSettings, pkey: ptr PROPERTYKEY, pfGroupAscending: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetGroupByProperty(self, pkey, pfGroupAscending) proc GetViewMode*(self: ptr IFolderViewSettings, plvm: ptr FOLDERLOGICALVIEWMODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetViewMode(self, plvm) proc GetIconSize*(self: ptr IFolderViewSettings, puIconSize: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconSize(self, puIconSize) proc GetFolderFlags*(self: ptr IFolderViewSettings, pfolderMask: ptr FOLDERFLAGS, pfolderFlags: ptr FOLDERFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderFlags(self, pfolderMask, pfolderFlags) proc GetSortColumns*(self: ptr IFolderViewSettings, rgSortColumns: ptr SORTCOLUMN, cColumnsIn: UINT, pcColumnsOut: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSortColumns(self, rgSortColumns, cColumnsIn, pcColumnsOut) proc GetGroupSubsetCount*(self: ptr IFolderViewSettings, pcVisibleRows: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetGroupSubsetCount(self, pcVisibleRows) proc mSetBackgroundColor*(self: ptr IPreviewHandlerVisuals, color: COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBackgroundColor(self, color) proc SetFont*(self: ptr IPreviewHandlerVisuals, plf: ptr LOGFONTW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFont(self, plf) proc SetTextColor*(self: ptr IPreviewHandlerVisuals, color: COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTextColor(self, color) proc SetWatermark*(self: ptr IVisualProperties, hbmp: HBITMAP, vpwf: VPWATERMARKFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWatermark(self, hbmp, vpwf) proc SetColor*(self: ptr IVisualProperties, vpcf: VPCOLORFLAGS, cr: COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetColor(self, vpcf, cr) proc GetColor*(self: ptr IVisualProperties, vpcf: VPCOLORFLAGS, pcr: ptr COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColor(self, vpcf, pcr) proc SetItemHeight*(self: ptr IVisualProperties, cyItemInPixels: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItemHeight(self, cyItemInPixels) proc GetItemHeight*(self: ptr IVisualProperties, cyItemInPixels: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemHeight(self, cyItemInPixels) proc SetFont*(self: ptr IVisualProperties, plf: ptr LOGFONTW, bRedraw: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFont(self, plf, bRedraw) proc GetFont*(self: ptr IVisualProperties, plf: ptr LOGFONTW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFont(self, plf) proc SetTheme*(self: ptr IVisualProperties, pszSubAppName: LPCWSTR, pszSubIdList: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTheme(self, pszSubAppName, pszSubIdList) proc OnDefaultCommand*(self: ptr ICommDlgBrowser, ppshv: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDefaultCommand(self, ppshv) proc OnStateChange*(self: ptr ICommDlgBrowser, ppshv: ptr IShellView, uChange: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnStateChange(self, ppshv, uChange) proc IncludeObject*(self: ptr ICommDlgBrowser, ppshv: ptr IShellView, pidl: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IncludeObject(self, ppshv, pidl) proc Notify*(self: ptr ICommDlgBrowser2, ppshv: ptr IShellView, dwNotifyType: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Notify(self, ppshv, dwNotifyType) proc GetDefaultMenuText*(self: ptr ICommDlgBrowser2, ppshv: ptr IShellView, pszText: LPWSTR, cchMax: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultMenuText(self, ppshv, pszText, cchMax) proc GetViewFlags*(self: ptr ICommDlgBrowser2, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetViewFlags(self, pdwFlags) proc OnColumnClicked*(self: ptr ICommDlgBrowser3, ppshv: ptr IShellView, iColumn: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnColumnClicked(self, ppshv, iColumn) proc GetCurrentFilter*(self: ptr ICommDlgBrowser3, pszFileSpec: LPWSTR, cchFileSpec: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentFilter(self, pszFileSpec, cchFileSpec) proc OnPreViewCreated*(self: ptr ICommDlgBrowser3, ppshv: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnPreViewCreated(self, ppshv) proc SetColumnInfo*(self: ptr IColumnManager, propkey: REFPROPERTYKEY, pcmci: ptr CM_COLUMNINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetColumnInfo(self, propkey, pcmci) proc GetColumnInfo*(self: ptr IColumnManager, propkey: REFPROPERTYKEY, pcmci: ptr CM_COLUMNINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColumnInfo(self, propkey, pcmci) proc GetColumnCount*(self: ptr IColumnManager, dwFlags: CM_ENUM_FLAGS, puCount: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColumnCount(self, dwFlags, puCount) proc GetColumns*(self: ptr IColumnManager, dwFlags: CM_ENUM_FLAGS, rgkeyOrder: ptr PROPERTYKEY, cColumns: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColumns(self, dwFlags, rgkeyOrder, cColumns) proc SetColumns*(self: ptr IColumnManager, rgkeyOrder: ptr PROPERTYKEY, cVisible: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetColumns(self, rgkeyOrder, cVisible) proc SetFilter*(self: ptr IFolderFilterSite, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFilter(self, punk) proc ShouldShow*(self: ptr IFolderFilter, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, pidlItem: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShouldShow(self, psf, pidlFolder, pidlItem) proc GetEnumFlags*(self: ptr IFolderFilter, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, phwnd: ptr HWND, pgrfFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEnumFlags(self, psf, pidlFolder, phwnd, pgrfFlags) proc OnFocusChangeIS*(self: ptr IInputObjectSite, punkObj: ptr IUnknown, fSetFocus: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnFocusChangeIS(self, punkObj, fSetFocus) proc UIActivateIO*(self: ptr IInputObject, fActivate: WINBOOL, pMsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UIActivateIO(self, fActivate, pMsg) proc HasFocusIO*(self: ptr IInputObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HasFocusIO(self) proc TranslateAcceleratorIO*(self: ptr IInputObject, pMsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAcceleratorIO(self, pMsg) proc TranslateAcceleratorGlobal*(self: ptr IInputObject2, pMsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAcceleratorGlobal(self, pMsg) proc GetIconOf*(self: ptr IShellIcon, pidl: PCUITEMID_CHILD, flags: UINT, pIconIndex: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconOf(self, pidl, flags, pIconIndex) proc InsertMenusSB*(self: ptr IShellBrowser, hmenuShared: HMENU, lpMenuWidths: LPOLEMENUGROUPWIDTHS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InsertMenusSB(self, hmenuShared, lpMenuWidths) proc SetMenuSB*(self: ptr IShellBrowser, hmenuShared: HMENU, holemenuRes: HOLEMENU, hwndActiveObject: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMenuSB(self, hmenuShared, holemenuRes, hwndActiveObject) proc RemoveMenusSB*(self: ptr IShellBrowser, hmenuShared: HMENU): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveMenusSB(self, hmenuShared) proc SetStatusTextSB*(self: ptr IShellBrowser, pszStatusText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetStatusTextSB(self, pszStatusText) proc EnableModelessSB*(self: ptr IShellBrowser, fEnable: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnableModelessSB(self, fEnable) proc TranslateAcceleratorSB*(self: ptr IShellBrowser, pmsg: ptr MSG, wID: WORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAcceleratorSB(self, pmsg, wID) proc BrowseObject*(self: ptr IShellBrowser, pidl: PCUIDLIST_RELATIVE, wFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BrowseObject(self, pidl, wFlags) proc GetViewStateStream*(self: ptr IShellBrowser, grfMode: DWORD, ppStrm: ptr ptr IStream): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetViewStateStream(self, grfMode, ppStrm) proc GetControlWindow*(self: ptr IShellBrowser, id: UINT, phwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetControlWindow(self, id, phwnd) proc SendControlMsg*(self: ptr IShellBrowser, id: UINT, uMsg: UINT, wParam: WPARAM, lParam: LPARAM, pret: ptr LRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SendControlMsg(self, id, uMsg, wParam, lParam, pret) proc QueryActiveShellView*(self: ptr IShellBrowser, ppshv: ptr ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryActiveShellView(self, ppshv) proc OnViewWindowActive*(self: ptr IShellBrowser, pshv: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnViewWindowActive(self, pshv) proc SetToolbarItems*(self: ptr IShellBrowser, lpButtons: LPTBBUTTONSB, nButtons: UINT, uFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetToolbarItems(self, lpButtons, nButtons, uFlags) proc ProfferService*(self: ptr IProfferService, guidService: REFGUID, psp: ptr IServiceProvider, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ProfferService(self, guidService, psp, pdwCookie) proc RevokeService*(self: ptr IProfferService, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RevokeService(self, dwCookie) proc BindToHandler*(self: ptr IShellItem, pbc: ptr IBindCtx, bhid: REFGUID, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BindToHandler(self, pbc, bhid, riid, ppv) proc GetParent*(self: ptr IShellItem, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetParent(self, ppsi) proc GetDisplayName*(self: ptr IShellItem, sigdnName: SIGDN, ppszName: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDisplayName(self, sigdnName, ppszName) proc GetAttributes*(self: ptr IShellItem, sfgaoMask: SFGAOF, psfgaoAttribs: ptr SFGAOF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAttributes(self, sfgaoMask, psfgaoAttribs) proc Compare*(self: ptr IShellItem, psi: ptr IShellItem, hint: SICHINTF, piOrder: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Compare(self, psi, hint, piOrder) proc GetPropertyStore*(self: ptr IShellItem2, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyStore(self, flags, riid, ppv) proc GetPropertyStoreWithCreateObject*(self: ptr IShellItem2, flags: GETPROPERTYSTOREFLAGS, punkCreateObject: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyStoreWithCreateObject(self, flags, punkCreateObject, riid, ppv) proc GetPropertyStoreForKeys*(self: ptr IShellItem2, rgKeys: ptr PROPERTYKEY, cKeys: UINT, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyStoreForKeys(self, rgKeys, cKeys, flags, riid, ppv) proc GetPropertyDescriptionList*(self: ptr IShellItem2, keyType: REFPROPERTYKEY, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyDescriptionList(self, keyType, riid, ppv) proc Update*(self: ptr IShellItem2, pbc: ptr IBindCtx): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Update(self, pbc) proc GetProperty*(self: ptr IShellItem2, key: REFPROPERTYKEY, ppropvar: ptr PROPVARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetProperty(self, key, ppropvar) proc GetCLSID*(self: ptr IShellItem2, key: REFPROPERTYKEY, pclsid: ptr CLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCLSID(self, key, pclsid) proc GetFileTime*(self: ptr IShellItem2, key: REFPROPERTYKEY, pft: ptr FILETIME): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFileTime(self, key, pft) proc GetInt32*(self: ptr IShellItem2, key: REFPROPERTYKEY, pi: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetInt32(self, key, pi) proc GetString*(self: ptr IShellItem2, key: REFPROPERTYKEY, ppsz: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetString(self, key, ppsz) proc GetUInt32*(self: ptr IShellItem2, key: REFPROPERTYKEY, pui: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUInt32(self, key, pui) proc GetUInt64*(self: ptr IShellItem2, key: REFPROPERTYKEY, pull: ptr ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUInt64(self, key, pull) proc GetBool*(self: ptr IShellItem2, key: REFPROPERTYKEY, pf: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBool(self, key, pf) proc GetImage*(self: ptr IShellItemImageFactory, size: SIZE, flags: SIIGBF, phbm: ptr HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetImage(self, size, flags, phbm) proc OnPictureChange*(self: ptr IUserAccountChangeCallback, pszUserName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnPictureChange(self, pszUserName) proc Next*(self: ptr IEnumShellItems, celt: ULONG, rgelt: ptr ptr IShellItem, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, rgelt, pceltFetched) proc Skip*(self: ptr IEnumShellItems, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumShellItems): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumShellItems, ppenum: ptr ptr IEnumShellItems): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc UpdateProgress*(self: ptr ITransferAdviseSink, ullSizeCurrent: ULONGLONG, ullSizeTotal: ULONGLONG, nFilesCurrent: int32, nFilesTotal: int32, nFoldersCurrent: int32, nFoldersTotal: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateProgress(self, ullSizeCurrent, ullSizeTotal, nFilesCurrent, nFilesTotal, nFoldersCurrent, nFoldersTotal) proc UpdateTransferState*(self: ptr ITransferAdviseSink, ts: TRANSFER_ADVISE_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateTransferState(self, ts) proc ConfirmOverwrite*(self: ptr ITransferAdviseSink, psiSource: ptr IShellItem, psiDestParent: ptr IShellItem, pszName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ConfirmOverwrite(self, psiSource, psiDestParent, pszName) proc ConfirmEncryptionLoss*(self: ptr ITransferAdviseSink, psiSource: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ConfirmEncryptionLoss(self, psiSource) proc FileFailure*(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pszItem: LPCWSTR, hrError: HRESULT, pszRename: LPWSTR, cchRename: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FileFailure(self, psi, pszItem, hrError, pszRename, cchRename) proc SubStreamFailure*(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pszStreamName: LPCWSTR, hrError: HRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SubStreamFailure(self, psi, pszStreamName, hrError) proc PropertyFailure*(self: ptr ITransferAdviseSink, psi: ptr IShellItem, pkey: ptr PROPERTYKEY, hrError: HRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PropertyFailure(self, psi, pkey, hrError) proc Advise*(self: ptr ITransferSource, psink: ptr ITransferAdviseSink, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, psink, pdwCookie) proc Unadvise*(self: ptr ITransferSource, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc SetProperties*(self: ptr ITransferSource, pproparray: ptr IPropertyChangeArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProperties(self, pproparray) proc OpenItem*(self: ptr ITransferSource, psi: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OpenItem(self, psi, flags, riid, ppv) proc MoveItem*(self: ptr ITransferSource, psi: ptr IShellItem, psiParentDst: ptr IShellItem, pszNameDst: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNew: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MoveItem(self, psi, psiParentDst, pszNameDst, flags, ppsiNew) proc RecycleItem*(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RecycleItem(self, psiSource, psiParentDest, flags, ppsiNewDest) proc RemoveItem*(self: ptr ITransferSource, psiSource: ptr IShellItem, flags: TRANSFER_SOURCE_FLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveItem(self, psiSource, flags) proc RenameItem*(self: ptr ITransferSource, psiSource: ptr IShellItem, pszNewName: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RenameItem(self, psiSource, pszNewName, flags, ppsiNewDest) proc LinkItem*(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, pszNewName: LPCWSTR, flags: TRANSFER_SOURCE_FLAGS, ppsiNewDest: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LinkItem(self, psiSource, psiParentDest, pszNewName, flags, ppsiNewDest) proc ApplyPropertiesToItem*(self: ptr ITransferSource, psiSource: ptr IShellItem, ppsiNew: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ApplyPropertiesToItem(self, psiSource, ppsiNew) proc GetDefaultDestinationName*(self: ptr ITransferSource, psiSource: ptr IShellItem, psiParentDest: ptr IShellItem, ppszDestinationName: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultDestinationName(self, psiSource, psiParentDest, ppszDestinationName) proc EnterFolder*(self: ptr ITransferSource, psiChildFolderDest: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnterFolder(self, psiChildFolderDest) proc LeaveFolder*(self: ptr ITransferSource, psiChildFolderDest: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LeaveFolder(self, psiChildFolderDest) proc Next*(self: ptr IEnumResources, celt: ULONG, psir: ptr SHELL_ITEM_RESOURCE, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, psir, pceltFetched) proc Skip*(self: ptr IEnumResources, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumResources): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumResources, ppenumr: ptr ptr IEnumResources): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenumr) proc GetAttributes*(self: ptr IShellItemResources, pdwAttributes: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAttributes(self, pdwAttributes) proc GetSize*(self: ptr IShellItemResources, pullSize: ptr ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSize(self, pullSize) proc GetTimes*(self: ptr IShellItemResources, pftCreation: ptr FILETIME, pftWrite: ptr FILETIME, pftAccess: ptr FILETIME): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetTimes(self, pftCreation, pftWrite, pftAccess) proc SetTimes*(self: ptr IShellItemResources, pftCreation: ptr FILETIME, pftWrite: ptr FILETIME, pftAccess: ptr FILETIME): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTimes(self, pftCreation, pftWrite, pftAccess) proc GetResourceDescription*(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, ppszDescription: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetResourceDescription(self, pcsir, ppszDescription) proc EnumResources*(self: ptr IShellItemResources, ppenumr: ptr ptr IEnumResources): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumResources(self, ppenumr) proc SupportsResource*(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SupportsResource(self, pcsir) proc OpenResource*(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OpenResource(self, pcsir, riid, ppv) proc CreateResource*(self: ptr IShellItemResources, pcsir: ptr SHELL_ITEM_RESOURCE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateResource(self, pcsir, riid, ppv) proc MarkForDelete*(self: ptr IShellItemResources): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MarkForDelete(self) proc Advise*(self: ptr ITransferDestination, psink: ptr ITransferAdviseSink, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, psink, pdwCookie) proc Unadvise*(self: ptr ITransferDestination, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc CreateItem*(self: ptr ITransferDestination, pszName: LPCWSTR, dwAttributes: DWORD, ullSize: ULONGLONG, flags: TRANSFER_SOURCE_FLAGS, riidItem: REFIID, ppvItem: ptr pointer, riidResources: REFIID, ppvResources: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateItem(self, pszName, dwAttributes, ullSize, flags, riidItem, ppvItem, riidResources, ppvResources) proc ReadAsync*(self: ptr IStreamAsync, pv: pointer, cb: DWORD, pcbRead: LPDWORD, lpOverlapped: LPOVERLAPPED): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReadAsync(self, pv, cb, pcbRead, lpOverlapped) proc WriteAsync*(self: ptr IStreamAsync, lpBuffer: pointer, cb: DWORD, pcbWritten: LPDWORD, lpOverlapped: LPOVERLAPPED): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.WriteAsync(self, lpBuffer, cb, pcbWritten, lpOverlapped) proc OverlappedResult*(self: ptr IStreamAsync, lpOverlapped: LPOVERLAPPED, lpNumberOfBytesTransferred: LPDWORD, bWait: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OverlappedResult(self, lpOverlapped, lpNumberOfBytesTransferred, bWait) proc CancelIo*(self: ptr IStreamAsync): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CancelIo(self) proc GetSectorSize*(self: ptr IStreamUnbufferedInfo, pcbSectorSize: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSectorSize(self, pcbSectorSize) proc StartOperations*(self: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartOperations(self) proc FinishOperations*(self: ptr IFileOperationProgressSink, hrResult: HRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FinishOperations(self, hrResult) proc PreRenameItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PreRenameItem(self, dwFlags, psiItem, pszNewName) proc PostRenameItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, pszNewName: LPCWSTR, hrRename: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostRenameItem(self, dwFlags, psiItem, pszNewName, hrRename, psiNewlyCreated) proc PreMoveItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PreMoveItem(self, dwFlags, psiItem, psiDestinationFolder, pszNewName) proc PostMoveItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, hrMove: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostMoveItem(self, dwFlags, psiItem, psiDestinationFolder, pszNewName, hrMove, psiNewlyCreated) proc PreCopyItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PreCopyItem(self, dwFlags, psiItem, psiDestinationFolder, pszNewName) proc PostCopyItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, hrCopy: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostCopyItem(self, dwFlags, psiItem, psiDestinationFolder, pszNewName, hrCopy, psiNewlyCreated) proc PreDeleteItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PreDeleteItem(self, dwFlags, psiItem) proc PostDeleteItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiItem: ptr IShellItem, hrDelete: HRESULT, psiNewlyCreated: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostDeleteItem(self, dwFlags, psiItem, hrDelete, psiNewlyCreated) proc PreNewItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PreNewItem(self, dwFlags, psiDestinationFolder, pszNewName) proc PostNewItem*(self: ptr IFileOperationProgressSink, dwFlags: DWORD, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, pszTemplateName: LPCWSTR, dwFileAttributes: DWORD, hrNew: HRESULT, psiNewItem: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostNewItem(self, dwFlags, psiDestinationFolder, pszNewName, pszTemplateName, dwFileAttributes, hrNew, psiNewItem) proc UpdateProgress*(self: ptr IFileOperationProgressSink, iWorkTotal: UINT, iWorkSoFar: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateProgress(self, iWorkTotal, iWorkSoFar) proc ResetTimer*(self: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResetTimer(self) proc PauseTimer*(self: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PauseTimer(self) proc ResumeTimer*(self: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResumeTimer(self) proc BindToHandler*(self: ptr IShellItemArray, pbc: ptr IBindCtx, bhid: REFGUID, riid: REFIID, ppvOut: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BindToHandler(self, pbc, bhid, riid, ppvOut) proc GetPropertyStore*(self: ptr IShellItemArray, flags: GETPROPERTYSTOREFLAGS, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyStore(self, flags, riid, ppv) proc GetPropertyDescriptionList*(self: ptr IShellItemArray, keyType: REFPROPERTYKEY, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyDescriptionList(self, keyType, riid, ppv) proc GetAttributes*(self: ptr IShellItemArray, AttribFlags: SIATTRIBFLAGS, sfgaoMask: SFGAOF, psfgaoAttribs: ptr SFGAOF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAttributes(self, AttribFlags, sfgaoMask, psfgaoAttribs) proc GetCount*(self: ptr IShellItemArray, pdwNumItems: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCount(self, pdwNumItems) proc GetItemAt*(self: ptr IShellItemArray, dwIndex: DWORD, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemAt(self, dwIndex, ppsi) proc EnumItems*(self: ptr IShellItemArray, ppenumShellItems: ptr ptr IEnumShellItems): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumItems(self, ppenumShellItems) proc Initialize*(self: ptr IInitializeWithItem, psi: ptr IShellItem, grfMode: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, psi, grfMode) proc SetSelection*(self: ptr IObjectWithSelection, psia: ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSelection(self, psia) proc GetSelection*(self: ptr IObjectWithSelection, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelection(self, riid, ppv) proc RemoveBackReferences*(self: ptr IObjectWithBackReferences): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveBackReferences(self) proc ParsePropertyName*(self: ptr IPropertyUI, pszName: LPCWSTR, pfmtid: ptr FMTID, ppid: ptr PROPID, pchEaten: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ParsePropertyName(self, pszName, pfmtid, ppid, pchEaten) proc GetCannonicalName*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszText: LPWSTR, cchText: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCannonicalName(self, fmtid, pid, pwszText, cchText) proc GetDisplayName*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, flags: PROPERTYUI_NAME_FLAGS, pwszText: LPWSTR, cchText: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDisplayName(self, fmtid, pid, flags, pwszText, cchText) proc GetPropertyDescription*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszText: LPWSTR, cchText: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPropertyDescription(self, fmtid, pid, pwszText, cchText) proc GetDefaultWidth*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pcxChars: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultWidth(self, fmtid, pid, pcxChars) proc GetFlags*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pflags: ptr PROPERTYUI_FLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFlags(self, fmtid, pid, pflags) proc FormatForDisplay*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, ppropvar: ptr PROPVARIANT, puiff: PROPERTYUI_FORMAT_FLAGS, pwszText: LPWSTR, cchText: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FormatForDisplay(self, fmtid, pid, ppropvar, puiff, pwszText, cchText) proc GetHelpInfo*(self: ptr IPropertyUI, fmtid: REFFMTID, pid: PROPID, pwszHelpFile: LPWSTR, cch: DWORD, puHelpID: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetHelpInfo(self, fmtid, pid, pwszHelpFile, cch, puHelpID) proc CanCategorizeOnSCID*(self: ptr ICategoryProvider, pscid: ptr SHCOLUMNID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CanCategorizeOnSCID(self, pscid) proc GetDefaultCategory*(self: ptr ICategoryProvider, pguid: ptr GUID, pscid: ptr SHCOLUMNID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultCategory(self, pguid, pscid) proc GetCategoryForSCID*(self: ptr ICategoryProvider, pscid: ptr SHCOLUMNID, pguid: ptr GUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCategoryForSCID(self, pscid, pguid) proc EnumCategories*(self: ptr ICategoryProvider, penum: ptr ptr IEnumGUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumCategories(self, penum) proc GetCategoryName*(self: ptr ICategoryProvider, pguid: ptr GUID, pszName: LPWSTR, cch: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCategoryName(self, pguid, pszName, cch) proc CreateCategory*(self: ptr ICategoryProvider, pguid: ptr GUID, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateCategory(self, pguid, riid, ppv) proc GetDescription*(self: ptr ICategorizer, pszDesc: LPWSTR, cch: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDescription(self, pszDesc, cch) proc GetCategory*(self: ptr ICategorizer, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, rgCategoryIds: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCategory(self, cidl, apidl, rgCategoryIds) proc GetCategoryInfo*(self: ptr ICategorizer, dwCategoryId: DWORD, pci: ptr TCATEGORY_INFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCategoryInfo(self, dwCategoryId, pci) proc CompareCategory*(self: ptr ICategorizer, csfFlags: CATSORT_FLAGS, dwCategoryId1: DWORD, dwCategoryId2: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CompareCategory(self, csfFlags, dwCategoryId1, dwCategoryId2) proc DragEnter*(self: ptr IDropTargetHelper, hwndTarget: HWND, pDataObject: ptr IDataObject, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DragEnter(self, hwndTarget, pDataObject, ppt, dwEffect) proc DragLeave*(self: ptr IDropTargetHelper): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DragLeave(self) proc DragOver*(self: ptr IDropTargetHelper, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DragOver(self, ppt, dwEffect) proc Drop*(self: ptr IDropTargetHelper, pDataObject: ptr IDataObject, ppt: ptr POINT, dwEffect: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Drop(self, pDataObject, ppt, dwEffect) proc Show*(self: ptr IDropTargetHelper, fShow: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, fShow) proc InitializeFromBitmap*(self: ptr IDragSourceHelper, pshdi: LPSHDRAGIMAGE, pDataObject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InitializeFromBitmap(self, pshdi, pDataObject) proc InitializeFromWindow*(self: ptr IDragSourceHelper, hwnd: HWND, ppt: ptr POINT, pDataObject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InitializeFromWindow(self, hwnd, ppt, pDataObject) proc SetFlags*(self: ptr IDragSourceHelper2, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFlags(self, dwFlags) proc GetPath*(self: ptr IShellLinkA, pszFile: LPSTR, cch: int32, pfd: ptr WIN32_FIND_DATAA, fFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPath(self, pszFile, cch, pfd, fFlags) proc GetIDList*(self: ptr IShellLinkA, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDList(self, ppidl) proc SetIDList*(self: ptr IShellLinkA, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIDList(self, pidl) proc GetDescription*(self: ptr IShellLinkA, pszName: LPSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDescription(self, pszName, cch) proc SetDescription*(self: ptr IShellLinkA, pszName: LPCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDescription(self, pszName) proc GetWorkingDirectory*(self: ptr IShellLinkA, pszDir: LPSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWorkingDirectory(self, pszDir, cch) proc SetWorkingDirectory*(self: ptr IShellLinkA, pszDir: LPCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWorkingDirectory(self, pszDir) proc GetArguments*(self: ptr IShellLinkA, pszArgs: LPSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetArguments(self, pszArgs, cch) proc SetArguments*(self: ptr IShellLinkA, pszArgs: LPCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetArguments(self, pszArgs) proc GetHotkey*(self: ptr IShellLinkA, pwHotkey: ptr WORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetHotkey(self, pwHotkey) proc SetHotkey*(self: ptr IShellLinkA, wHotkey: WORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetHotkey(self, wHotkey) proc GetShowCmd*(self: ptr IShellLinkA, piShowCmd: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShowCmd(self, piShowCmd) proc SetShowCmd*(self: ptr IShellLinkA, iShowCmd: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetShowCmd(self, iShowCmd) proc GetIconLocation*(self: ptr IShellLinkA, pszIconPath: LPSTR, cch: int32, piIcon: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, pszIconPath, cch, piIcon) proc SetIconLocation*(self: ptr IShellLinkA, pszIconPath: LPCSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconLocation(self, pszIconPath, iIcon) proc SetRelativePath*(self: ptr IShellLinkA, pszPathRel: LPCSTR, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRelativePath(self, pszPathRel, dwReserved) proc Resolve*(self: ptr IShellLinkA, hwnd: HWND, fFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Resolve(self, hwnd, fFlags) proc SetPath*(self: ptr IShellLinkA, pszFile: LPCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPath(self, pszFile) proc GetPath*(self: ptr IShellLinkW, pszFile: LPWSTR, cch: int32, pfd: ptr WIN32_FIND_DATAW, fFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPath(self, pszFile, cch, pfd, fFlags) proc GetIDList*(self: ptr IShellLinkW, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDList(self, ppidl) proc SetIDList*(self: ptr IShellLinkW, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIDList(self, pidl) proc GetDescription*(self: ptr IShellLinkW, pszName: LPWSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDescription(self, pszName, cch) proc SetDescription*(self: ptr IShellLinkW, pszName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDescription(self, pszName) proc GetWorkingDirectory*(self: ptr IShellLinkW, pszDir: LPWSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWorkingDirectory(self, pszDir, cch) proc SetWorkingDirectory*(self: ptr IShellLinkW, pszDir: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWorkingDirectory(self, pszDir) proc GetArguments*(self: ptr IShellLinkW, pszArgs: LPWSTR, cch: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetArguments(self, pszArgs, cch) proc SetArguments*(self: ptr IShellLinkW, pszArgs: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetArguments(self, pszArgs) proc GetHotkey*(self: ptr IShellLinkW, pwHotkey: ptr WORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetHotkey(self, pwHotkey) proc SetHotkey*(self: ptr IShellLinkW, wHotkey: WORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetHotkey(self, wHotkey) proc GetShowCmd*(self: ptr IShellLinkW, piShowCmd: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShowCmd(self, piShowCmd) proc SetShowCmd*(self: ptr IShellLinkW, iShowCmd: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetShowCmd(self, iShowCmd) proc GetIconLocation*(self: ptr IShellLinkW, pszIconPath: LPWSTR, cch: int32, piIcon: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, pszIconPath, cch, piIcon) proc SetIconLocation*(self: ptr IShellLinkW, pszIconPath: LPCWSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconLocation(self, pszIconPath, iIcon) proc SetRelativePath*(self: ptr IShellLinkW, pszPathRel: LPCWSTR, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRelativePath(self, pszPathRel, dwReserved) proc Resolve*(self: ptr IShellLinkW, hwnd: HWND, fFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Resolve(self, hwnd, fFlags) proc SetPath*(self: ptr IShellLinkW, pszFile: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPath(self, pszFile) proc AddDataBlock*(self: ptr IShellLinkDataList, pDataBlock: pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddDataBlock(self, pDataBlock) proc CopyDataBlock*(self: ptr IShellLinkDataList, dwSig: DWORD, ppDataBlock: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyDataBlock(self, dwSig, ppDataBlock) proc RemoveDataBlock*(self: ptr IShellLinkDataList, dwSig: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveDataBlock(self, dwSig) proc GetFlags*(self: ptr IShellLinkDataList, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFlags(self, pdwFlags) proc SetFlags*(self: ptr IShellLinkDataList, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFlags(self, dwFlags) proc ResolveShellLink*(self: ptr IResolveShellLink, punkLink: ptr IUnknown, hwnd: HWND, fFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResolveShellLink(self, punkLink, hwnd, fFlags) proc Initialize*(self: ptr IActionProgressDialog, flags: SPINITF, pszTitle: LPCWSTR, pszCancel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, flags, pszTitle, pszCancel) proc Stop*(self: ptr IActionProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Stop(self) proc Initialize*(self: ptr IHWEventHandler, pszParams: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pszParams) proc HandleEvent*(self: ptr IHWEventHandler, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleEvent(self, pszDeviceID, pszAltDeviceID, pszEventType) proc HandleEventWithContent*(self: ptr IHWEventHandler, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR, pszContentTypeHandler: LPCWSTR, pdataobject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleEventWithContent(self, pszDeviceID, pszAltDeviceID, pszEventType, pszContentTypeHandler, pdataobject) proc HandleEventWithHWND*(self: ptr IHWEventHandler2, pszDeviceID: LPCWSTR, pszAltDeviceID: LPCWSTR, pszEventType: LPCWSTR, hwndOwner: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HandleEventWithHWND(self, pszDeviceID, pszAltDeviceID, pszEventType, hwndOwner) proc AllowAutoPlay*(self: ptr IQueryCancelAutoPlay, pszPath: LPCWSTR, dwContentType: DWORD, pszLabel: LPCWSTR, dwSerialNumber: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AllowAutoPlay(self, pszPath, dwContentType, pszLabel, dwSerialNumber) proc GetDynamicInfo*(self: ptr IDynamicHWHandler, pszDeviceID: LPCWSTR, dwContentType: DWORD, ppszAction: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDynamicInfo(self, pszDeviceID, dwContentType, ppszAction) proc Begin*(self: ptr IActionProgress, action: SPACTION, flags: SPBEGINF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Begin(self, action, flags) proc UpdateProgress*(self: ptr IActionProgress, ulCompleted: ULONGLONG, ulTotal: ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateProgress(self, ulCompleted, ulTotal) proc UpdateText*(self: ptr IActionProgress, sptext: SPTEXT, pszText: LPCWSTR, fMayCompact: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateText(self, sptext, pszText, fMayCompact) proc QueryCancel*(self: ptr IActionProgress, pfCancelled: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryCancel(self, pfCancelled) proc ResetCancel*(self: ptr IActionProgress): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResetCancel(self) proc End*(self: ptr IActionProgress): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.End(self) proc Initialize*(self: ptr IShellExtInit, pidlFolder: PCIDLIST_ABSOLUTE, pdtobj: ptr IDataObject, hkeyProgID: HKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pidlFolder, pdtobj, hkeyProgID) proc AddPages*(self: ptr IShellPropSheetExt, pfnAddPage: LPFNSVADDPROPSHEETPAGE, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddPages(self, pfnAddPage, lParam) proc ReplacePage*(self: ptr IShellPropSheetExt, uPageID: EXPPS, pfnReplaceWith: LPFNSVADDPROPSHEETPAGE, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReplacePage(self, uPageID, pfnReplaceWith, lParam) proc Initialize*(self: ptr IRemoteComputer, pszMachine: LPCWSTR, bEnumerating: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pszMachine, bEnumerating) proc QueryContinue*(self: ptr IQueryContinue): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryContinue(self) proc GetCancelEvent*(self: ptr IObjectWithCancelEvent, phEvent: ptr HANDLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCancelEvent(self, phEvent) proc SetBalloonInfo*(self: ptr IUserNotification, pszTitle: LPCWSTR, pszText: LPCWSTR, dwInfoFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBalloonInfo(self, pszTitle, pszText, dwInfoFlags) proc SetBalloonRetry*(self: ptr IUserNotification, dwShowTime: DWORD, dwInterval: DWORD, cRetryCount: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBalloonRetry(self, dwShowTime, dwInterval, cRetryCount) proc SetIconInfo*(self: ptr IUserNotification, hIcon: HICON, pszToolTip: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconInfo(self, hIcon, pszToolTip) proc Show*(self: ptr IUserNotification, pqc: ptr IQueryContinue, dwContinuePollInterval: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, pqc, dwContinuePollInterval) proc PlaySound*(self: ptr IUserNotification, pszSoundName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PlaySound(self, pszSoundName) proc OnBalloonUserClick*(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBalloonUserClick(self, pt) proc OnLeftClick*(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnLeftClick(self, pt) proc OnContextMenu*(self: ptr IUserNotificationCallback, pt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnContextMenu(self, pt) proc SetBalloonInfo*(self: ptr IUserNotification2, pszTitle: LPCWSTR, pszText: LPCWSTR, dwInfoFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBalloonInfo(self, pszTitle, pszText, dwInfoFlags) proc SetBalloonRetry*(self: ptr IUserNotification2, dwShowTime: DWORD, dwInterval: DWORD, cRetryCount: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBalloonRetry(self, dwShowTime, dwInterval, cRetryCount) proc SetIconInfo*(self: ptr IUserNotification2, hIcon: HICON, pszToolTip: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconInfo(self, hIcon, pszToolTip) proc Show*(self: ptr IUserNotification2, pqc: ptr IQueryContinue, dwContinuePollInterval: DWORD, pSink: ptr IUserNotificationCallback): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, pqc, dwContinuePollInterval, pSink) proc PlaySound*(self: ptr IUserNotification2, pszSoundName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PlaySound(self, pszSoundName) proc GetValidCharacters*(self: ptr IItemNameLimits, ppwszValidChars: ptr LPWSTR, ppwszInvalidChars: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetValidCharacters(self, ppwszValidChars, ppwszInvalidChars) proc GetMaxLength*(self: ptr IItemNameLimits, pszName: LPCWSTR, piMaxNameLen: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMaxLength(self, pszName, piMaxNameLen) proc SetDisplayName*(self: ptr ISearchFolderItemFactory, pszDisplayName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDisplayName(self, pszDisplayName) proc SetFolderTypeID*(self: ptr ISearchFolderItemFactory, ftid: FOLDERTYPEID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderTypeID(self, ftid) proc SetFolderLogicalViewMode*(self: ptr ISearchFolderItemFactory, flvm: FOLDERLOGICALVIEWMODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderLogicalViewMode(self, flvm) proc SetIconSize*(self: ptr ISearchFolderItemFactory, iIconSize: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconSize(self, iIconSize) proc SetVisibleColumns*(self: ptr ISearchFolderItemFactory, cVisibleColumns: UINT, rgKey: ptr PROPERTYKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetVisibleColumns(self, cVisibleColumns, rgKey) proc SetSortColumns*(self: ptr ISearchFolderItemFactory, cSortColumns: UINT, rgSortColumns: ptr SORTCOLUMN): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSortColumns(self, cSortColumns, rgSortColumns) proc SetGroupColumn*(self: ptr ISearchFolderItemFactory, keyGroup: REFPROPERTYKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetGroupColumn(self, keyGroup) proc SetStacks*(self: ptr ISearchFolderItemFactory, cStackKeys: UINT, rgStackKeys: ptr PROPERTYKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetStacks(self, cStackKeys, rgStackKeys) proc SetScope*(self: ptr ISearchFolderItemFactory, psiaScope: ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetScope(self, psiaScope) proc SetCondition*(self: ptr ISearchFolderItemFactory, pCondition: ptr ICondition): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCondition(self, pCondition) proc GetShellItem*(self: ptr ISearchFolderItemFactory, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShellItem(self, riid, ppv) proc GetIDList*(self: ptr ISearchFolderItemFactory, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDList(self, ppidl) proc GetLocation*(self: ptr IExtractImage, pszPathBuffer: LPWSTR, cch: DWORD, pdwPriority: ptr DWORD, prgSize: ptr SIZE, dwRecClrDepth: DWORD, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetLocation(self, pszPathBuffer, cch, pdwPriority, prgSize, dwRecClrDepth, pdwFlags) proc Extract*(self: ptr IExtractImage, phBmpThumbnail: ptr HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Extract(self, phBmpThumbnail) proc GetDateStamp*(self: ptr IExtractImage2, pDateStamp: ptr FILETIME): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDateStamp(self, pDateStamp) proc GetThumbnailHandler*(self: ptr IThumbnailHandlerFactory, pidlChild: PCUITEMID_CHILD, pbc: ptr IBindCtx, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetThumbnailHandler(self, pidlChild, pbc, riid, ppv) proc SetParentAndItem*(self: ptr IParentAndItem, pidlParent: PCIDLIST_ABSOLUTE, psf: ptr IShellFolder, pidlChild: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetParentAndItem(self, pidlParent, psf, pidlChild) proc GetParentAndItem*(self: ptr IParentAndItem, ppidlParent: ptr PIDLIST_ABSOLUTE, ppsf: ptr ptr IShellFolder, ppidlChild: ptr PITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetParentAndItem(self, ppidlParent, ppsf, ppidlChild) proc ShowDW*(self: ptr IDockingWindow, fShow: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowDW(self, fShow) proc CloseDW*(self: ptr IDockingWindow, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CloseDW(self, dwReserved) proc ResizeBorderDW*(self: ptr IDockingWindow, prcBorder: LPCRECT, punkToolbarSite: ptr IUnknown, fReserved: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResizeBorderDW(self, prcBorder, punkToolbarSite, fReserved) proc GetBandInfo*(self: ptr IDeskBand, dwBandID: DWORD, dwViewMode: DWORD, pdbi: ptr DESKBANDINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBandInfo(self, dwBandID, dwViewMode, pdbi) proc GetDefaultBandWidth*(self: ptr IDeskBandInfo, dwBandID: DWORD, dwViewMode: DWORD, pnWidth: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultBandWidth(self, dwBandID, dwViewMode, pnWidth) proc CanRenderComposited*(self: ptr IDeskBand2, pfCanRenderComposited: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CanRenderComposited(self, pfCanRenderComposited) proc SetCompositionState*(self: ptr IDeskBand2, fCompositionEnabled: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCompositionState(self, fCompositionEnabled) proc GetCompositionState*(self: ptr IDeskBand2, pfCompositionEnabled: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCompositionState(self, pfCompositionEnabled) proc HrInit*(self: ptr ITaskbarList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HrInit(self) proc AddTab*(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddTab(self, hwnd) proc DeleteTab*(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteTab(self, hwnd) proc ActivateTab*(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ActivateTab(self, hwnd) proc SetActiveAlt*(self: ptr ITaskbarList, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetActiveAlt(self, hwnd) proc MarkFullscreenWindow*(self: ptr ITaskbarList2, hwnd: HWND, fFullscreen: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MarkFullscreenWindow(self, hwnd, fFullscreen) proc SetProgressValue*(self: ptr ITaskbarList3, hwnd: HWND, ullCompleted: ULONGLONG, ullTotal: ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgressValue(self, hwnd, ullCompleted, ullTotal) proc SetProgressState*(self: ptr ITaskbarList3, hwnd: HWND, tbpFlags: TBPFLAG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgressState(self, hwnd, tbpFlags) proc RegisterTab*(self: ptr ITaskbarList3, hwndTab: HWND, hwndMDI: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RegisterTab(self, hwndTab, hwndMDI) proc UnregisterTab*(self: ptr ITaskbarList3, hwndTab: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UnregisterTab(self, hwndTab) proc SetTabOrder*(self: ptr ITaskbarList3, hwndTab: HWND, hwndInsertBefore: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTabOrder(self, hwndTab, hwndInsertBefore) proc SetTabActive*(self: ptr ITaskbarList3, hwndTab: HWND, hwndMDI: HWND, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTabActive(self, hwndTab, hwndMDI, dwReserved) proc ThumbBarAddButtons*(self: ptr ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ThumbBarAddButtons(self, hwnd, cButtons, pButton) proc ThumbBarUpdateButtons*(self: ptr ITaskbarList3, hwnd: HWND, cButtons: UINT, pButton: LPTHUMBBUTTON): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ThumbBarUpdateButtons(self, hwnd, cButtons, pButton) proc ThumbBarSetImageList*(self: ptr ITaskbarList3, hwnd: HWND, himl: HIMAGELIST): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ThumbBarSetImageList(self, hwnd, himl) proc SetOverlayIcon*(self: ptr ITaskbarList3, hwnd: HWND, hIcon: HICON, pszDescription: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOverlayIcon(self, hwnd, hIcon, pszDescription) proc SetThumbnailTooltip*(self: ptr ITaskbarList3, hwnd: HWND, pszTip: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetThumbnailTooltip(self, hwnd, pszTip) proc SetThumbnailClip*(self: ptr ITaskbarList3, hwnd: HWND, prcClip: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetThumbnailClip(self, hwnd, prcClip) proc SetTabProperties*(self: ptr ITaskbarList4, hwndTab: HWND, stpFlags: STPFLAG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTabProperties(self, hwndTab, stpFlags) proc RemoveFromList*(self: ptr IStartMenuPinnedList, pitem: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveFromList(self, pitem) proc GetRecorderDriveLetter*(self: ptr ICDBurn, pszDrive: LPWSTR, cch: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetRecorderDriveLetter(self, pszDrive, cch) proc Burn*(self: ptr ICDBurn, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Burn(self, hwnd) proc HasRecordableDrive*(self: ptr ICDBurn, pfHasRecorder: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HasRecordableDrive(self, pfHasRecorder) proc GetPreviousPage*(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPreviousPage(self, phpage) proc GetNextPage*(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetNextPage(self, phpage) proc GetCancelledPage*(self: ptr IWizardSite, phpage: ptr HPROPSHEETPAGE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCancelledPage(self, phpage) proc AddPages*(self: ptr IWizardExtension, aPages: ptr HPROPSHEETPAGE, cPages: UINT, pnPagesAdded: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddPages(self, aPages, cPages, pnPagesAdded) proc GetFirstPage*(self: ptr IWizardExtension, phpage: ptr HPROPSHEETPAGE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFirstPage(self, phpage) proc GetLastPage*(self: ptr IWizardExtension, phpage: ptr HPROPSHEETPAGE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetLastPage(self, phpage) proc SetInitialURL*(self: ptr IWebWizardExtension, pszURL: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetInitialURL(self, pszURL) proc SetErrorURL*(self: ptr IWebWizardExtension, pszErrorURL: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetErrorURL(self, pszErrorURL) proc Initialize*(self: ptr IPublishingWizard, pdo: ptr IDataObject, dwOptions: DWORD, pszServiceScope: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pdo, dwOptions, pszServiceScope) proc GetTransferManifest*(self: ptr IPublishingWizard, phrFromTransfer: ptr HRESULT, pdocManifest: ptr ptr IXMLDOMDocument): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetTransferManifest(self, phrFromTransfer, pdocManifest) proc Initialize*(self: ptr IFolderViewHost, hwndParent: HWND, pdo: ptr IDataObject, prc: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, hwndParent, pdo, prc) proc OnNavigationPending*(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnNavigationPending(self, pidlFolder) proc OnViewCreated*(self: ptr IExplorerBrowserEvents, psv: ptr IShellView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnViewCreated(self, psv) proc OnNavigationComplete*(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnNavigationComplete(self, pidlFolder) proc OnNavigationFailed*(self: ptr IExplorerBrowserEvents, pidlFolder: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnNavigationFailed(self, pidlFolder) proc Initialize*(self: ptr IExplorerBrowser, hwndParent: HWND, prc: ptr RECT, pfs: ptr FOLDERSETTINGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, hwndParent, prc, pfs) proc Destroy*(self: ptr IExplorerBrowser): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Destroy(self) proc SetRect*(self: ptr IExplorerBrowser, phdwp: ptr HDWP, rcBrowser: RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRect(self, phdwp, rcBrowser) proc SetPropertyBag*(self: ptr IExplorerBrowser, pszPropertyBag: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPropertyBag(self, pszPropertyBag) proc SetEmptyText*(self: ptr IExplorerBrowser, pszEmptyText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetEmptyText(self, pszEmptyText) proc SetFolderSettings*(self: ptr IExplorerBrowser, pfs: ptr FOLDERSETTINGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderSettings(self, pfs) proc Advise*(self: ptr IExplorerBrowser, psbe: ptr IExplorerBrowserEvents, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, psbe, pdwCookie) proc Unadvise*(self: ptr IExplorerBrowser, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc SetOptions*(self: ptr IExplorerBrowser, dwFlag: EXPLORER_BROWSER_OPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOptions(self, dwFlag) proc GetOptions*(self: ptr IExplorerBrowser, pdwFlag: ptr EXPLORER_BROWSER_OPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOptions(self, pdwFlag) proc BrowseToIDList*(self: ptr IExplorerBrowser, pidl: PCUIDLIST_RELATIVE, uFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BrowseToIDList(self, pidl, uFlags) proc BrowseToObject*(self: ptr IExplorerBrowser, punk: ptr IUnknown, uFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BrowseToObject(self, punk, uFlags) proc FillFromObject*(self: ptr IExplorerBrowser, punk: ptr IUnknown, dwFlags: EXPLORER_BROWSER_FILL_FLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FillFromObject(self, punk, dwFlags) proc RemoveAll*(self: ptr IExplorerBrowser): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveAll(self) proc GetCurrentView*(self: ptr IExplorerBrowser, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentView(self, riid, ppv) proc SetAccessibleName*(self: ptr IAccessibleObject, pszName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAccessibleName(self, pszName) proc AddItem*(self: ptr IResultsFolder, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddItem(self, psi) proc AddIDList*(self: ptr IResultsFolder, pidl: PCIDLIST_ABSOLUTE, ppidlAdded: ptr PITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddIDList(self, pidl, ppidlAdded) proc RemoveItem*(self: ptr IResultsFolder, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveItem(self, psi) proc RemoveIDList*(self: ptr IResultsFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveIDList(self, pidl) proc RemoveAll*(self: ptr IResultsFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveAll(self) proc Next*(self: ptr IEnumObjects, celt: ULONG, riid: REFIID, rgelt: ptr pointer, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, riid, rgelt, pceltFetched) proc Skip*(self: ptr IEnumObjects, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumObjects): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumObjects, ppenum: ptr ptr IEnumObjects): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc StartProgressDialog*(self: ptr IOperationsProgressDialog, hwndOwner: HWND, flags: OPPROGDLGF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartProgressDialog(self, hwndOwner, flags) proc StopProgressDialog*(self: ptr IOperationsProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StopProgressDialog(self) proc SetOperation*(self: ptr IOperationsProgressDialog, action: SPACTION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOperation(self, action) proc SetMode*(self: ptr IOperationsProgressDialog, mode: PDMODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMode(self, mode) proc UpdateProgress*(self: ptr IOperationsProgressDialog, ullPointsCurrent: ULONGLONG, ullPointsTotal: ULONGLONG, ullSizeCurrent: ULONGLONG, ullSizeTotal: ULONGLONG, ullItemsCurrent: ULONGLONG, ullItemsTotal: ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateProgress(self, ullPointsCurrent, ullPointsTotal, ullSizeCurrent, ullSizeTotal, ullItemsCurrent, ullItemsTotal) proc UpdateLocations*(self: ptr IOperationsProgressDialog, psiSource: ptr IShellItem, psiTarget: ptr IShellItem, psiItem: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateLocations(self, psiSource, psiTarget, psiItem) proc ResetTimer*(self: ptr IOperationsProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResetTimer(self) proc PauseTimer*(self: ptr IOperationsProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PauseTimer(self) proc ResumeTimer*(self: ptr IOperationsProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResumeTimer(self) proc GetMilliseconds*(self: ptr IOperationsProgressDialog, pullElapsed: ptr ULONGLONG, pullRemaining: ptr ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMilliseconds(self, pullElapsed, pullRemaining) proc GetOperationStatus*(self: ptr IOperationsProgressDialog, popstatus: ptr PDOPSTATUS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOperationStatus(self, popstatus) proc SetCancelInformation*(self: ptr IIOCancelInformation, dwThreadID: DWORD, uMsgCancel: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCancelInformation(self, dwThreadID, uMsgCancel) proc GetCancelInformation*(self: ptr IIOCancelInformation, pdwThreadID: ptr DWORD, puMsgCancel: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCancelInformation(self, pdwThreadID, puMsgCancel) proc Advise*(self: ptr IFileOperation, pfops: ptr IFileOperationProgressSink, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, pfops, pdwCookie) proc Unadvise*(self: ptr IFileOperation, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc SetOperationFlags*(self: ptr IFileOperation, dwOperationFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOperationFlags(self, dwOperationFlags) proc SetProgressMessage*(self: ptr IFileOperation, pszMessage: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgressMessage(self, pszMessage) proc SetProgressDialog*(self: ptr IFileOperation, popd: ptr IOperationsProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgressDialog(self, popd) proc SetProperties*(self: ptr IFileOperation, pproparray: ptr IPropertyChangeArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProperties(self, pproparray) proc SetOwnerWindow*(self: ptr IFileOperation, hwndOwner: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOwnerWindow(self, hwndOwner) proc ApplyPropertiesToItem*(self: ptr IFileOperation, psiItem: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ApplyPropertiesToItem(self, psiItem) proc ApplyPropertiesToItems*(self: ptr IFileOperation, punkItems: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ApplyPropertiesToItems(self, punkItems) proc RenameItem*(self: ptr IFileOperation, psiItem: ptr IShellItem, pszNewName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RenameItem(self, psiItem, pszNewName, pfopsItem) proc RenameItems*(self: ptr IFileOperation, pUnkItems: ptr IUnknown, pszNewName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RenameItems(self, pUnkItems, pszNewName) proc MoveItem*(self: ptr IFileOperation, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszNewName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MoveItem(self, psiItem, psiDestinationFolder, pszNewName, pfopsItem) proc MoveItems*(self: ptr IFileOperation, punkItems: ptr IUnknown, psiDestinationFolder: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MoveItems(self, punkItems, psiDestinationFolder) proc CopyItem*(self: ptr IFileOperation, psiItem: ptr IShellItem, psiDestinationFolder: ptr IShellItem, pszCopyName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyItem(self, psiItem, psiDestinationFolder, pszCopyName, pfopsItem) proc CopyItems*(self: ptr IFileOperation, punkItems: ptr IUnknown, psiDestinationFolder: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyItems(self, punkItems, psiDestinationFolder) proc DeleteItem*(self: ptr IFileOperation, psiItem: ptr IShellItem, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteItem(self, psiItem, pfopsItem) proc DeleteItems*(self: ptr IFileOperation, punkItems: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteItems(self, punkItems) proc NewItem*(self: ptr IFileOperation, psiDestinationFolder: ptr IShellItem, dwFileAttributes: DWORD, pszName: LPCWSTR, pszTemplateName: LPCWSTR, pfopsItem: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.NewItem(self, psiDestinationFolder, dwFileAttributes, pszName, pszTemplateName, pfopsItem) proc PerformOperations*(self: ptr IFileOperation): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PerformOperations(self) proc GetAnyOperationsAborted*(self: ptr IFileOperation, pfAnyOperationsAborted: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAnyOperationsAborted(self, pfAnyOperationsAborted) proc QueryObject*(self: ptr IObjectProvider, guidObject: REFGUID, riid: REFIID, ppvOut: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryObject(self, guidObject, riid, ppvOut) proc FoundItem*(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FoundItem(self, psf, pidl) proc EnterFolder*(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnterFolder(self, psf, pidl) proc LeaveFolder*(self: ptr INamespaceWalkCB, psf: ptr IShellFolder, pidl: PCUITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LeaveFolder(self, psf, pidl) proc InitializeProgressDialog*(self: ptr INamespaceWalkCB, ppszTitle: ptr LPWSTR, ppszCancel: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InitializeProgressDialog(self, ppszTitle, ppszCancel) proc WalkComplete*(self: ptr INamespaceWalkCB2, hr: HRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.WalkComplete(self, hr) proc Walk*(self: ptr INamespaceWalk, punkToWalk: ptr IUnknown, dwFlags: DWORD, cDepth: int32, pnswcb: ptr INamespaceWalkCB): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Walk(self, punkToWalk, dwFlags, cDepth, pnswcb) proc GetIDArrayResult*(self: ptr INamespaceWalk, pcItems: ptr UINT, prgpidl: ptr ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDArrayResult(self, pcItems, prgpidl) proc GetDropDownStatus*(self: ptr IAutoCompleteDropDown, pdwFlags: ptr DWORD, ppwszString: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDropDownStatus(self, pdwFlags, ppwszString) proc ResetEnumerator*(self: ptr IAutoCompleteDropDown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResetEnumerator(self) proc AddBand*(self: ptr IBandSite, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddBand(self, punk) proc EnumBands*(self: ptr IBandSite, uBand: UINT, pdwBandID: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumBands(self, uBand, pdwBandID) proc QueryBand*(self: ptr IBandSite, dwBandID: DWORD, ppstb: ptr ptr IDeskBand, pdwState: ptr DWORD, pszName: LPWSTR, cchName: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryBand(self, dwBandID, ppstb, pdwState, pszName, cchName) proc SetBandState*(self: ptr IBandSite, dwBandID: DWORD, dwMask: DWORD, dwState: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBandState(self, dwBandID, dwMask, dwState) proc RemoveBand*(self: ptr IBandSite, dwBandID: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveBand(self, dwBandID) proc GetBandObject*(self: ptr IBandSite, dwBandID: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBandObject(self, dwBandID, riid, ppv) proc SetBandSiteInfo*(self: ptr IBandSite, pbsinfo: ptr BANDSITEINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBandSiteInfo(self, pbsinfo) proc GetBandSiteInfo*(self: ptr IBandSite, pbsinfo: ptr BANDSITEINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBandSiteInfo(self, pbsinfo) proc Show*(self: ptr IModalWindow, hwndOwner: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, hwndOwner) proc GetSupportedActionTypes*(self: ptr ICDBurnExt, pdwActions: ptr CDBE_ACTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSupportedActionTypes(self, pdwActions) proc DoContextMenuPopup*(self: ptr IContextMenuSite, punkContextMenu: ptr IUnknown, fFlags: UINT, pt: POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DoContextMenuPopup(self, punkContextMenu, fFlags, pt) proc EnumReady*(self: ptr IEnumReadyCallback): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumReady(self) proc SetEnumReadyCallback*(self: ptr IEnumerableView, percb: ptr IEnumReadyCallback): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetEnumReadyCallback(self, percb) proc CreateEnumIDListFromContents*(self: ptr IEnumerableView, pidlFolder: PCIDLIST_ABSOLUTE, dwEnumFlags: DWORD, ppEnumIDList: ptr ptr IEnumIDList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateEnumIDListFromContents(self, pidlFolder, dwEnumFlags, ppEnumIDList) proc InsertItem*(self: ptr IInsertItem, pidl: PCUIDLIST_RELATIVE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InsertItem(self, pidl) proc IsMenuMessage*(self: ptr IMenuBand, pmsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsMenuMessage(self, pmsg) proc TranslateMenuMessage*(self: ptr IMenuBand, pmsg: ptr MSG, plRet: ptr LRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateMenuMessage(self, pmsg, plRet) proc SetCascade*(self: ptr IFolderBandPriv, fCascade: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCascade(self, fCascade) proc SetAccelerators*(self: ptr IFolderBandPriv, fAccelerators: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAccelerators(self, fAccelerators) proc SetNoIcons*(self: ptr IFolderBandPriv, fNoIcons: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNoIcons(self, fNoIcons) proc SetNoText*(self: ptr IFolderBandPriv, fNoText: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNoText(self, fNoText) proc GetCheckState*(self: ptr IRegTreeItem, pbCheck: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCheckState(self, pbCheck) proc SetCheckState*(self: ptr IRegTreeItem, bCheck: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCheckState(self, bCheck) proc RecompressImage*(self: ptr IImageRecompress, psi: ptr IShellItem, cx: int32, cy: int32, iQuality: int32, pstg: ptr IStorage, ppstrmOut: ptr ptr IStream): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RecompressImage(self, psi, cx, cy, iQuality, pstg, ppstrmOut) proc SetClient*(self: ptr IDeskBar, punkClient: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetClient(self, punkClient) proc GetClient*(self: ptr IDeskBar, ppunkClient: ptr ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetClient(self, ppunkClient) proc OnPosRectChangeDB*(self: ptr IDeskBar, prc: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnPosRectChangeDB(self, prc) proc Popup*(self: ptr IMenuPopup, ppt: ptr POINTL, prcExclude: ptr RECTL, dwFlags: MP_POPUPFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Popup(self, ppt, prcExclude, dwFlags) proc OnSelect*(self: ptr IMenuPopup, dwSelectType: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnSelect(self, dwSelectType) proc SetSubMenu*(self: ptr IMenuPopup, pmp: ptr IMenuPopup, fSet: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSubMenu(self, pmp, fSet) proc GetAppName*(self: ptr IFileIsInUse, ppszName: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAppName(self, ppszName) proc GetUsage*(self: ptr IFileIsInUse, pfut: ptr FILE_USAGE_TYPE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUsage(self, pfut) proc GetCapabilities*(self: ptr IFileIsInUse, pdwCapFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCapabilities(self, pdwCapFlags) proc GetSwitchToHWND*(self: ptr IFileIsInUse, phwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSwitchToHWND(self, phwnd) proc CloseFile*(self: ptr IFileIsInUse): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CloseFile(self) proc OnFileOk*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnFileOk(self, pfd) proc OnFolderChanging*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psiFolder: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnFolderChanging(self, pfd, psiFolder) proc OnFolderChange*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnFolderChange(self, pfd) proc OnSelectionChange*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnSelectionChange(self, pfd) proc OnShareViolation*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psi: ptr IShellItem, pResponse: ptr FDE_SHAREVIOLATION_RESPONSE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnShareViolation(self, pfd, psi, pResponse) proc OnTypeChange*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnTypeChange(self, pfd) proc OnOverwrite*(self: ptr IFileDialogEvents, pfd: ptr IFileDialog, psi: ptr IShellItem, pResponse: ptr FDE_OVERWRITE_RESPONSE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnOverwrite(self, pfd, psi, pResponse) proc SetFileTypes*(self: ptr IFileDialog, cFileTypes: UINT, rgFilterSpec: ptr COMDLG_FILTERSPEC): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileTypes(self, cFileTypes, rgFilterSpec) proc SetFileTypeIndex*(self: ptr IFileDialog, iFileType: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileTypeIndex(self, iFileType) proc GetFileTypeIndex*(self: ptr IFileDialog, piFileType: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFileTypeIndex(self, piFileType) proc Advise*(self: ptr IFileDialog, pfde: ptr IFileDialogEvents, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, pfde, pdwCookie) proc Unadvise*(self: ptr IFileDialog, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc SetOptions*(self: ptr IFileDialog, fos: FILEOPENDIALOGOPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOptions(self, fos) proc GetOptions*(self: ptr IFileDialog, pfos: ptr FILEOPENDIALOGOPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOptions(self, pfos) proc SetDefaultFolder*(self: ptr IFileDialog, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDefaultFolder(self, psi) proc SetFolder*(self: ptr IFileDialog, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolder(self, psi) proc GetFolder*(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolder(self, ppsi) proc GetCurrentSelection*(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentSelection(self, ppsi) proc SetFileName*(self: ptr IFileDialog, pszName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileName(self, pszName) proc GetFileName*(self: ptr IFileDialog, pszName: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFileName(self, pszName) proc SetTitle*(self: ptr IFileDialog, pszTitle: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTitle(self, pszTitle) proc SetOkButtonLabel*(self: ptr IFileDialog, pszText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOkButtonLabel(self, pszText) proc SetFileNameLabel*(self: ptr IFileDialog, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileNameLabel(self, pszLabel) proc GetResult*(self: ptr IFileDialog, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetResult(self, ppsi) proc AddPlace*(self: ptr IFileDialog, psi: ptr IShellItem, fdap: FDAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddPlace(self, psi, fdap) proc SetDefaultExtension*(self: ptr IFileDialog, pszDefaultExtension: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDefaultExtension(self, pszDefaultExtension) proc Close*(self: ptr IFileDialog, hr: HRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Close(self, hr) proc SetClientGuid*(self: ptr IFileDialog, guid: REFGUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetClientGuid(self, guid) proc ClearClientData*(self: ptr IFileDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ClearClientData(self) proc SetFilter*(self: ptr IFileDialog, pFilter: ptr IShellItemFilter): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFilter(self, pFilter) proc SetSaveAsItem*(self: ptr IFileSaveDialog, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSaveAsItem(self, psi) proc SetProperties*(self: ptr IFileSaveDialog, pStore: ptr IPropertyStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProperties(self, pStore) proc SetCollectedProperties*(self: ptr IFileSaveDialog, pList: ptr IPropertyDescriptionList, fAppendDefault: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCollectedProperties(self, pList, fAppendDefault) proc GetProperties*(self: ptr IFileSaveDialog, ppStore: ptr ptr IPropertyStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetProperties(self, ppStore) proc ApplyProperties*(self: ptr IFileSaveDialog, psi: ptr IShellItem, pStore: ptr IPropertyStore, hwnd: HWND, pSink: ptr IFileOperationProgressSink): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ApplyProperties(self, psi, pStore, hwnd, pSink) proc GetResults*(self: ptr IFileOpenDialog, ppenum: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetResults(self, ppenum) proc GetSelectedItems*(self: ptr IFileOpenDialog, ppsai: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedItems(self, ppsai) proc EnableOpenDropDown*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnableOpenDropDown(self, dwIDCtl) proc AddMenu*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddMenu(self, dwIDCtl, pszLabel) proc AddPushButton*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddPushButton(self, dwIDCtl, pszLabel) proc AddComboBox*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddComboBox(self, dwIDCtl) proc AddRadioButtonList*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddRadioButtonList(self, dwIDCtl) proc AddCheckButton*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR, bChecked: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddCheckButton(self, dwIDCtl, pszLabel, bChecked) proc AddEditBox*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddEditBox(self, dwIDCtl, pszText) proc AddSeparator*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddSeparator(self, dwIDCtl) proc AddText*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddText(self, dwIDCtl, pszText) proc SetControlLabel*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlLabel(self, dwIDCtl, pszLabel) proc GetControlState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pdwState: ptr CDCONTROLSTATEF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetControlState(self, dwIDCtl, pdwState) proc SetControlState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwState: CDCONTROLSTATEF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlState(self, dwIDCtl, dwState) proc GetEditBoxText*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, ppszText: ptr ptr WCHAR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEditBoxText(self, dwIDCtl, ppszText) proc SetEditBoxText*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszText: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetEditBoxText(self, dwIDCtl, pszText) proc GetCheckButtonState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pbChecked: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCheckButtonState(self, dwIDCtl, pbChecked) proc SetCheckButtonState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, bChecked: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCheckButtonState(self, dwIDCtl, bChecked) proc AddControlItem*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddControlItem(self, dwIDCtl, dwIDItem, pszLabel) proc RemoveControlItem*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveControlItem(self, dwIDCtl, dwIDItem) proc RemoveAllControlItems*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveAllControlItems(self, dwIDCtl) proc GetControlItemState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pdwState: ptr CDCONTROLSTATEF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetControlItemState(self, dwIDCtl, dwIDItem, pdwState) proc SetControlItemState*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, dwState: CDCONTROLSTATEF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlItemState(self, dwIDCtl, dwIDItem, dwState) proc GetSelectedControlItem*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pdwIDItem: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedControlItem(self, dwIDCtl, pdwIDItem) proc SetSelectedControlItem*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSelectedControlItem(self, dwIDCtl, dwIDItem) proc StartVisualGroup*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartVisualGroup(self, dwIDCtl, pszLabel) proc EndVisualGroup*(self: ptr IFileDialogCustomize): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EndVisualGroup(self) proc MakeProminent*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MakeProminent(self, dwIDCtl) proc SetControlItemText*(self: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlItemText(self, dwIDCtl, dwIDItem, pszLabel) proc OnItemSelected*(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD, dwIDItem: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemSelected(self, pfdc, dwIDCtl, dwIDItem) proc OnButtonClicked*(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnButtonClicked(self, pfdc, dwIDCtl) proc OnCheckButtonToggled*(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD, bChecked: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnCheckButtonToggled(self, pfdc, dwIDCtl, bChecked) proc OnControlActivating*(self: ptr IFileDialogControlEvents, pfdc: ptr IFileDialogCustomize, dwIDCtl: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnControlActivating(self, pfdc, dwIDCtl) proc SetCancelButtonLabel*(self: ptr IFileDialog2, pszLabel: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCancelButtonLabel(self, pszLabel) proc SetNavigationRoot*(self: ptr IFileDialog2, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNavigationRoot(self, psi) proc QueryCurrentDefault*(self: ptr IApplicationAssociationRegistration, pszQuery: LPCWSTR, atQueryType: ASSOCIATIONTYPE, alQueryLevel: ASSOCIATIONLEVEL, ppszAssociation: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryCurrentDefault(self, pszQuery, atQueryType, alQueryLevel, ppszAssociation) proc QueryAppIsDefault*(self: ptr IApplicationAssociationRegistration, pszQuery: LPCWSTR, atQueryType: ASSOCIATIONTYPE, alQueryLevel: ASSOCIATIONLEVEL, pszAppRegistryName: LPCWSTR, pfDefault: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryAppIsDefault(self, pszQuery, atQueryType, alQueryLevel, pszAppRegistryName, pfDefault) proc QueryAppIsDefaultAll*(self: ptr IApplicationAssociationRegistration, alQueryLevel: ASSOCIATIONLEVEL, pszAppRegistryName: LPCWSTR, pfDefault: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryAppIsDefaultAll(self, alQueryLevel, pszAppRegistryName, pfDefault) proc SetAppAsDefault*(self: ptr IApplicationAssociationRegistration, pszAppRegistryName: LPCWSTR, pszSet: LPCWSTR, atSetType: ASSOCIATIONTYPE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppAsDefault(self, pszAppRegistryName, pszSet, atSetType) proc SetAppAsDefaultAll*(self: ptr IApplicationAssociationRegistration, pszAppRegistryName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppAsDefaultAll(self, pszAppRegistryName) proc ClearUserAssociations*(self: ptr IApplicationAssociationRegistration): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ClearUserAssociations(self) proc LaunchAdvancedAssociationUI*(self: ptr IApplicationAssociationRegistrationUI, pszAppRegistryName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LaunchAdvancedAssociationUI(self, pszAppRegistryName) proc SetItemAlloc*(self: ptr IDelegateFolder, pmalloc: ptr IMalloc): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItemAlloc(self, pmalloc) proc GetFrameOptions*(self: ptr IBrowserFrameOptions, dwMask: BROWSERFRAMEOPTIONS, pdwOptions: ptr BROWSERFRAMEOPTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFrameOptions(self, dwMask, pdwOptions) proc EvaluateNewWindow*(self: ptr INewWindowManager, pszUrl: LPCWSTR, pszName: LPCWSTR, pszUrlContext: LPCWSTR, pszFeatures: LPCWSTR, fReplace: WINBOOL, dwFlags: DWORD, dwUserActionTime: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EvaluateNewWindow(self, pszUrl, pszName, pszUrlContext, pszFeatures, fReplace, dwFlags, dwUserActionTime) proc SetClientTitle*(self: ptr IAttachmentExecute, pszTitle: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetClientTitle(self, pszTitle) proc SetClientGuid*(self: ptr IAttachmentExecute, guid: REFGUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetClientGuid(self, guid) proc SetLocalPath*(self: ptr IAttachmentExecute, pszLocalPath: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetLocalPath(self, pszLocalPath) proc SetFileName*(self: ptr IAttachmentExecute, pszFileName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileName(self, pszFileName) proc SetSource*(self: ptr IAttachmentExecute, pszSource: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSource(self, pszSource) proc SetReferrer*(self: ptr IAttachmentExecute, pszReferrer: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetReferrer(self, pszReferrer) proc CheckPolicy*(self: ptr IAttachmentExecute): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CheckPolicy(self) proc Prompt*(self: ptr IAttachmentExecute, hwnd: HWND, prompt: ATTACHMENT_PROMPT, paction: ptr ATTACHMENT_ACTION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Prompt(self, hwnd, prompt, paction) proc Save*(self: ptr IAttachmentExecute): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Save(self) proc Execute*(self: ptr IAttachmentExecute, hwnd: HWND, pszVerb: LPCWSTR, phProcess: ptr HANDLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Execute(self, hwnd, pszVerb, phProcess) proc SaveWithUI*(self: ptr IAttachmentExecute, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SaveWithUI(self, hwnd) proc ClearClientState*(self: ptr IAttachmentExecute): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ClearClientState(self) proc CallbackSM*(self: ptr IShellMenuCallback, psmd: LPSMDATA, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CallbackSM(self, psmd, uMsg, wParam, lParam) proc Initialize*(self: ptr IShellMenu, psmc: ptr IShellMenuCallback, uId: UINT, uIdAncestor: UINT, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, psmc, uId, uIdAncestor, dwFlags) proc GetMenuInfo*(self: ptr IShellMenu, ppsmc: ptr ptr IShellMenuCallback, puId: ptr UINT, puIdAncestor: ptr UINT, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMenuInfo(self, ppsmc, puId, puIdAncestor, pdwFlags) proc SetShellFolder*(self: ptr IShellMenu, psf: ptr IShellFolder, pidlFolder: PCIDLIST_ABSOLUTE, hKey: HKEY, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetShellFolder(self, psf, pidlFolder, hKey, dwFlags) proc GetShellFolder*(self: ptr IShellMenu, pdwFlags: ptr DWORD, ppidl: ptr PIDLIST_ABSOLUTE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShellFolder(self, pdwFlags, ppidl, riid, ppv) proc SetMenu*(self: ptr IShellMenu, hmenu: HMENU, hwnd: HWND, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMenu(self, hmenu, hwnd, dwFlags) proc GetMenu*(self: ptr IShellMenu, phmenu: ptr HMENU, phwnd: ptr HWND, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMenu(self, phmenu, phwnd, pdwFlags) proc InvalidateItem*(self: ptr IShellMenu, psmd: LPSMDATA, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InvalidateItem(self, psmd, dwFlags) proc GetState*(self: ptr IShellMenu, psmd: LPSMDATA): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetState(self, psmd) proc SetMenuToolbar*(self: ptr IShellMenu, punk: ptr IUnknown, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMenuToolbar(self, punk, dwFlags) proc Run*(self: ptr IShellRunDll, pszArgs: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Run(self, pszArgs) proc GetId*(self: ptr IKnownFolder, pkfid: ptr KNOWNFOLDERID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetId(self, pkfid) proc GetCategory*(self: ptr IKnownFolder, pCategory: ptr KF_CATEGORY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCategory(self, pCategory) proc GetShellItem*(self: ptr IKnownFolder, dwFlags: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShellItem(self, dwFlags, riid, ppv) proc GetPath*(self: ptr IKnownFolder, dwFlags: DWORD, ppszPath: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPath(self, dwFlags, ppszPath) proc SetPath*(self: ptr IKnownFolder, dwFlags: DWORD, pszPath: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPath(self, dwFlags, pszPath) proc GetIDList*(self: ptr IKnownFolder, dwFlags: DWORD, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIDList(self, dwFlags, ppidl) proc GetFolderType*(self: ptr IKnownFolder, pftid: ptr FOLDERTYPEID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderType(self, pftid) proc GetRedirectionCapabilities*(self: ptr IKnownFolder, pCapabilities: ptr KF_REDIRECTION_CAPABILITIES): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetRedirectionCapabilities(self, pCapabilities) proc GetFolderDefinition*(self: ptr IKnownFolder, pKFD: ptr KNOWNFOLDER_DEFINITION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderDefinition(self, pKFD) proc FolderIdFromCsidl*(self: ptr IKnownFolderManager, nCsidl: int32, pfid: ptr KNOWNFOLDERID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FolderIdFromCsidl(self, nCsidl, pfid) proc FolderIdToCsidl*(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, pnCsidl: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FolderIdToCsidl(self, rfid, pnCsidl) proc GetFolderIds*(self: ptr IKnownFolderManager, ppKFId: ptr ptr KNOWNFOLDERID, pCount: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderIds(self, ppKFId, pCount) proc GetFolder*(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, ppkf: ptr ptr IKnownFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolder(self, rfid, ppkf) proc GetFolderByName*(self: ptr IKnownFolderManager, pszCanonicalName: LPCWSTR, ppkf: ptr ptr IKnownFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderByName(self, pszCanonicalName, ppkf) proc RegisterFolder*(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, pKFD: ptr KNOWNFOLDER_DEFINITION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RegisterFolder(self, rfid, pKFD) proc UnregisterFolder*(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UnregisterFolder(self, rfid) proc FindFolderFromPath*(self: ptr IKnownFolderManager, pszPath: LPCWSTR, mode: FFFP_MODE, ppkf: ptr ptr IKnownFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindFolderFromPath(self, pszPath, mode, ppkf) proc FindFolderFromIDList*(self: ptr IKnownFolderManager, pidl: PCIDLIST_ABSOLUTE, ppkf: ptr ptr IKnownFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindFolderFromIDList(self, pidl, ppkf) proc Redirect*(self: ptr IKnownFolderManager, rfid: REFKNOWNFOLDERID, hwnd: HWND, flags: KF_REDIRECT_FLAGS, pszTargetPath: LPCWSTR, cFolders: UINT, pExclusion: ptr KNOWNFOLDERID, ppszError: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Redirect(self, rfid, hwnd, flags, pszTargetPath, cFolders, pExclusion, ppszError) proc CreateShare*(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID, role: SHARE_ROLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateShare(self, dsid, role) proc DeleteShare*(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteShare(self, dsid) proc ShareExists*(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShareExists(self, dsid) proc GetSharePermissions*(self: ptr ISharingConfigurationManager, dsid: DEF_SHARE_ID, pRole: ptr SHARE_ROLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSharePermissions(self, dsid, pRole) proc SharePrinters*(self: ptr ISharingConfigurationManager): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SharePrinters(self) proc StopSharingPrinters*(self: ptr ISharingConfigurationManager): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StopSharingPrinters(self) proc ArePrintersShared*(self: ptr ISharingConfigurationManager): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ArePrintersShared(self) proc AreSnapshotsAvailable*(self: ptr IPreviousVersionsInfo, pszPath: LPCWSTR, fOkToBeSlow: WINBOOL, pfAvailable: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AreSnapshotsAvailable(self, pszPath, fOkToBeSlow, pfAvailable) proc GetItemIDList*(self: ptr IRelatedItem, ppidl: ptr PIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemIDList(self, ppidl) proc GetItem*(self: ptr IRelatedItem, ppsi: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItem(self, ppsi) proc GetDestinationStream*(self: ptr IDestinationStreamFactory, ppstm: ptr ptr IStream): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDestinationStream(self, ppstm) proc IncludeItems*(self: ptr INewMenuClient, pflags: ptr NMCII_FLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IncludeItems(self, pflags) proc SelectAndEditItem*(self: ptr INewMenuClient, pidlItem: PCIDLIST_ABSOLUTE, flags: NMCSAEI_FLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SelectAndEditItem(self, pidlItem, flags) proc Initialize*(self: ptr IInitializeWithBindCtx, pbc: ptr IBindCtx): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pbc) proc IncludeItem*(self: ptr IShellItemFilter, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IncludeItem(self, psi) proc GetEnumFlagsForItem*(self: ptr IShellItemFilter, psi: ptr IShellItem, pgrfFlags: ptr SHCONTF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEnumFlagsForItem(self, psi, pgrfFlags) proc Initialize*(self: ptr INameSpaceTreeControl, hwndParent: HWND, prc: ptr RECT, nsctsFlags: NSTCSTYLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, hwndParent, prc, nsctsFlags) proc TreeAdvise*(self: ptr INameSpaceTreeControl, punk: ptr IUnknown, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TreeAdvise(self, punk, pdwCookie) proc TreeUnadvise*(self: ptr INameSpaceTreeControl, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TreeUnadvise(self, dwCookie) proc AppendRoot*(self: ptr INameSpaceTreeControl, psiRoot: ptr IShellItem, grfEnumFlags: SHCONTF, grfRootStyle: NSTCROOTSTYLE, pif: ptr IShellItemFilter): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AppendRoot(self, psiRoot, grfEnumFlags, grfRootStyle, pif) proc InsertRoot*(self: ptr INameSpaceTreeControl, iIndex: int32, psiRoot: ptr IShellItem, grfEnumFlags: SHCONTF, grfRootStyle: NSTCROOTSTYLE, pif: ptr IShellItemFilter): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InsertRoot(self, iIndex, psiRoot, grfEnumFlags, grfRootStyle, pif) proc RemoveRoot*(self: ptr INameSpaceTreeControl, psiRoot: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveRoot(self, psiRoot) proc RemoveAllRoots*(self: ptr INameSpaceTreeControl): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveAllRoots(self) proc GetRootItems*(self: ptr INameSpaceTreeControl, ppsiaRootItems: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetRootItems(self, ppsiaRootItems) proc SetItemState*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisFlags: NSTCITEMSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItemState(self, psi, nstcisMask, nstcisFlags) proc GetItemState*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, pnstcisFlags: ptr NSTCITEMSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemState(self, psi, nstcisMask, pnstcisFlags) proc GetSelectedItems*(self: ptr INameSpaceTreeControl, psiaItems: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedItems(self, psiaItems) proc GetItemCustomState*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, piStateNumber: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemCustomState(self, psi, piStateNumber) proc SetItemCustomState*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, iStateNumber: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItemCustomState(self, psi, iStateNumber) proc EnsureItemVisible*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnsureItemVisible(self, psi) proc SetTheme*(self: ptr INameSpaceTreeControl, pszTheme: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTheme(self, pszTheme) proc GetNextItem*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, nstcgi: NSTCGNI, ppsiNext: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetNextItem(self, psi, nstcgi, ppsiNext) proc HitTest*(self: ptr INameSpaceTreeControl, ppt: ptr POINT, ppsiOut: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HitTest(self, ppt, ppsiOut) proc GetItemRect*(self: ptr INameSpaceTreeControl, psi: ptr IShellItem, prect: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemRect(self, psi, prect) proc CollapseAll*(self: ptr INameSpaceTreeControl): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CollapseAll(self) proc SetControlStyle*(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE, nstcsStyle: NSTCSTYLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlStyle(self, nstcsMask, nstcsStyle) proc GetControlStyle*(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE, pnstcsStyle: ptr NSTCSTYLE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetControlStyle(self, nstcsMask, pnstcsStyle) proc SetControlStyle2*(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE2, nstcsStyle: NSTCSTYLE2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetControlStyle2(self, nstcsMask, nstcsStyle) proc GetControlStyle2*(self: ptr INameSpaceTreeControl2, nstcsMask: NSTCSTYLE2, pnstcsStyle: ptr NSTCSTYLE2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetControlStyle2(self, nstcsMask, pnstcsStyle) proc OnItemClick*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstceHitTest: NSTCEHITTEST, nstceClickType: NSTCECLICKTYPE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemClick(self, psi, nstceHitTest, nstceClickType) proc OnPropertyItemCommit*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnPropertyItemCommit(self, psi) proc OnItemStateChanging*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisState: NSTCITEMSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemStateChanging(self, psi, nstcisMask, nstcisState) proc OnItemStateChanged*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, nstcisMask: NSTCITEMSTATE, nstcisState: NSTCITEMSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemStateChanged(self, psi, nstcisMask, nstcisState) proc OnSelectionChanged*(self: ptr INameSpaceTreeControlEvents, psiaSelection: ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnSelectionChanged(self, psiaSelection) proc OnKeyboardInput*(self: ptr INameSpaceTreeControlEvents, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnKeyboardInput(self, uMsg, wParam, lParam) proc OnBeforeExpand*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBeforeExpand(self, psi) proc OnAfterExpand*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnAfterExpand(self, psi) proc OnBeginLabelEdit*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBeginLabelEdit(self, psi) proc OnEndLabelEdit*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnEndLabelEdit(self, psi) proc OnGetToolTip*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, pszTip: LPWSTR, cchTip: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnGetToolTip(self, psi, pszTip, cchTip) proc OnBeforeItemDelete*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBeforeItemDelete(self, psi) proc OnItemAdded*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, fIsRoot: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemAdded(self, psi, fIsRoot) proc OnItemDeleted*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, fIsRoot: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnItemDeleted(self, psi, fIsRoot) proc OnBeforeContextMenu*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBeforeContextMenu(self, psi, riid, ppv) proc OnAfterContextMenu*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, pcmIn: ptr IContextMenu, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnAfterContextMenu(self, psi, pcmIn, riid, ppv) proc OnBeforeStateImageChange*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnBeforeStateImageChange(self, psi) proc OnGetDefaultIconIndex*(self: ptr INameSpaceTreeControlEvents, psi: ptr IShellItem, piDefaultIcon: ptr int32, piOpenIcon: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnGetDefaultIconIndex(self, psi, piDefaultIcon, piOpenIcon) proc OnDragEnter*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, fOutsideSource: WINBOOL, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDragEnter(self, psiOver, psiaData, fOutsideSource, grfKeyState, pdwEffect) proc OnDragOver*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDragOver(self, psiOver, psiaData, grfKeyState, pdwEffect) proc OnDragPosition*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iNewPosition: int32, iOldPosition: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDragPosition(self, psiOver, psiaData, iNewPosition, iOldPosition) proc OnDrop*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iPosition: int32, grfKeyState: DWORD, pdwEffect: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDrop(self, psiOver, psiaData, iPosition, grfKeyState, pdwEffect) proc OnDropPosition*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem, psiaData: ptr IShellItemArray, iNewPosition: int32, iOldPosition: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDropPosition(self, psiOver, psiaData, iNewPosition, iOldPosition) proc OnDragLeave*(self: ptr INameSpaceTreeControlDropHandler, psiOver: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDragLeave(self, psiOver) proc OnGetDefaultAccessibilityAction*(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem, pbstrDefaultAction: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnGetDefaultAccessibilityAction(self, psi, pbstrDefaultAction) proc OnDoDefaultAccessibilityAction*(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnDoDefaultAccessibilityAction(self, psi) proc OnGetAccessibilityRole*(self: ptr INameSpaceTreeAccessible, psi: ptr IShellItem, pvarRole: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnGetAccessibilityRole(self, psi, pvarRole) proc PrePaint*(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, plres: ptr LRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PrePaint(self, hdc, prc, plres) proc PostPaint*(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PostPaint(self, hdc, prc) proc ItemPrePaint*(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, pnstccdItem: ptr NSTCCUSTOMDRAW, pclrText: ptr COLORREF, pclrTextBk: ptr COLORREF, plres: ptr LRESULT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ItemPrePaint(self, hdc, prc, pnstccdItem, pclrText, pclrTextBk, plres) proc ItemPostPaint*(self: ptr INameSpaceTreeControlCustomDraw, hdc: HDC, prc: ptr RECT, pnstccdItem: ptr NSTCCUSTOMDRAW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ItemPostPaint(self, hdc, prc, pnstccdItem) proc GetFolderCapabilities*(self: ptr INameSpaceTreeControlFolderCapabilities, nfcMask: NSTCFOLDERCAPABILITIES, pnfcValue: ptr NSTCFOLDERCAPABILITIES): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderCapabilities(self, nfcMask, pnfcValue) proc SetWindow*(self: ptr IPreviewHandler, hwnd: HWND, prc: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWindow(self, hwnd, prc) proc SetRect*(self: ptr IPreviewHandler, prc: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRect(self, prc) proc DoPreview*(self: ptr IPreviewHandler): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DoPreview(self) proc Unload*(self: ptr IPreviewHandler): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unload(self) proc SetFocus*(self: ptr IPreviewHandler): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFocus(self) proc QueryFocus*(self: ptr IPreviewHandler, phwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QueryFocus(self, phwnd) proc TranslateAccelerator*(self: ptr IPreviewHandler, pmsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAccelerator(self, pmsg) proc GetWindowContext*(self: ptr IPreviewHandlerFrame, pinfo: ptr PREVIEWHANDLERFRAMEINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWindowContext(self, pinfo) proc TranslateAccelerator*(self: ptr IPreviewHandlerFrame, pmsg: ptr MSG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateAccelerator(self, pmsg) proc ShowDeskBand*(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowDeskBand(self, clsid) proc HideDeskBand*(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HideDeskBand(self, clsid) proc IsDeskBandShown*(self: ptr ITrayDeskBand, clsid: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsDeskBandShown(self, clsid) proc DeskBandRegistrationChanged*(self: ptr ITrayDeskBand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeskBandRegistrationChanged(self) proc CreateBand*(self: ptr IBandHost, rclsidBand: REFCLSID, fAvailable: WINBOOL, fVisible: WINBOOL, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateBand(self, rclsidBand, fAvailable, fVisible, riid, ppv) proc SetBandAvailability*(self: ptr IBandHost, rclsidBand: REFCLSID, fAvailable: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBandAvailability(self, rclsidBand, fAvailable) proc DestroyBand*(self: ptr IBandHost, rclsidBand: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DestroyBand(self, rclsidBand) proc GetPaneState*(self: ptr IExplorerPaneVisibility, ep: REFEXPLORERPANE, peps: ptr EXPLORERPANESTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPaneState(self, ep, peps) proc CallBack*(self: ptr IContextMenuCB, psf: ptr IShellFolder, hwndOwner: HWND, pdtobj: ptr IDataObject, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CallBack(self, psf, hwndOwner, pdtobj, uMsg, wParam, lParam) proc SetFlags*(self: ptr IDefaultExtractIconInit, uFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFlags(self, uFlags) proc SetKey*(self: ptr IDefaultExtractIconInit, hkey: HKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetKey(self, hkey) proc SetNormalIcon*(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNormalIcon(self, pszFile, iIcon) proc SetOpenIcon*(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOpenIcon(self, pszFile, iIcon) proc SetShortcutIcon*(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetShortcutIcon(self, pszFile, iIcon) proc SetDefaultIcon*(self: ptr IDefaultExtractIconInit, pszFile: LPCWSTR, iIcon: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDefaultIcon(self, pszFile, iIcon) proc GetTitle*(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszName: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetTitle(self, psiItemArray, ppszName) proc GetIcon*(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszIcon: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIcon(self, psiItemArray, ppszIcon) proc GetToolTip*(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, ppszInfotip: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetToolTip(self, psiItemArray, ppszInfotip) proc GetCanonicalName*(self: ptr IExplorerCommand, pguidCommandName: ptr GUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCanonicalName(self, pguidCommandName) proc GetState*(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, fOkToBeSlow: WINBOOL, pCmdState: ptr EXPCMDSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetState(self, psiItemArray, fOkToBeSlow, pCmdState) proc Invoke*(self: ptr IExplorerCommand, psiItemArray: ptr IShellItemArray, pbc: ptr IBindCtx): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Invoke(self, psiItemArray, pbc) proc GetFlags*(self: ptr IExplorerCommand, pFlags: ptr EXPCMDFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFlags(self, pFlags) proc EnumSubCommands*(self: ptr IExplorerCommand, ppEnum: ptr ptr IEnumExplorerCommand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumSubCommands(self, ppEnum) proc GetState*(self: ptr IExplorerCommandState, psiItemArray: ptr IShellItemArray, fOkToBeSlow: WINBOOL, pCmdState: ptr EXPCMDSTATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetState(self, psiItemArray, fOkToBeSlow, pCmdState) proc Initialize*(self: ptr IInitializeCommand, pszCommandName: LPCWSTR, ppb: ptr IPropertyBag): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pszCommandName, ppb) proc Next*(self: ptr IEnumExplorerCommand, celt: ULONG, pUICommand: ptr ptr IExplorerCommand, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, pUICommand, pceltFetched) proc Skip*(self: ptr IEnumExplorerCommand, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Reset*(self: ptr IEnumExplorerCommand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Clone*(self: ptr IEnumExplorerCommand, ppenum: ptr ptr IEnumExplorerCommand): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppenum) proc GetCommands*(self: ptr IExplorerCommandProvider, punkSite: ptr IUnknown, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCommands(self, punkSite, riid, ppv) proc GetCommand*(self: ptr IExplorerCommandProvider, rguidCommandId: REFGUID, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCommand(self, rguidCommandId, riid, ppv) proc Initialize*(self: ptr IInitializeNetworkFolder, pidl: PCIDLIST_ABSOLUTE, pidlTarget: PCIDLIST_ABSOLUTE, uDisplayType: UINT, pszResName: LPCWSTR, pszProvider: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pidl, pidlTarget, uDisplayType, pszResName, pszProvider) proc Open*(self: ptr IOpenControlPanel, pszName: LPCWSTR, pszPage: LPCWSTR, punkSite: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Open(self, pszName, pszPage, punkSite) proc GetPath*(self: ptr IOpenControlPanel, pszName: LPCWSTR, pszPath: LPWSTR, cchPath: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPath(self, pszName, pszPath, cchPath) proc GetCurrentView*(self: ptr IOpenControlPanel, pView: ptr CPVIEW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCurrentView(self, pView) proc ComputerInfoChanged*(self: ptr IComputerInfoChangeNotify): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ComputerInfoChanged(self) proc SetFindData*(self: ptr IFileSystemBindData, pfd: ptr WIN32_FIND_DATAW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFindData(self, pfd) proc GetFindData*(self: ptr IFileSystemBindData, pfd: ptr WIN32_FIND_DATAW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFindData(self, pfd) proc SetFileID*(self: ptr IFileSystemBindData2, liFileID: LARGE_INTEGER): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFileID(self, liFileID) proc GetFileID*(self: ptr IFileSystemBindData2, pliFileID: ptr LARGE_INTEGER): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFileID(self, pliFileID) proc SetJunctionCLSID*(self: ptr IFileSystemBindData2, clsid: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetJunctionCLSID(self, clsid) proc GetJunctionCLSID*(self: ptr IFileSystemBindData2, pclsid: ptr CLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetJunctionCLSID(self, pclsid) proc SetAppID*(self: ptr ICustomDestinationList, pszAppID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppID(self, pszAppID) proc BeginList*(self: ptr ICustomDestinationList, pcMinSlots: ptr UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BeginList(self, pcMinSlots, riid, ppv) proc AppendCategory*(self: ptr ICustomDestinationList, pszCategory: LPCWSTR, poa: ptr IObjectArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AppendCategory(self, pszCategory, poa) proc AppendKnownCategory*(self: ptr ICustomDestinationList, category: KNOWNDESTCATEGORY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AppendKnownCategory(self, category) proc AddUserTasks*(self: ptr ICustomDestinationList, poa: ptr IObjectArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddUserTasks(self, poa) proc CommitList*(self: ptr ICustomDestinationList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CommitList(self) proc GetRemovedDestinations*(self: ptr ICustomDestinationList, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetRemovedDestinations(self, riid, ppv) proc DeleteList*(self: ptr ICustomDestinationList, pszAppID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteList(self, pszAppID) proc AbortList*(self: ptr ICustomDestinationList): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AbortList(self) proc SetAppID*(self: ptr IApplicationDestinations, pszAppID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppID(self, pszAppID) proc RemoveDestination*(self: ptr IApplicationDestinations, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveDestination(self, punk) proc RemoveAllDestinations*(self: ptr IApplicationDestinations): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveAllDestinations(self) proc SetAppID*(self: ptr IApplicationDocumentLists, pszAppID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppID(self, pszAppID) proc GetList*(self: ptr IApplicationDocumentLists, listtype: APPDOCLISTTYPE, cItemsDesired: UINT, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetList(self, listtype, cItemsDesired, riid, ppv) proc SetAppID*(self: ptr IObjectWithAppUserModelID, pszAppID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAppID(self, pszAppID) proc GetAppID*(self: ptr IObjectWithAppUserModelID, ppszAppID: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAppID(self, ppszAppID) proc SetProgID*(self: ptr IObjectWithProgID, pszProgID: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgID(self, pszProgID) proc GetProgID*(self: ptr IObjectWithProgID, ppszProgID: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetProgID(self, ppszProgID) proc Update*(self: ptr IUpdateIDList, pbc: ptr IBindCtx, pidlIn: PCUITEMID_CHILD, ppidlOut: ptr PITEMID_CHILD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Update(self, pbc, pidlIn, ppidlOut) proc RunGadget*(self: ptr IDesktopGadget, gadgetPath: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RunGadget(self, gadgetPath) proc SetWallpaper*(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, wallpaper: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWallpaper(self, monitorID, wallpaper) proc GetWallpaper*(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, wallpaper: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWallpaper(self, monitorID, wallpaper) proc GetMonitorDevicePathAt*(self: ptr IDesktopWallpaper, monitorIndex: UINT, monitorID: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMonitorDevicePathAt(self, monitorIndex, monitorID) proc GetMonitorDevicePathCount*(self: ptr IDesktopWallpaper, count: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMonitorDevicePathCount(self, count) proc GetMonitorRECT*(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, displayRect: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMonitorRECT(self, monitorID, displayRect) proc mSetBackgroundColor*(self: ptr IDesktopWallpaper, color: COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBackgroundColor(self, color) proc GetBackgroundColor*(self: ptr IDesktopWallpaper, color: ptr COLORREF): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBackgroundColor(self, color) proc SetPosition*(self: ptr IDesktopWallpaper, position: DESKTOP_WALLPAPER_POSITION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPosition(self, position) proc GetPosition*(self: ptr IDesktopWallpaper, position: ptr DESKTOP_WALLPAPER_POSITION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPosition(self, position) proc SetSlideshow*(self: ptr IDesktopWallpaper, items: ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSlideshow(self, items) proc GetSlideshow*(self: ptr IDesktopWallpaper, items: ptr ptr IShellItemArray): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSlideshow(self, items) proc SetSlideshowOptions*(self: ptr IDesktopWallpaper, options: DESKTOP_SLIDESHOW_OPTIONS, slideshowTick: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSlideshowOptions(self, options, slideshowTick) proc GetSlideshowOptions*(self: ptr IDesktopWallpaper, options: ptr DESKTOP_SLIDESHOW_OPTIONS, slideshowTick: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSlideshowOptions(self, options, slideshowTick) proc AdvanceSlideshow*(self: ptr IDesktopWallpaper, monitorID: LPCWSTR, direction: DESKTOP_SLIDESHOW_DIRECTION): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AdvanceSlideshow(self, monitorID, direction) proc GetStatus*(self: ptr IDesktopWallpaper, state: ptr DESKTOP_SLIDESHOW_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetStatus(self, state) proc Enable*(self: ptr IDesktopWallpaper, enable: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Enable(self, enable) proc IsMember*(self: ptr IHomeGroup, member: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsMember(self, member) proc ShowSharingWizard*(self: ptr IHomeGroup, owner: HWND, sharingchoices: ptr HOMEGROUPSHARINGCHOICES): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowSharingWizard(self, owner, sharingchoices) proc Initialize*(self: ptr IInitializeWithPropertyStore, pps: ptr IPropertyStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, pps) proc GetResults*(self: ptr IOpenSearchSource, hwnd: HWND, pszQuery: LPCWSTR, dwStartIndex: DWORD, dwCount: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetResults(self, hwnd, pszQuery, dwStartIndex, dwCount, riid, ppv) proc LoadLibraryFromItem*(self: ptr IShellLibrary, psiLibrary: ptr IShellItem, grfMode: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LoadLibraryFromItem(self, psiLibrary, grfMode) proc LoadLibraryFromKnownFolder*(self: ptr IShellLibrary, kfidLibrary: REFKNOWNFOLDERID, grfMode: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LoadLibraryFromKnownFolder(self, kfidLibrary, grfMode) proc AddFolder*(self: ptr IShellLibrary, psiLocation: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddFolder(self, psiLocation) proc RemoveFolder*(self: ptr IShellLibrary, psiLocation: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveFolder(self, psiLocation) proc GetFolders*(self: ptr IShellLibrary, lff: LIBRARYFOLDERFILTER, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolders(self, lff, riid, ppv) proc ResolveFolder*(self: ptr IShellLibrary, psiFolderToResolve: ptr IShellItem, dwTimeout: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ResolveFolder(self, psiFolderToResolve, dwTimeout, riid, ppv) proc GetDefaultSaveFolder*(self: ptr IShellLibrary, dsft: DEFAULTSAVEFOLDERTYPE, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDefaultSaveFolder(self, dsft, riid, ppv) proc SetDefaultSaveFolder*(self: ptr IShellLibrary, dsft: DEFAULTSAVEFOLDERTYPE, psi: ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDefaultSaveFolder(self, dsft, psi) proc GetOptions*(self: ptr IShellLibrary, plofOptions: ptr LIBRARYOPTIONFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOptions(self, plofOptions) proc SetOptions*(self: ptr IShellLibrary, lofMask: LIBRARYOPTIONFLAGS, lofOptions: LIBRARYOPTIONFLAGS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOptions(self, lofMask, lofOptions) proc GetFolderType*(self: ptr IShellLibrary, pftid: ptr FOLDERTYPEID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolderType(self, pftid) proc SetFolderType*(self: ptr IShellLibrary, ftid: REFFOLDERTYPEID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolderType(self, ftid) proc GetIcon*(self: ptr IShellLibrary, ppszIcon: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIcon(self, ppszIcon) proc SetIcon*(self: ptr IShellLibrary, pszIcon: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIcon(self, pszIcon) proc Commit*(self: ptr IShellLibrary): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Commit(self) proc Save*(self: ptr IShellLibrary, psiFolderToSaveIn: ptr IShellItem, pszLibraryName: LPCWSTR, lsf: LIBRARYSAVEFLAGS, ppsiSavedTo: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Save(self, psiFolderToSaveIn, pszLibraryName, lsf, ppsiSavedTo) proc SaveInKnownFolder*(self: ptr IShellLibrary, kfidToSaveIn: REFKNOWNFOLDERID, pszLibraryName: LPCWSTR, lsf: LIBRARYSAVEFLAGS, ppsiSavedTo: ptr ptr IShellItem): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SaveInKnownFolder(self, kfidToSaveIn, pszLibraryName, lsf, ppsiSavedTo) proc OnPlaybackManagerEvent*(self: ptr IPlaybackManagerEvents, dwSessionId: DWORD, mediaEvent: PBM_EVENT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnPlaybackManagerEvent(self, dwSessionId, mediaEvent) proc Advise*(self: ptr IPlaybackManager, `type`: PBM_SESSION_TYPE, pEvents: ptr IPlaybackManagerEvents, pdwSessionId: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, `type`, pEvents, pdwSessionId) proc Unadvise*(self: ptr IPlaybackManager, dwSessionId: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwSessionId) proc ChangeSessionState*(self: ptr IPlaybackManager, dwSessionId: DWORD, state: PBM_PLAY_STATE, mute: PBM_MUTE_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ChangeSessionState(self, dwSessionId, state, mute) proc Initialize*(self: ptr IDefaultFolderMenuInitialize, hwnd: HWND, pcmcb: ptr IContextMenuCB, pidlFolder: PCIDLIST_ABSOLUTE, psf: ptr IShellFolder, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, punkAssociation: ptr IUnknown, cKeys: UINT, aKeys: ptr HKEY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, hwnd, pcmcb, pidlFolder, psf, cidl, apidl, punkAssociation, cKeys, aKeys) proc SetMenuRestrictions*(self: ptr IDefaultFolderMenuInitialize, dfmrValues: DEFAULT_FOLDER_MENU_RESTRICTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetMenuRestrictions(self, dfmrValues) proc GetMenuRestrictions*(self: ptr IDefaultFolderMenuInitialize, dfmrMask: DEFAULT_FOLDER_MENU_RESTRICTIONS, pdfmrValues: ptr DEFAULT_FOLDER_MENU_RESTRICTIONS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMenuRestrictions(self, dfmrMask, pdfmrValues) proc SetHandlerClsid*(self: ptr IDefaultFolderMenuInitialize, rclsid: REFCLSID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetHandlerClsid(self, rclsid) proc ActivateApplication*(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, arguments: LPCWSTR, options: ACTIVATEOPTIONS, processId: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ActivateApplication(self, appUserModelId, arguments, options, processId) proc ActivateForFile*(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, itemArray: ptr IShellItemArray, verb: LPCWSTR, processId: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ActivateForFile(self, appUserModelId, itemArray, verb, processId) proc ActivateForProtocol*(self: ptr IApplicationActivationManager, appUserModelId: LPCWSTR, itemArray: ptr IShellItemArray, processId: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ActivateForProtocol(self, appUserModelId, itemArray, processId) proc SupportsSelection*(self: ptr IAssocHandlerInvoker): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SupportsSelection(self) proc Invoke*(self: ptr IAssocHandlerInvoker): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Invoke(self) proc GetName*(self: ptr IAssocHandler, ppsz: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetName(self, ppsz) proc GetUIName*(self: ptr IAssocHandler, ppsz: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUIName(self, ppsz) proc GetIconLocation*(self: ptr IAssocHandler, ppszPath: ptr LPWSTR, pIndex: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, ppszPath, pIndex) proc IsRecommended*(self: ptr IAssocHandler): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsRecommended(self) proc MakeDefault*(self: ptr IAssocHandler, pszDescription: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MakeDefault(self, pszDescription) proc Invoke*(self: ptr IAssocHandler, pdo: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Invoke(self, pdo) proc CreateInvoker*(self: ptr IAssocHandler, pdo: ptr IDataObject, ppInvoker: ptr ptr IAssocHandlerInvoker): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CreateInvoker(self, pdo, ppInvoker) proc Next*(self: ptr IEnumAssocHandlers, celt: ULONG, rgelt: ptr ptr IAssocHandler, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, rgelt, pceltFetched) proc GetDataObject*(self: ptr IDataObjectProvider, dataObject: ptr ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDataObject(self, dataObject) proc SetDataObject*(self: ptr IDataObjectProvider, dataObject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDataObject(self, dataObject) proc GetForWindow*(self: ptr IDataTransferManagerInterop, appWindow: HWND, riid: REFIID, dataTransferManager: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetForWindow(self, appWindow, riid, dataTransferManager) proc ShowShareUIForWindow*(self: ptr IDataTransferManagerInterop, appWindow: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowShareUIForWindow(self, appWindow) proc Showing*(self: ptr IFrameworkInputPaneHandler, prcInputPaneScreenLocation: ptr RECT, fEnsureFocusedElementInView: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Showing(self, prcInputPaneScreenLocation, fEnsureFocusedElementInView) proc Hiding*(self: ptr IFrameworkInputPaneHandler, fEnsureFocusedElementInView: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Hiding(self, fEnsureFocusedElementInView) proc Advise*(self: ptr IFrameworkInputPane, pWindow: ptr IUnknown, pHandler: ptr IFrameworkInputPaneHandler, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, pWindow, pHandler, pdwCookie) proc AdviseWithHWND*(self: ptr IFrameworkInputPane, hwnd: HWND, pHandler: ptr IFrameworkInputPaneHandler, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AdviseWithHWND(self, hwnd, pHandler, pdwCookie) proc Unadvise*(self: ptr IFrameworkInputPane, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc Location*(self: ptr IFrameworkInputPane, prcInputPaneScreenLocation: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Location(self, prcInputPaneScreenLocation) proc GetSearchWindow*(self: ptr ISearchableApplication, hwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSearchWindow(self, hwnd) proc Undocked*(self: ptr IAccessibilityDockingServiceCallback, undockReason: UNDOCK_REASON): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Undocked(self, undockReason) proc GetAvailableSize*(self: ptr IAccessibilityDockingService, hMonitor: HMONITOR, pcxFixed: ptr UINT, pcyMax: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAvailableSize(self, hMonitor, pcxFixed, pcyMax) proc DockWindow*(self: ptr IAccessibilityDockingService, hwnd: HWND, hMonitor: HMONITOR, cyRequested: UINT, pCallback: ptr IAccessibilityDockingServiceCallback): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DockWindow(self, hwnd, hMonitor, cyRequested, pCallback) proc UndockWindow*(self: ptr IAccessibilityDockingService, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UndockWindow(self, hwnd) proc AppVisibilityOnMonitorChanged*(self: ptr IAppVisibilityEvents, hMonitor: HMONITOR, previousMode: MONITOR_APP_VISIBILITY, currentMode: MONITOR_APP_VISIBILITY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AppVisibilityOnMonitorChanged(self, hMonitor, previousMode, currentMode) proc LauncherVisibilityChange*(self: ptr IAppVisibilityEvents, currentVisibleState: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LauncherVisibilityChange(self, currentVisibleState) proc GetAppVisibilityOnMonitor*(self: ptr IAppVisibility, hMonitor: HMONITOR, pMode: ptr MONITOR_APP_VISIBILITY): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAppVisibilityOnMonitor(self, hMonitor, pMode) proc IsLauncherVisible*(self: ptr IAppVisibility, pfVisible: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsLauncherVisible(self, pfVisible) proc Advise*(self: ptr IAppVisibility, pCallback: ptr IAppVisibilityEvents, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Advise(self, pCallback, pdwCookie) proc Unadvise*(self: ptr IAppVisibility, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Unadvise(self, dwCookie) proc OnStateChanged*(self: ptr IPackageExecutionStateChangeNotification, pszPackageFullName: LPCWSTR, pesNewState: PACKAGE_EXECUTION_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnStateChanged(self, pszPackageFullName, pesNewState) proc EnableDebugging*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, debuggerCommandLine: LPCWSTR, environment: PZZWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnableDebugging(self, packageFullName, debuggerCommandLine, environment) proc DisableDebugging*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DisableDebugging(self, packageFullName) proc Suspend*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Suspend(self, packageFullName) proc Resume*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Resume(self, packageFullName) proc TerminateAllProcesses*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TerminateAllProcesses(self, packageFullName) proc SetTargetSessionId*(self: ptr IPackageDebugSettings, sessionId: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTargetSessionId(self, sessionId) proc EnumerateBackgroundTasks*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, taskCount: ptr ULONG, taskIds: ptr LPCGUID, taskNames: ptr ptr LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnumerateBackgroundTasks(self, packageFullName, taskCount, taskIds, taskNames) proc ActivateBackgroundTask*(self: ptr IPackageDebugSettings, taskId: LPCGUID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ActivateBackgroundTask(self, taskId) proc StartServicing*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartServicing(self, packageFullName) proc StopServicing*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StopServicing(self, packageFullName) proc StartSessionRedirection*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, sessionId: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartSessionRedirection(self, packageFullName, sessionId) proc StopSessionRedirection*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StopSessionRedirection(self, packageFullName) proc GetPackageExecutionState*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, packageExecutionState: ptr PACKAGE_EXECUTION_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPackageExecutionState(self, packageFullName, packageExecutionState) proc RegisterForPackageStateChanges*(self: ptr IPackageDebugSettings, packageFullName: LPCWSTR, pPackageExecutionStateChangeNotification: ptr IPackageExecutionStateChangeNotification, pdwCookie: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RegisterForPackageStateChanges(self, packageFullName, pPackageExecutionStateChangeNotification, pdwCookie) proc UnregisterForPackageStateChanges*(self: ptr IPackageDebugSettings, dwCookie: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UnregisterForPackageStateChanges(self, dwCookie) proc GetValue*(self: ptr IExecuteCommandApplicationHostEnvironment, pahe: ptr AHE_TYPE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetValue(self, pahe) proc GetUIMode*(self: ptr IExecuteCommandHost, pUIMode: ptr EC_HOST_UI_MODE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetUIMode(self, pUIMode) proc SetNativeDisplaySize*(self: ptr IApplicationDesignModeSettings, sizeNativeDisplay: SIZE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetNativeDisplaySize(self, sizeNativeDisplay) proc SetScaleFactor*(self: ptr IApplicationDesignModeSettings, scaleFactor: DEVICE_SCALE_FACTOR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetScaleFactor(self, scaleFactor) proc SetApplicationViewState*(self: ptr IApplicationDesignModeSettings, viewState: APPLICATION_VIEW_STATE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetApplicationViewState(self, viewState) proc ComputeApplicationSize*(self: ptr IApplicationDesignModeSettings, psizeApplication: ptr SIZE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ComputeApplicationSize(self, psizeApplication) proc IsApplicationViewStateSupported*(self: ptr IApplicationDesignModeSettings, viewState: APPLICATION_VIEW_STATE, sizeNativeDisplay: SIZE, scaleFactor: DEVICE_SCALE_FACTOR, pfSupported: ptr WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsApplicationViewStateSupported(self, viewState, sizeNativeDisplay, scaleFactor, pfSupported) proc TriggerEdgeGesture*(self: ptr IApplicationDesignModeSettings, edgeGestureKind: EDGE_GESTURE_KIND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TriggerEdgeGesture(self, edgeGestureKind) proc Initialize*(self: ptr IInitializeWithWindow, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, hwnd) proc GetApplicationDisplayName*(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetApplicationDisplayName(self, value) proc GetApplicationPublisher*(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetApplicationPublisher(self, value) proc GetApplicationIconReference*(self: ptr IHandlerInfo, value: ptr LPWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetApplicationIconReference(self, value) proc BeforeCoCreateInstance*(self: ptr IHandlerActivationHost, clsidHandler: REFCLSID, itemsBeingActivated: ptr IShellItemArray, handlerInfo: ptr IHandlerInfo): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BeforeCoCreateInstance(self, clsidHandler, itemsBeingActivated, handlerInfo) proc BeforeCreateProcess*(self: ptr IHandlerActivationHost, applicationPath: LPCWSTR, commandLine: LPCWSTR, handlerInfo: ptr IHandlerInfo): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.BeforeCreateProcess(self, applicationPath, commandLine, handlerInfo) proc GetIconLocation*(self: ptr IExtractIconA, uFlags: UINT, pszIconFile: PSTR, cchMax: UINT, piIndex: ptr int32, pwFlags: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, uFlags, pszIconFile, cchMax, piIndex, pwFlags) proc Extract*(self: ptr IExtractIconA, pszFile: PCSTR, nIconIndex: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Extract(self, pszFile, nIconIndex, phiconLarge, phiconSmall, nIconSize) proc GetIconLocation*(self: ptr IExtractIconW, uFlags: UINT, pszIconFile: PWSTR, cchMax: UINT, piIndex: ptr int32, pwFlags: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconLocation(self, uFlags, pszIconFile, cchMax, piIndex, pwFlags) proc Extract*(self: ptr IExtractIconW, pszFile: PCWSTR, nIconIndex: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Extract(self, pszFile, nIconIndex, phiconLarge, phiconSmall, nIconSize) proc IsMemberOf*(self: ptr IShellIconOverlayIdentifier, pwszPath: PCWSTR, dwAttrib: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsMemberOf(self, pwszPath, dwAttrib) proc GetOverlayInfo*(self: ptr IShellIconOverlayIdentifier, pwszIconFile: PWSTR, cchMax: int32, pIndex: ptr int32, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOverlayInfo(self, pwszIconFile, cchMax, pIndex, pdwFlags) proc GetPriority*(self: ptr IShellIconOverlayIdentifier, pIPriority: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPriority(self, pIPriority) proc GetFileOverlayInfo*(self: ptr IShellIconOverlayManager, pwszPath: PCWSTR, dwAttrib: DWORD, pIndex: ptr int32, dwflags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFileOverlayInfo(self, pwszPath, dwAttrib, pIndex, dwflags) proc GetReservedOverlayInfo*(self: ptr IShellIconOverlayManager, pwszPath: PCWSTR, dwAttrib: DWORD, pIndex: ptr int32, dwflags: DWORD, iReservedID: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetReservedOverlayInfo(self, pwszPath, dwAttrib, pIndex, dwflags, iReservedID) proc RefreshOverlayImages*(self: ptr IShellIconOverlayManager, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RefreshOverlayImages(self, dwFlags) proc LoadNonloadedOverlayIdentifiers*(self: ptr IShellIconOverlayManager): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.LoadNonloadedOverlayIdentifiers(self) proc OverlayIndexFromImageIndex*(self: ptr IShellIconOverlayManager, iImage: int32, piIndex: ptr int32, fAdd: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OverlayIndexFromImageIndex(self, iImage, piIndex, fAdd) proc GetOverlayIndex*(self: ptr IShellIconOverlay, pidl: PCUITEMID_CHILD, pIndex: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOverlayIndex(self, pidl, pIndex) proc GetOverlayIconIndex*(self: ptr IShellIconOverlay, pidl: PCUITEMID_CHILD, pIconIndex: ptr int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOverlayIconIndex(self, pidl, pIconIndex) proc Execute*(self: ptr IShellExecuteHookA, pei: LPSHELLEXECUTEINFOA): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Execute(self, pei) proc Execute*(self: ptr IShellExecuteHookW, pei: LPSHELLEXECUTEINFOW): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Execute(self, pei) proc Translate*(self: ptr IURLSearchHook, pwszSearchURL: PWSTR, cchBufferSize: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Translate(self, pwszSearchURL, cchBufferSize) proc GetSearchUrl*(self: ptr ISearchContext, pbstrSearchUrl: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSearchUrl(self, pbstrSearchUrl) proc GetSearchText*(self: ptr ISearchContext, pbstrSearchText: ptr BSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSearchText(self, pbstrSearchText) proc GetSearchStyle*(self: ptr ISearchContext, pdwSearchStyle: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSearchStyle(self, pdwSearchStyle) proc TranslateWithSearchContext*(self: ptr IURLSearchHook2, pwszSearchURL: PWSTR, cchBufferSize: DWORD, pSearchContext: ptr ISearchContext): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.TranslateWithSearchContext(self, pwszSearchURL, cchBufferSize, pSearchContext) proc SetReferent*(self: ptr INewShortcutHookA, pcszReferent: PCSTR, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetReferent(self, pcszReferent, hwnd) proc GetReferent*(self: ptr INewShortcutHookA, pszReferent: PSTR, cchReferent: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetReferent(self, pszReferent, cchReferent) proc SetFolder*(self: ptr INewShortcutHookA, pcszFolder: PCSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolder(self, pcszFolder) proc GetFolder*(self: ptr INewShortcutHookA, pszFolder: PSTR, cchFolder: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolder(self, pszFolder, cchFolder) proc GetName*(self: ptr INewShortcutHookA, pszName: PSTR, cchName: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetName(self, pszName, cchName) proc GetExtension*(self: ptr INewShortcutHookA, pszExtension: PSTR, cchExtension: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetExtension(self, pszExtension, cchExtension) proc SetReferent*(self: ptr INewShortcutHookW, pcszReferent: PCWSTR, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetReferent(self, pcszReferent, hwnd) proc GetReferent*(self: ptr INewShortcutHookW, pszReferent: PWSTR, cchReferent: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetReferent(self, pszReferent, cchReferent) proc SetFolder*(self: ptr INewShortcutHookW, pcszFolder: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetFolder(self, pcszFolder) proc GetFolder*(self: ptr INewShortcutHookW, pszFolder: PWSTR, cchFolder: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetFolder(self, pszFolder, cchFolder) proc GetName*(self: ptr INewShortcutHookW, pszName: PWSTR, cchName: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetName(self, pszName, cchName) proc GetExtension*(self: ptr INewShortcutHookW, pszExtension: PWSTR, cchExtension: int32): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetExtension(self, pszExtension, cchExtension) proc CopyCallback*(self: ptr ICopyHookA, hwnd: HWND, wFunc: UINT, wFlags: UINT, pszSrcFile: PCSTR, dwSrcAttribs: DWORD, pszDestFile: PCSTR, dwDestAttribs: DWORD): UINT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyCallback(self, hwnd, wFunc, wFlags, pszSrcFile, dwSrcAttribs, pszDestFile, dwDestAttribs) proc CopyCallback*(self: ptr ICopyHookW, hwnd: HWND, wFunc: UINT, wFlags: UINT, pszSrcFile: PCWSTR, dwSrcAttribs: DWORD, pszDestFile: PCWSTR, dwDestAttribs: DWORD): UINT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CopyCallback(self, hwnd, wFunc, wFlags, pszSrcFile, dwSrcAttribs, pszDestFile, dwDestAttribs) proc SetPinnedWindow*(self: ptr IFileViewerSite, hwnd: HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPinnedWindow(self, hwnd) proc GetPinnedWindow*(self: ptr IFileViewerSite, phwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPinnedWindow(self, phwnd) proc ShowInitialize*(self: ptr IFileViewerA, lpfsi: LPFILEVIEWERSITE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowInitialize(self, lpfsi) proc Show*(self: ptr IFileViewerA, pvsi: LPFVSHOWINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, pvsi) proc PrintTo*(self: ptr IFileViewerA, pszDriver: PSTR, fSuppressUI: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PrintTo(self, pszDriver, fSuppressUI) proc ShowInitialize*(self: ptr IFileViewerW, lpfsi: LPFILEVIEWERSITE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ShowInitialize(self, lpfsi) proc Show*(self: ptr IFileViewerW, pvsi: LPFVSHOWINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Show(self, pvsi) proc PrintTo*(self: ptr IFileViewerW, pszDriver: PWSTR, fSuppressUI: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.PrintTo(self, pszDriver, fSuppressUI) proc GetDetailsOf*(self: ptr IShellDetails, pidl: PCUITEMID_CHILD, iColumn: UINT, pDetails: ptr SHELLDETAILS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDetailsOf(self, pidl, iColumn, pDetails) proc ColumnClick*(self: ptr IShellDetails, iColumn: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ColumnClick(self, iColumn) proc Append*(self: ptr IObjMgr, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Append(self, punk) proc Remove*(self: ptr IObjMgr, punk: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Remove(self, punk) proc GetDirectory*(self: ptr ICurrentWorkingDirectory, pwzPath: PWSTR, cchSize: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDirectory(self, pwzPath, cchSize) proc SetDirectory*(self: ptr ICurrentWorkingDirectory, pwzPath: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDirectory(self, pwzPath) proc Expand*(self: ptr IACList, pszExpand: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Expand(self, pszExpand) proc SetOptions*(self: ptr IACList2, dwFlag: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetOptions(self, dwFlag) proc GetOptions*(self: ptr IACList2, pdwFlag: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetOptions(self, pdwFlag) proc StartProgressDialog*(self: ptr IProgressDialog, hwndParent: HWND, punkEnableModless: ptr IUnknown, dwFlags: DWORD, pvResevered: LPCVOID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StartProgressDialog(self, hwndParent, punkEnableModless, dwFlags, pvResevered) proc StopProgressDialog*(self: ptr IProgressDialog): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.StopProgressDialog(self) proc SetTitle*(self: ptr IProgressDialog, pwzTitle: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetTitle(self, pwzTitle) proc SetAnimation*(self: ptr IProgressDialog, hInstAnimation: HINSTANCE, idAnimation: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAnimation(self, hInstAnimation, idAnimation) proc HasUserCancelled*(self: ptr IProgressDialog): WINBOOL {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.HasUserCancelled(self) proc SetProgress*(self: ptr IProgressDialog, dwCompleted: DWORD, dwTotal: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgress(self, dwCompleted, dwTotal) proc SetProgress64*(self: ptr IProgressDialog, ullCompleted: ULONGLONG, ullTotal: ULONGLONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetProgress64(self, ullCompleted, ullTotal) proc SetLine*(self: ptr IProgressDialog, dwLineNum: DWORD, pwzString: PCWSTR, fCompactPath: WINBOOL, pvResevered: LPCVOID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetLine(self, dwLineNum, pwzString, fCompactPath, pvResevered) proc SetCancelMsg*(self: ptr IProgressDialog, pwzCancelMsg: PCWSTR, pvResevered: LPCVOID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCancelMsg(self, pwzCancelMsg, pvResevered) proc Timer*(self: ptr IProgressDialog, dwTimerAction: DWORD, pvResevered: LPCVOID): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Timer(self, dwTimerAction, pvResevered) proc GetBorderDW*(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, prcBorder: ptr RECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBorderDW(self, punkObj, prcBorder) proc RequestBorderSpaceDW*(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, pbw: LPCBORDERWIDTHS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RequestBorderSpaceDW(self, punkObj, pbw) proc SetBorderSpaceDW*(self: ptr IDockingWindowSite, punkObj: ptr IUnknown, pbw: LPCBORDERWIDTHS): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBorderSpaceDW(self, punkObj, pbw) proc AddToolbar*(self: ptr IDockingWindowFrame, punkSrc: ptr IUnknown, pwszItem: PCWSTR, dwAddFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddToolbar(self, punkSrc, pwszItem, dwAddFlags) proc RemoveToolbar*(self: ptr IDockingWindowFrame, punkSrc: ptr IUnknown, dwRemoveFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveToolbar(self, punkSrc, dwRemoveFlags) proc FindToolbar*(self: ptr IDockingWindowFrame, pwszItem: PCWSTR, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.FindToolbar(self, pwszItem, riid, ppv) proc CaptureThumbnail*(self: ptr IThumbnailCapture, pMaxSize: ptr SIZE, pHTMLDoc2: ptr IUnknown, phbmThumbnail: ptr HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.CaptureThumbnail(self, pMaxSize, pHTMLDoc2, phbmThumbnail) proc Reset*(self: ptr IEnumShellImageStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Reset(self) proc Next*(self: ptr IEnumShellImageStore, celt: ULONG, prgElt: ptr PENUMSHELLIMAGESTOREDATA, pceltFetched: ptr ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Next(self, celt, prgElt, pceltFetched) proc Skip*(self: ptr IEnumShellImageStore, celt: ULONG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Skip(self, celt) proc Clone*(self: ptr IEnumShellImageStore, ppEnum: ptr ptr IEnumShellImageStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Clone(self, ppEnum) proc Open*(self: ptr IShellImageStore, dwMode: DWORD, pdwLock: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Open(self, dwMode, pdwLock) proc Create*(self: ptr IShellImageStore, dwMode: DWORD, pdwLock: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Create(self, dwMode, pdwLock) proc ReleaseLock*(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReleaseLock(self, pdwLock) proc Close*(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Close(self, pdwLock) proc Commit*(self: ptr IShellImageStore, pdwLock: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Commit(self, pdwLock) proc IsLocked*(self: ptr IShellImageStore): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsLocked(self) proc GetMode*(self: ptr IShellImageStore, pdwMode: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetMode(self, pdwMode) proc GetCapabilities*(self: ptr IShellImageStore, pdwCapMask: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetCapabilities(self, pdwCapMask) proc AddEntry*(self: ptr IShellImageStore, pszName: PCWSTR, pftTimeStamp: ptr FILETIME, dwMode: DWORD, hImage: HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddEntry(self, pszName, pftTimeStamp, dwMode, hImage) proc GetEntry*(self: ptr IShellImageStore, pszName: PCWSTR, dwMode: DWORD, phImage: ptr HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetEntry(self, pszName, dwMode, phImage) proc DeleteEntry*(self: ptr IShellImageStore, pszName: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.DeleteEntry(self, pszName) proc IsEntryInStore*(self: ptr IShellImageStore, pszName: PCWSTR, pftTimeStamp: ptr FILETIME): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsEntryInStore(self, pszName, pftTimeStamp) proc Enum*(self: ptr IShellImageStore, ppEnum: ptr LPENUMSHELLIMAGESTORE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Enum(self, ppEnum) proc InitializeSFB*(self: ptr IShellFolderBand, psf: ptr IShellFolder, pidl: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.InitializeSFB(self, psf, pidl) proc SetBandInfoSFB*(self: ptr IShellFolderBand, pbi: PBANDINFOSFB): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBandInfoSFB(self, pbi) proc GetBandInfoSFB*(self: ptr IShellFolderBand, pbi: PBANDINFOSFB): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBandInfoSFB(self, pbi) proc SetDeskBarSite*(self: ptr IDeskBarClient, punkSite: ptr IUnknown): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDeskBarSite(self, punkSite) proc SetModeDBC*(self: ptr IDeskBarClient, dwMode: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetModeDBC(self, dwMode) proc UIActivateDBC*(self: ptr IDeskBarClient, dwState: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UIActivateDBC(self, dwState) proc GetSize*(self: ptr IDeskBarClient, dwWhich: DWORD, prc: LPRECT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSize(self, dwWhich, prc) proc ApplyChanges*(self: ptr IActiveDesktop, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ApplyChanges(self, dwFlags) proc GetWallpaper*(self: ptr IActiveDesktop, pwszWallpaper: PWSTR, cchWallpaper: UINT, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWallpaper(self, pwszWallpaper, cchWallpaper, dwFlags) proc SetWallpaper*(self: ptr IActiveDesktop, pwszWallpaper: PCWSTR, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWallpaper(self, pwszWallpaper, dwReserved) proc GetWallpaperOptions*(self: ptr IActiveDesktop, pwpo: LPWALLPAPEROPT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWallpaperOptions(self, pwpo, dwReserved) proc SetWallpaperOptions*(self: ptr IActiveDesktop, pwpo: LPCWALLPAPEROPT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetWallpaperOptions(self, pwpo, dwReserved) proc GetPattern*(self: ptr IActiveDesktop, pwszPattern: PWSTR, cchPattern: UINT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetPattern(self, pwszPattern, cchPattern, dwReserved) proc SetPattern*(self: ptr IActiveDesktop, pwszPattern: PCWSTR, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPattern(self, pwszPattern, dwReserved) proc GetDesktopItemOptions*(self: ptr IActiveDesktop, pco: LPCOMPONENTSOPT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDesktopItemOptions(self, pco, dwReserved) proc SetDesktopItemOptions*(self: ptr IActiveDesktop, pco: LPCCOMPONENTSOPT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetDesktopItemOptions(self, pco, dwReserved) proc AddDesktopItem*(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddDesktopItem(self, pcomp, dwReserved) proc AddDesktopItemWithUI*(self: ptr IActiveDesktop, hwnd: HWND, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddDesktopItemWithUI(self, hwnd, pcomp, dwReserved) proc ModifyDesktopItem*(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ModifyDesktopItem(self, pcomp, dwFlags) proc RemoveDesktopItem*(self: ptr IActiveDesktop, pcomp: LPCCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveDesktopItem(self, pcomp, dwReserved) proc GetDesktopItemCount*(self: ptr IActiveDesktop, pcItems: ptr int32, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDesktopItemCount(self, pcItems, dwReserved) proc GetDesktopItem*(self: ptr IActiveDesktop, nComponent: int32, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDesktopItem(self, nComponent, pcomp, dwReserved) proc GetDesktopItemByID*(self: ptr IActiveDesktop, dwID: ULONG_PTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDesktopItemByID(self, dwID, pcomp, dwReserved) proc GenerateDesktopItemHtml*(self: ptr IActiveDesktop, pwszFileName: PCWSTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GenerateDesktopItemHtml(self, pwszFileName, pcomp, dwReserved) proc AddUrl*(self: ptr IActiveDesktop, hwnd: HWND, pszSource: PCWSTR, pcomp: LPCOMPONENT, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddUrl(self, hwnd, pszSource, pcomp, dwFlags) proc GetDesktopItemBySource*(self: ptr IActiveDesktop, pwszSource: PCWSTR, pcomp: LPCOMPONENT, dwReserved: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDesktopItemBySource(self, pwszSource, pcomp, dwReserved) proc SetSafeMode*(self: ptr IActiveDesktopP, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetSafeMode(self, dwFlags) proc EnsureUpdateHTML*(self: ptr IActiveDesktopP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.EnsureUpdateHTML(self) proc SetScheme*(self: ptr IActiveDesktopP, pwszSchemeName: PCWSTR, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetScheme(self, pwszSchemeName, dwFlags) proc GetScheme*(self: ptr IActiveDesktopP, pwszSchemeName: PWSTR, pdwcchBuffer: ptr DWORD, dwFlags: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetScheme(self, pwszSchemeName, pdwcchBuffer, dwFlags) proc ReReadWallpaper*(self: ptr IADesktopP2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReReadWallpaper(self) proc GetADObjectFlags*(self: ptr IADesktopP2, pdwFlags: ptr DWORD, dwMask: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetADObjectFlags(self, pdwFlags, dwMask) proc UpdateAllDesktopSubscriptions*(self: ptr IADesktopP2): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateAllDesktopSubscriptions(self) proc MakeDynamicChanges*(self: ptr IADesktopP2, pOleObj: ptr IOleObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MakeDynamicChanges(self, pOleObj) proc Initialize*(self: ptr IColumnProvider, psci: LPCSHCOLUMNINIT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self, psci) proc GetColumnInfo*(self: ptr IColumnProvider, dwIndex: DWORD, psci: ptr SHCOLUMNINFO): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetColumnInfo(self, dwIndex, psci) proc GetItemData*(self: ptr IColumnProvider, pscid: LPCSHCOLUMNID, pscd: LPCSHCOLUMNDATA, pvarData: ptr VARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemData(self, pscid, pscd, pvarData) proc OnChange*(self: ptr IShellChangeNotify, lEvent: LONG, pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnChange(self, lEvent, pidl1, pidl2) proc GetInfoTip*(self: ptr IQueryInfo, dwFlags: DWORD, ppwszTip: ptr PWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetInfoTip(self, dwFlags, ppwszTip) proc GetInfoFlags*(self: ptr IQueryInfo, pdwFlags: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetInfoFlags(self, pdwFlags) proc GetWindowLV*(self: ptr IDefViewFrame, phwnd: ptr HWND): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetWindowLV(self, phwnd) proc ReleaseWindowLV*(self: ptr IDefViewFrame): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReleaseWindowLV(self) proc GetShellFolder*(self: ptr IDefViewFrame, ppsf: ptr ptr IShellFolder): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetShellFolder(self, ppsf) proc OnSetTitle*(self: ptr IDocViewSite, pvTitle: ptr VARIANTARG): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.OnSetTitle(self, pvTitle) proc Initialize*(self: ptr IInitializeObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Initialize(self) proc SetIconSize*(self: ptr IBanneredBar, iIcon: DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetIconSize(self, iIcon) proc GetIconSize*(self: ptr IBanneredBar, piIcon: ptr DWORD): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetIconSize(self, piIcon) proc SetBitmap*(self: ptr IBanneredBar, hBitmap: HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetBitmap(self, hBitmap) proc GetBitmap*(self: ptr IBanneredBar, phBitmap: ptr HBITMAP): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetBitmap(self, phBitmap) proc MessageSFVCB*(self: ptr IShellFolderViewCB, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MessageSFVCB(self, uMsg, wParam, lParam) proc Rearrange*(self: ptr IShellFolderView, lParamSort: LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Rearrange(self, lParamSort) proc GetArrangeParam*(self: ptr IShellFolderView, plParamSort: ptr LPARAM): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetArrangeParam(self, plParamSort) proc ArrangeGrid*(self: ptr IShellFolderView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ArrangeGrid(self) proc AutoArrange*(self: ptr IShellFolderView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AutoArrange(self) proc GetAutoArrange*(self: ptr IShellFolderView): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetAutoArrange(self) proc AddObject*(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.AddObject(self, pidl, puItem) proc GetObject*(self: ptr IShellFolderView, ppidl: ptr PITEMID_CHILD, uItem: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetObject(self, ppidl, uItem) proc RemoveObject*(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemoveObject(self, pidl, puItem) proc GetObjectCount*(self: ptr IShellFolderView, puCount: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetObjectCount(self, puCount) proc SetObjectCount*(self: ptr IShellFolderView, uCount: UINT, dwFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetObjectCount(self, uCount, dwFlags) proc UpdateObject*(self: ptr IShellFolderView, pidlOld: PUITEMID_CHILD, pidlNew: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.UpdateObject(self, pidlOld, pidlNew, puItem) proc RefreshObject*(self: ptr IShellFolderView, pidl: PUITEMID_CHILD, puItem: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RefreshObject(self, pidl, puItem) proc SetRedraw*(self: ptr IShellFolderView, bRedraw: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetRedraw(self, bRedraw) proc GetSelectedCount*(self: ptr IShellFolderView, puSelected: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedCount(self, puSelected) proc GetSelectedObjects*(self: ptr IShellFolderView, pppidl: ptr ptr PCUITEMID_CHILD, puItems: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetSelectedObjects(self, pppidl, puItems) proc IsDropOnSource*(self: ptr IShellFolderView, pDropTarget: ptr IDropTarget): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsDropOnSource(self, pDropTarget) proc GetDragPoint*(self: ptr IShellFolderView, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDragPoint(self, ppt) proc GetDropPoint*(self: ptr IShellFolderView, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetDropPoint(self, ppt) proc MoveIcons*(self: ptr IShellFolderView, pDataObject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.MoveIcons(self, pDataObject) proc SetItemPos*(self: ptr IShellFolderView, pidl: PCUITEMID_CHILD, ppt: ptr POINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetItemPos(self, pidl, ppt) proc IsBkDropTarget*(self: ptr IShellFolderView, pDropTarget: ptr IDropTarget): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.IsBkDropTarget(self, pDropTarget) proc SetClipboard*(self: ptr IShellFolderView, bMove: WINBOOL): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetClipboard(self, bMove) proc SetPoints*(self: ptr IShellFolderView, pDataObject: ptr IDataObject): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetPoints(self, pDataObject) proc GetItemSpacing*(self: ptr IShellFolderView, pSpacing: ptr ITEMSPACING): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.GetItemSpacing(self, pSpacing) proc SetCallback*(self: ptr IShellFolderView, pNewCB: ptr IShellFolderViewCB, ppOldCB: ptr ptr IShellFolderViewCB): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetCallback(self, pNewCB, ppOldCB) proc Select*(self: ptr IShellFolderView, dwFlags: UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.Select(self, dwFlags) proc QuerySupport*(self: ptr IShellFolderView, pdwSupport: ptr UINT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.QuerySupport(self, pdwSupport) proc SetAutomationObject*(self: ptr IShellFolderView, pdisp: ptr IDispatch): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.SetAutomationObject(self, pdisp) proc ReadPropertyNPB*(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR, pVar: ptr PROPVARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.ReadPropertyNPB(self, pszBagname, pszPropName, pVar) proc WritePropertyNPB*(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR, pVar: ptr PROPVARIANT): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.WritePropertyNPB(self, pszBagname, pszPropName, pVar) proc RemovePropertyNPB*(self: ptr INamedPropertyBag, pszBagname: PCWSTR, pszPropName: PCWSTR): HRESULT {.winapi, inline.} = {.gcsafe.}: self.lpVtbl.RemovePropertyNPB(self, pszBagname, pszPropName) converter winimConverterIQueryAssociationsToIUnknown*(x: ptr IQueryAssociations): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderViewOCToIDispatch*(x: ptr IFolderViewOC): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIFolderViewOCToIUnknown*(x: ptr IFolderViewOC): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterDShellFolderViewEventsToIDispatch*(x: ptr DShellFolderViewEvents): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterDShellFolderViewEventsToIUnknown*(x: ptr DShellFolderViewEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterDFConstraintToIDispatch*(x: ptr DFConstraint): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterDFConstraintToIUnknown*(x: ptr DFConstraint): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderToIDispatch*(x: ptr Folder): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderToIUnknown*(x: ptr Folder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolder2ToFolder*(x: ptr Folder2): ptr Folder = cast[ptr Folder](x) converter winimConverterFolder2ToIDispatch*(x: ptr Folder2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolder2ToIUnknown*(x: ptr Folder2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolder3ToFolder2*(x: ptr Folder3): ptr Folder2 = cast[ptr Folder2](x) converter winimConverterFolder3ToFolder*(x: ptr Folder3): ptr Folder = cast[ptr Folder](x) converter winimConverterFolder3ToIDispatch*(x: ptr Folder3): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolder3ToIUnknown*(x: ptr Folder3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItemToIDispatch*(x: ptr FolderItem): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItemToIUnknown*(x: ptr FolderItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItem2ToFolderItem*(x: ptr FolderItem2): ptr FolderItem = cast[ptr FolderItem](x) converter winimConverterFolderItem2ToIDispatch*(x: ptr FolderItem2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItem2ToIUnknown*(x: ptr FolderItem2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItemsToIDispatch*(x: ptr FolderItems): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItemsToIUnknown*(x: ptr FolderItems): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItems2ToFolderItems*(x: ptr FolderItems2): ptr FolderItems = cast[ptr FolderItems](x) converter winimConverterFolderItems2ToIDispatch*(x: ptr FolderItems2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItems2ToIUnknown*(x: ptr FolderItems2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItems3ToFolderItems2*(x: ptr FolderItems3): ptr FolderItems2 = cast[ptr FolderItems2](x) converter winimConverterFolderItems3ToFolderItems*(x: ptr FolderItems3): ptr FolderItems = cast[ptr FolderItems](x) converter winimConverterFolderItems3ToIDispatch*(x: ptr FolderItems3): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItems3ToIUnknown*(x: ptr FolderItems3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItemVerbToIDispatch*(x: ptr FolderItemVerb): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItemVerbToIUnknown*(x: ptr FolderItemVerb): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterFolderItemVerbsToIDispatch*(x: ptr FolderItemVerbs): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterFolderItemVerbsToIUnknown*(x: ptr FolderItemVerbs): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLinkDualToIDispatch*(x: ptr IShellLinkDual): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellLinkDualToIUnknown*(x: ptr IShellLinkDual): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLinkDual2ToIShellLinkDual*(x: ptr IShellLinkDual2): ptr IShellLinkDual = cast[ptr IShellLinkDual](x) converter winimConverterIShellLinkDual2ToIDispatch*(x: ptr IShellLinkDual2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellLinkDual2ToIUnknown*(x: ptr IShellLinkDual2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderViewDualToIDispatch*(x: ptr IShellFolderViewDual): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellFolderViewDualToIUnknown*(x: ptr IShellFolderViewDual): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderViewDual2ToIShellFolderViewDual*(x: ptr IShellFolderViewDual2): ptr IShellFolderViewDual = cast[ptr IShellFolderViewDual](x) converter winimConverterIShellFolderViewDual2ToIDispatch*(x: ptr IShellFolderViewDual2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellFolderViewDual2ToIUnknown*(x: ptr IShellFolderViewDual2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderViewDual3ToIShellFolderViewDual2*(x: ptr IShellFolderViewDual3): ptr IShellFolderViewDual2 = cast[ptr IShellFolderViewDual2](x) converter winimConverterIShellFolderViewDual3ToIShellFolderViewDual*(x: ptr IShellFolderViewDual3): ptr IShellFolderViewDual = cast[ptr IShellFolderViewDual](x) converter winimConverterIShellFolderViewDual3ToIDispatch*(x: ptr IShellFolderViewDual3): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellFolderViewDual3ToIUnknown*(x: ptr IShellFolderViewDual3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatchToIDispatch*(x: ptr IShellDispatch): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatchToIUnknown*(x: ptr IShellDispatch): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatch2ToIShellDispatch*(x: ptr IShellDispatch2): ptr IShellDispatch = cast[ptr IShellDispatch](x) converter winimConverterIShellDispatch2ToIDispatch*(x: ptr IShellDispatch2): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatch2ToIUnknown*(x: ptr IShellDispatch2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatch3ToIShellDispatch2*(x: ptr IShellDispatch3): ptr IShellDispatch2 = cast[ptr IShellDispatch2](x) converter winimConverterIShellDispatch3ToIShellDispatch*(x: ptr IShellDispatch3): ptr IShellDispatch = cast[ptr IShellDispatch](x) converter winimConverterIShellDispatch3ToIDispatch*(x: ptr IShellDispatch3): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatch3ToIUnknown*(x: ptr IShellDispatch3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatch4ToIShellDispatch3*(x: ptr IShellDispatch4): ptr IShellDispatch3 = cast[ptr IShellDispatch3](x) converter winimConverterIShellDispatch4ToIShellDispatch2*(x: ptr IShellDispatch4): ptr IShellDispatch2 = cast[ptr IShellDispatch2](x) converter winimConverterIShellDispatch4ToIShellDispatch*(x: ptr IShellDispatch4): ptr IShellDispatch = cast[ptr IShellDispatch](x) converter winimConverterIShellDispatch4ToIDispatch*(x: ptr IShellDispatch4): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatch4ToIUnknown*(x: ptr IShellDispatch4): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatch5ToIShellDispatch4*(x: ptr IShellDispatch5): ptr IShellDispatch4 = cast[ptr IShellDispatch4](x) converter winimConverterIShellDispatch5ToIShellDispatch3*(x: ptr IShellDispatch5): ptr IShellDispatch3 = cast[ptr IShellDispatch3](x) converter winimConverterIShellDispatch5ToIShellDispatch2*(x: ptr IShellDispatch5): ptr IShellDispatch2 = cast[ptr IShellDispatch2](x) converter winimConverterIShellDispatch5ToIShellDispatch*(x: ptr IShellDispatch5): ptr IShellDispatch = cast[ptr IShellDispatch](x) converter winimConverterIShellDispatch5ToIDispatch*(x: ptr IShellDispatch5): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatch5ToIUnknown*(x: ptr IShellDispatch5): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDispatch6ToIShellDispatch5*(x: ptr IShellDispatch6): ptr IShellDispatch5 = cast[ptr IShellDispatch5](x) converter winimConverterIShellDispatch6ToIShellDispatch4*(x: ptr IShellDispatch6): ptr IShellDispatch4 = cast[ptr IShellDispatch4](x) converter winimConverterIShellDispatch6ToIShellDispatch3*(x: ptr IShellDispatch6): ptr IShellDispatch3 = cast[ptr IShellDispatch3](x) converter winimConverterIShellDispatch6ToIShellDispatch2*(x: ptr IShellDispatch6): ptr IShellDispatch2 = cast[ptr IShellDispatch2](x) converter winimConverterIShellDispatch6ToIShellDispatch*(x: ptr IShellDispatch6): ptr IShellDispatch = cast[ptr IShellDispatch](x) converter winimConverterIShellDispatch6ToIDispatch*(x: ptr IShellDispatch6): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIShellDispatch6ToIUnknown*(x: ptr IShellDispatch6): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileSearchBandToIDispatch*(x: ptr IFileSearchBand): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIFileSearchBandToIUnknown*(x: ptr IFileSearchBand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIWebWizardHostToIDispatch*(x: ptr IWebWizardHost): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterIWebWizardHostToIUnknown*(x: ptr IWebWizardHost): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINewWDEventsToIWebWizardHost*(x: ptr INewWDEvents): ptr IWebWizardHost = cast[ptr IWebWizardHost](x) converter winimConverterINewWDEventsToIDispatch*(x: ptr INewWDEvents): ptr IDispatch = cast[ptr IDispatch](x) converter winimConverterINewWDEventsToIUnknown*(x: ptr INewWDEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAutoCompleteToIUnknown*(x: ptr IAutoComplete): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAutoComplete2ToIAutoComplete*(x: ptr IAutoComplete2): ptr IAutoComplete = cast[ptr IAutoComplete](x) converter winimConverterIAutoComplete2ToIUnknown*(x: ptr IAutoComplete2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumACStringToIEnumString*(x: ptr IEnumACString): ptr IEnumString = cast[ptr IEnumString](x) converter winimConverterIEnumACStringToIUnknown*(x: ptr IEnumACString): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDataObjectAsyncCapabilityToIUnknown*(x: ptr IDataObjectAsyncCapability): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectArrayToIUnknown*(x: ptr IObjectArray): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectCollectionToIObjectArray*(x: ptr IObjectCollection): ptr IObjectArray = cast[ptr IObjectArray](x) converter winimConverterIObjectCollectionToIUnknown*(x: ptr IObjectCollection): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIContextMenuToIUnknown*(x: ptr IContextMenu): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIContextMenu2ToIContextMenu*(x: ptr IContextMenu2): ptr IContextMenu = cast[ptr IContextMenu](x) converter winimConverterIContextMenu2ToIUnknown*(x: ptr IContextMenu2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIContextMenu3ToIContextMenu2*(x: ptr IContextMenu3): ptr IContextMenu2 = cast[ptr IContextMenu2](x) converter winimConverterIContextMenu3ToIContextMenu*(x: ptr IContextMenu3): ptr IContextMenu = cast[ptr IContextMenu](x) converter winimConverterIContextMenu3ToIUnknown*(x: ptr IContextMenu3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExecuteCommandToIUnknown*(x: ptr IExecuteCommand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPersistFolderToIPersist*(x: ptr IPersistFolder): ptr IPersist = cast[ptr IPersist](x) converter winimConverterIPersistFolderToIUnknown*(x: ptr IPersistFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIRunnableTaskToIUnknown*(x: ptr IRunnableTask): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellTaskSchedulerToIUnknown*(x: ptr IShellTaskScheduler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIQueryCodePageToIUnknown*(x: ptr IQueryCodePage): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPersistFolder2ToIPersistFolder*(x: ptr IPersistFolder2): ptr IPersistFolder = cast[ptr IPersistFolder](x) converter winimConverterIPersistFolder2ToIPersist*(x: ptr IPersistFolder2): ptr IPersist = cast[ptr IPersist](x) converter winimConverterIPersistFolder2ToIUnknown*(x: ptr IPersistFolder2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPersistFolder3ToIPersistFolder2*(x: ptr IPersistFolder3): ptr IPersistFolder2 = cast[ptr IPersistFolder2](x) converter winimConverterIPersistFolder3ToIPersistFolder*(x: ptr IPersistFolder3): ptr IPersistFolder = cast[ptr IPersistFolder](x) converter winimConverterIPersistFolder3ToIPersist*(x: ptr IPersistFolder3): ptr IPersist = cast[ptr IPersist](x) converter winimConverterIPersistFolder3ToIUnknown*(x: ptr IPersistFolder3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPersistIDListToIPersist*(x: ptr IPersistIDList): ptr IPersist = cast[ptr IPersist](x) converter winimConverterIPersistIDListToIUnknown*(x: ptr IPersistIDList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumIDListToIUnknown*(x: ptr IEnumIDList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumFullIDListToIUnknown*(x: ptr IEnumFullIDList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithFolderEnumModeToIUnknown*(x: ptr IObjectWithFolderEnumMode): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIParseAndCreateItemToIUnknown*(x: ptr IParseAndCreateItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderToIUnknown*(x: ptr IShellFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumExtraSearchToIUnknown*(x: ptr IEnumExtraSearch): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolder2ToIShellFolder*(x: ptr IShellFolder2): ptr IShellFolder = cast[ptr IShellFolder](x) converter winimConverterIShellFolder2ToIUnknown*(x: ptr IShellFolder2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderViewOptionsToIUnknown*(x: ptr IFolderViewOptions): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellViewToIOleWindow*(x: ptr IShellView): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIShellViewToIUnknown*(x: ptr IShellView): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellView2ToIShellView*(x: ptr IShellView2): ptr IShellView = cast[ptr IShellView](x) converter winimConverterIShellView2ToIOleWindow*(x: ptr IShellView2): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIShellView2ToIUnknown*(x: ptr IShellView2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellView3ToIShellView2*(x: ptr IShellView3): ptr IShellView2 = cast[ptr IShellView2](x) converter winimConverterIShellView3ToIShellView*(x: ptr IShellView3): ptr IShellView = cast[ptr IShellView](x) converter winimConverterIShellView3ToIOleWindow*(x: ptr IShellView3): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIShellView3ToIUnknown*(x: ptr IShellView3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderViewToIUnknown*(x: ptr IFolderView): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterISearchBoxInfoToIUnknown*(x: ptr ISearchBoxInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderView2ToIFolderView*(x: ptr IFolderView2): ptr IFolderView = cast[ptr IFolderView](x) converter winimConverterIFolderView2ToIUnknown*(x: ptr IFolderView2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderViewSettingsToIUnknown*(x: ptr IFolderViewSettings): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPreviewHandlerVisualsToIUnknown*(x: ptr IPreviewHandlerVisuals): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIVisualPropertiesToIUnknown*(x: ptr IVisualProperties): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICommDlgBrowserToIUnknown*(x: ptr ICommDlgBrowser): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICommDlgBrowser2ToICommDlgBrowser*(x: ptr ICommDlgBrowser2): ptr ICommDlgBrowser = cast[ptr ICommDlgBrowser](x) converter winimConverterICommDlgBrowser2ToIUnknown*(x: ptr ICommDlgBrowser2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICommDlgBrowser3ToICommDlgBrowser2*(x: ptr ICommDlgBrowser3): ptr ICommDlgBrowser2 = cast[ptr ICommDlgBrowser2](x) converter winimConverterICommDlgBrowser3ToICommDlgBrowser*(x: ptr ICommDlgBrowser3): ptr ICommDlgBrowser = cast[ptr ICommDlgBrowser](x) converter winimConverterICommDlgBrowser3ToIUnknown*(x: ptr ICommDlgBrowser3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIColumnManagerToIUnknown*(x: ptr IColumnManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderFilterSiteToIUnknown*(x: ptr IFolderFilterSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderFilterToIUnknown*(x: ptr IFolderFilter): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInputObjectSiteToIUnknown*(x: ptr IInputObjectSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInputObjectToIUnknown*(x: ptr IInputObject): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInputObject2ToIInputObject*(x: ptr IInputObject2): ptr IInputObject = cast[ptr IInputObject](x) converter winimConverterIInputObject2ToIUnknown*(x: ptr IInputObject2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellIconToIUnknown*(x: ptr IShellIcon): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellBrowserToIOleWindow*(x: ptr IShellBrowser): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIShellBrowserToIUnknown*(x: ptr IShellBrowser): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIProfferServiceToIUnknown*(x: ptr IProfferService): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItemToIUnknown*(x: ptr IShellItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItem2ToIShellItem*(x: ptr IShellItem2): ptr IShellItem = cast[ptr IShellItem](x) converter winimConverterIShellItem2ToIUnknown*(x: ptr IShellItem2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItemImageFactoryToIUnknown*(x: ptr IShellItemImageFactory): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUserAccountChangeCallbackToIUnknown*(x: ptr IUserAccountChangeCallback): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumShellItemsToIUnknown*(x: ptr IEnumShellItems): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITransferAdviseSinkToIUnknown*(x: ptr ITransferAdviseSink): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITransferSourceToIUnknown*(x: ptr ITransferSource): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumResourcesToIUnknown*(x: ptr IEnumResources): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItemResourcesToIUnknown*(x: ptr IShellItemResources): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITransferDestinationToIUnknown*(x: ptr ITransferDestination): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIStreamAsyncToIStream*(x: ptr IStreamAsync): ptr IStream = cast[ptr IStream](x) converter winimConverterIStreamAsyncToISequentialStream*(x: ptr IStreamAsync): ptr ISequentialStream = cast[ptr ISequentialStream](x) converter winimConverterIStreamAsyncToIUnknown*(x: ptr IStreamAsync): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIStreamUnbufferedInfoToIUnknown*(x: ptr IStreamUnbufferedInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileOperationProgressSinkToIUnknown*(x: ptr IFileOperationProgressSink): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItemArrayToIUnknown*(x: ptr IShellItemArray): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeWithItemToIUnknown*(x: ptr IInitializeWithItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithSelectionToIUnknown*(x: ptr IObjectWithSelection): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithBackReferencesToIUnknown*(x: ptr IObjectWithBackReferences): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPropertyUIToIUnknown*(x: ptr IPropertyUI): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICategoryProviderToIUnknown*(x: ptr ICategoryProvider): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICategorizerToIUnknown*(x: ptr ICategorizer): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDropTargetHelperToIUnknown*(x: ptr IDropTargetHelper): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDragSourceHelperToIUnknown*(x: ptr IDragSourceHelper): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDragSourceHelper2ToIDragSourceHelper*(x: ptr IDragSourceHelper2): ptr IDragSourceHelper = cast[ptr IDragSourceHelper](x) converter winimConverterIDragSourceHelper2ToIUnknown*(x: ptr IDragSourceHelper2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLinkAToIUnknown*(x: ptr IShellLinkA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLinkWToIUnknown*(x: ptr IShellLinkW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLinkDataListToIUnknown*(x: ptr IShellLinkDataList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIResolveShellLinkToIUnknown*(x: ptr IResolveShellLink): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIActionProgressDialogToIUnknown*(x: ptr IActionProgressDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIHWEventHandlerToIUnknown*(x: ptr IHWEventHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIHWEventHandler2ToIHWEventHandler*(x: ptr IHWEventHandler2): ptr IHWEventHandler = cast[ptr IHWEventHandler](x) converter winimConverterIHWEventHandler2ToIUnknown*(x: ptr IHWEventHandler2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIQueryCancelAutoPlayToIUnknown*(x: ptr IQueryCancelAutoPlay): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDynamicHWHandlerToIUnknown*(x: ptr IDynamicHWHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIActionProgressToIUnknown*(x: ptr IActionProgress): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellExtInitToIUnknown*(x: ptr IShellExtInit): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellPropSheetExtToIUnknown*(x: ptr IShellPropSheetExt): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIRemoteComputerToIUnknown*(x: ptr IRemoteComputer): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIQueryContinueToIUnknown*(x: ptr IQueryContinue): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithCancelEventToIUnknown*(x: ptr IObjectWithCancelEvent): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUserNotificationToIUnknown*(x: ptr IUserNotification): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUserNotificationCallbackToIUnknown*(x: ptr IUserNotificationCallback): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUserNotification2ToIUnknown*(x: ptr IUserNotification2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIItemNameLimitsToIUnknown*(x: ptr IItemNameLimits): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterISearchFolderItemFactoryToIUnknown*(x: ptr ISearchFolderItemFactory): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExtractImageToIUnknown*(x: ptr IExtractImage): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExtractImage2ToIExtractImage*(x: ptr IExtractImage2): ptr IExtractImage = cast[ptr IExtractImage](x) converter winimConverterIExtractImage2ToIUnknown*(x: ptr IExtractImage2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIThumbnailHandlerFactoryToIUnknown*(x: ptr IThumbnailHandlerFactory): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIParentAndItemToIUnknown*(x: ptr IParentAndItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDockingWindowToIOleWindow*(x: ptr IDockingWindow): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDockingWindowToIUnknown*(x: ptr IDockingWindow): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDeskBandToIDockingWindow*(x: ptr IDeskBand): ptr IDockingWindow = cast[ptr IDockingWindow](x) converter winimConverterIDeskBandToIOleWindow*(x: ptr IDeskBand): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDeskBandToIUnknown*(x: ptr IDeskBand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDeskBandInfoToIUnknown*(x: ptr IDeskBandInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDeskBand2ToIDeskBand*(x: ptr IDeskBand2): ptr IDeskBand = cast[ptr IDeskBand](x) converter winimConverterIDeskBand2ToIDockingWindow*(x: ptr IDeskBand2): ptr IDockingWindow = cast[ptr IDockingWindow](x) converter winimConverterIDeskBand2ToIOleWindow*(x: ptr IDeskBand2): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDeskBand2ToIUnknown*(x: ptr IDeskBand2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITaskbarListToIUnknown*(x: ptr ITaskbarList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITaskbarList2ToITaskbarList*(x: ptr ITaskbarList2): ptr ITaskbarList = cast[ptr ITaskbarList](x) converter winimConverterITaskbarList2ToIUnknown*(x: ptr ITaskbarList2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITaskbarList3ToITaskbarList2*(x: ptr ITaskbarList3): ptr ITaskbarList2 = cast[ptr ITaskbarList2](x) converter winimConverterITaskbarList3ToITaskbarList*(x: ptr ITaskbarList3): ptr ITaskbarList = cast[ptr ITaskbarList](x) converter winimConverterITaskbarList3ToIUnknown*(x: ptr ITaskbarList3): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITaskbarList4ToITaskbarList3*(x: ptr ITaskbarList4): ptr ITaskbarList3 = cast[ptr ITaskbarList3](x) converter winimConverterITaskbarList4ToITaskbarList2*(x: ptr ITaskbarList4): ptr ITaskbarList2 = cast[ptr ITaskbarList2](x) converter winimConverterITaskbarList4ToITaskbarList*(x: ptr ITaskbarList4): ptr ITaskbarList = cast[ptr ITaskbarList](x) converter winimConverterITaskbarList4ToIUnknown*(x: ptr ITaskbarList4): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIStartMenuPinnedListToIUnknown*(x: ptr IStartMenuPinnedList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICDBurnToIUnknown*(x: ptr ICDBurn): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIWizardSiteToIUnknown*(x: ptr IWizardSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIWizardExtensionToIUnknown*(x: ptr IWizardExtension): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIWebWizardExtensionToIWizardExtension*(x: ptr IWebWizardExtension): ptr IWizardExtension = cast[ptr IWizardExtension](x) converter winimConverterIWebWizardExtensionToIUnknown*(x: ptr IWebWizardExtension): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPublishingWizardToIWizardExtension*(x: ptr IPublishingWizard): ptr IWizardExtension = cast[ptr IWizardExtension](x) converter winimConverterIPublishingWizardToIUnknown*(x: ptr IPublishingWizard): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderViewHostToIUnknown*(x: ptr IFolderViewHost): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerBrowserEventsToIUnknown*(x: ptr IExplorerBrowserEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerBrowserToIUnknown*(x: ptr IExplorerBrowser): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAccessibleObjectToIUnknown*(x: ptr IAccessibleObject): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIResultsFolderToIUnknown*(x: ptr IResultsFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumObjectsToIUnknown*(x: ptr IEnumObjects): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIOperationsProgressDialogToIUnknown*(x: ptr IOperationsProgressDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIIOCancelInformationToIUnknown*(x: ptr IIOCancelInformation): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileOperationToIUnknown*(x: ptr IFileOperation): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectProviderToIUnknown*(x: ptr IObjectProvider): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINamespaceWalkCBToIUnknown*(x: ptr INamespaceWalkCB): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINamespaceWalkCB2ToINamespaceWalkCB*(x: ptr INamespaceWalkCB2): ptr INamespaceWalkCB = cast[ptr INamespaceWalkCB](x) converter winimConverterINamespaceWalkCB2ToIUnknown*(x: ptr INamespaceWalkCB2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINamespaceWalkToIUnknown*(x: ptr INamespaceWalk): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAutoCompleteDropDownToIUnknown*(x: ptr IAutoCompleteDropDown): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIBandSiteToIUnknown*(x: ptr IBandSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIModalWindowToIUnknown*(x: ptr IModalWindow): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICDBurnExtToIUnknown*(x: ptr ICDBurnExt): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIContextMenuSiteToIUnknown*(x: ptr IContextMenuSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumReadyCallbackToIUnknown*(x: ptr IEnumReadyCallback): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumerableViewToIUnknown*(x: ptr IEnumerableView): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInsertItemToIUnknown*(x: ptr IInsertItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIMenuBandToIUnknown*(x: ptr IMenuBand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFolderBandPrivToIUnknown*(x: ptr IFolderBandPriv): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIRegTreeItemToIUnknown*(x: ptr IRegTreeItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIImageRecompressToIUnknown*(x: ptr IImageRecompress): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDeskBarToIOleWindow*(x: ptr IDeskBar): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDeskBarToIUnknown*(x: ptr IDeskBar): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIMenuPopupToIDeskBar*(x: ptr IMenuPopup): ptr IDeskBar = cast[ptr IDeskBar](x) converter winimConverterIMenuPopupToIOleWindow*(x: ptr IMenuPopup): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIMenuPopupToIUnknown*(x: ptr IMenuPopup): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileIsInUseToIUnknown*(x: ptr IFileIsInUse): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileDialogEventsToIUnknown*(x: ptr IFileDialogEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileDialogToIModalWindow*(x: ptr IFileDialog): ptr IModalWindow = cast[ptr IModalWindow](x) converter winimConverterIFileDialogToIUnknown*(x: ptr IFileDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileSaveDialogToIFileDialog*(x: ptr IFileSaveDialog): ptr IFileDialog = cast[ptr IFileDialog](x) converter winimConverterIFileSaveDialogToIModalWindow*(x: ptr IFileSaveDialog): ptr IModalWindow = cast[ptr IModalWindow](x) converter winimConverterIFileSaveDialogToIUnknown*(x: ptr IFileSaveDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileOpenDialogToIFileDialog*(x: ptr IFileOpenDialog): ptr IFileDialog = cast[ptr IFileDialog](x) converter winimConverterIFileOpenDialogToIModalWindow*(x: ptr IFileOpenDialog): ptr IModalWindow = cast[ptr IModalWindow](x) converter winimConverterIFileOpenDialogToIUnknown*(x: ptr IFileOpenDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileDialogCustomizeToIUnknown*(x: ptr IFileDialogCustomize): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileDialogControlEventsToIUnknown*(x: ptr IFileDialogControlEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileDialog2ToIFileDialog*(x: ptr IFileDialog2): ptr IFileDialog = cast[ptr IFileDialog](x) converter winimConverterIFileDialog2ToIModalWindow*(x: ptr IFileDialog2): ptr IModalWindow = cast[ptr IModalWindow](x) converter winimConverterIFileDialog2ToIUnknown*(x: ptr IFileDialog2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationAssociationRegistrationToIUnknown*(x: ptr IApplicationAssociationRegistration): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationAssociationRegistrationUIToIUnknown*(x: ptr IApplicationAssociationRegistrationUI): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDelegateFolderToIUnknown*(x: ptr IDelegateFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIBrowserFrameOptionsToIUnknown*(x: ptr IBrowserFrameOptions): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINewWindowManagerToIUnknown*(x: ptr INewWindowManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAttachmentExecuteToIUnknown*(x: ptr IAttachmentExecute): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellMenuCallbackToIUnknown*(x: ptr IShellMenuCallback): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellMenuToIUnknown*(x: ptr IShellMenu): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellRunDllToIUnknown*(x: ptr IShellRunDll): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIKnownFolderToIUnknown*(x: ptr IKnownFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIKnownFolderManagerToIUnknown*(x: ptr IKnownFolderManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterISharingConfigurationManagerToIUnknown*(x: ptr ISharingConfigurationManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPreviousVersionsInfoToIUnknown*(x: ptr IPreviousVersionsInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIRelatedItemToIUnknown*(x: ptr IRelatedItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIIdentityNameToIRelatedItem*(x: ptr IIdentityName): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIIdentityNameToIUnknown*(x: ptr IIdentityName): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDelegateItemToIRelatedItem*(x: ptr IDelegateItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIDelegateItemToIUnknown*(x: ptr IDelegateItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICurrentItemToIRelatedItem*(x: ptr ICurrentItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterICurrentItemToIUnknown*(x: ptr ICurrentItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITransferMediumItemToIRelatedItem*(x: ptr ITransferMediumItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterITransferMediumItemToIUnknown*(x: ptr ITransferMediumItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUseToBrowseItemToIRelatedItem*(x: ptr IUseToBrowseItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIUseToBrowseItemToIUnknown*(x: ptr IUseToBrowseItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDisplayItemToIRelatedItem*(x: ptr IDisplayItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIDisplayItemToIUnknown*(x: ptr IDisplayItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIViewStateIdentityItemToIRelatedItem*(x: ptr IViewStateIdentityItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIViewStateIdentityItemToIUnknown*(x: ptr IViewStateIdentityItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPreviewItemToIRelatedItem*(x: ptr IPreviewItem): ptr IRelatedItem = cast[ptr IRelatedItem](x) converter winimConverterIPreviewItemToIUnknown*(x: ptr IPreviewItem): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDestinationStreamFactoryToIUnknown*(x: ptr IDestinationStreamFactory): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINewMenuClientToIUnknown*(x: ptr INewMenuClient): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeWithBindCtxToIUnknown*(x: ptr IInitializeWithBindCtx): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellItemFilterToIUnknown*(x: ptr IShellItemFilter): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControlToIUnknown*(x: ptr INameSpaceTreeControl): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControl2ToINameSpaceTreeControl*(x: ptr INameSpaceTreeControl2): ptr INameSpaceTreeControl = cast[ptr INameSpaceTreeControl](x) converter winimConverterINameSpaceTreeControl2ToIUnknown*(x: ptr INameSpaceTreeControl2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControlEventsToIUnknown*(x: ptr INameSpaceTreeControlEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControlDropHandlerToIUnknown*(x: ptr INameSpaceTreeControlDropHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeAccessibleToIUnknown*(x: ptr INameSpaceTreeAccessible): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControlCustomDrawToIUnknown*(x: ptr INameSpaceTreeControlCustomDraw): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINameSpaceTreeControlFolderCapabilitiesToIUnknown*(x: ptr INameSpaceTreeControlFolderCapabilities): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPreviewHandlerToIUnknown*(x: ptr IPreviewHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPreviewHandlerFrameToIUnknown*(x: ptr IPreviewHandlerFrame): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterITrayDeskBandToIUnknown*(x: ptr ITrayDeskBand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIBandHostToIUnknown*(x: ptr IBandHost): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerPaneVisibilityToIUnknown*(x: ptr IExplorerPaneVisibility): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIContextMenuCBToIUnknown*(x: ptr IContextMenuCB): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDefaultExtractIconInitToIUnknown*(x: ptr IDefaultExtractIconInit): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerCommandToIUnknown*(x: ptr IExplorerCommand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerCommandStateToIUnknown*(x: ptr IExplorerCommandState): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeCommandToIUnknown*(x: ptr IInitializeCommand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumExplorerCommandToIUnknown*(x: ptr IEnumExplorerCommand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExplorerCommandProviderToIUnknown*(x: ptr IExplorerCommandProvider): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeNetworkFolderToIUnknown*(x: ptr IInitializeNetworkFolder): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIOpenControlPanelToIUnknown*(x: ptr IOpenControlPanel): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIComputerInfoChangeNotifyToIUnknown*(x: ptr IComputerInfoChangeNotify): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileSystemBindDataToIUnknown*(x: ptr IFileSystemBindData): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileSystemBindData2ToIFileSystemBindData*(x: ptr IFileSystemBindData2): ptr IFileSystemBindData = cast[ptr IFileSystemBindData](x) converter winimConverterIFileSystemBindData2ToIUnknown*(x: ptr IFileSystemBindData2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICustomDestinationListToIUnknown*(x: ptr ICustomDestinationList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationDestinationsToIUnknown*(x: ptr IApplicationDestinations): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationDocumentListsToIUnknown*(x: ptr IApplicationDocumentLists): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithAppUserModelIDToIUnknown*(x: ptr IObjectWithAppUserModelID): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjectWithProgIDToIUnknown*(x: ptr IObjectWithProgID): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIUpdateIDListToIUnknown*(x: ptr IUpdateIDList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDesktopGadgetToIUnknown*(x: ptr IDesktopGadget): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDesktopWallpaperToIUnknown*(x: ptr IDesktopWallpaper): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIHomeGroupToIUnknown*(x: ptr IHomeGroup): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeWithPropertyStoreToIUnknown*(x: ptr IInitializeWithPropertyStore): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIOpenSearchSourceToIUnknown*(x: ptr IOpenSearchSource): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellLibraryToIUnknown*(x: ptr IShellLibrary): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPlaybackManagerEventsToIUnknown*(x: ptr IPlaybackManagerEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPlaybackManagerToIUnknown*(x: ptr IPlaybackManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDefaultFolderMenuInitializeToIUnknown*(x: ptr IDefaultFolderMenuInitialize): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationActivationManagerToIUnknown*(x: ptr IApplicationActivationManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAssocHandlerInvokerToIUnknown*(x: ptr IAssocHandlerInvoker): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAssocHandlerToIUnknown*(x: ptr IAssocHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumAssocHandlersToIUnknown*(x: ptr IEnumAssocHandlers): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDataObjectProviderToIUnknown*(x: ptr IDataObjectProvider): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDataTransferManagerInteropToIUnknown*(x: ptr IDataTransferManagerInterop): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFrameworkInputPaneHandlerToIUnknown*(x: ptr IFrameworkInputPaneHandler): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFrameworkInputPaneToIUnknown*(x: ptr IFrameworkInputPane): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterISearchableApplicationToIUnknown*(x: ptr ISearchableApplication): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAccessibilityDockingServiceCallbackToIUnknown*(x: ptr IAccessibilityDockingServiceCallback): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAccessibilityDockingServiceToIUnknown*(x: ptr IAccessibilityDockingService): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAppVisibilityEventsToIUnknown*(x: ptr IAppVisibilityEvents): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIAppVisibilityToIUnknown*(x: ptr IAppVisibility): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPackageExecutionStateChangeNotificationToIUnknown*(x: ptr IPackageExecutionStateChangeNotification): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIPackageDebugSettingsToIUnknown*(x: ptr IPackageDebugSettings): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExecuteCommandApplicationHostEnvironmentToIUnknown*(x: ptr IExecuteCommandApplicationHostEnvironment): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExecuteCommandHostToIUnknown*(x: ptr IExecuteCommandHost): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIApplicationDesignModeSettingsToIUnknown*(x: ptr IApplicationDesignModeSettings): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeWithWindowToIUnknown*(x: ptr IInitializeWithWindow): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIHandlerInfoToIUnknown*(x: ptr IHandlerInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIHandlerActivationHostToIUnknown*(x: ptr IHandlerActivationHost): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExtractIconAToIUnknown*(x: ptr IExtractIconA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIExtractIconWToIUnknown*(x: ptr IExtractIconW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellIconOverlayIdentifierToIUnknown*(x: ptr IShellIconOverlayIdentifier): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellIconOverlayManagerToIUnknown*(x: ptr IShellIconOverlayManager): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellIconOverlayToIUnknown*(x: ptr IShellIconOverlay): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellExecuteHookAToIUnknown*(x: ptr IShellExecuteHookA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellExecuteHookWToIUnknown*(x: ptr IShellExecuteHookW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIURLSearchHookToIUnknown*(x: ptr IURLSearchHook): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterISearchContextToIUnknown*(x: ptr ISearchContext): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIURLSearchHook2ToIURLSearchHook*(x: ptr IURLSearchHook2): ptr IURLSearchHook = cast[ptr IURLSearchHook](x) converter winimConverterIURLSearchHook2ToIUnknown*(x: ptr IURLSearchHook2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINewShortcutHookAToIUnknown*(x: ptr INewShortcutHookA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINewShortcutHookWToIUnknown*(x: ptr INewShortcutHookW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICopyHookAToIUnknown*(x: ptr ICopyHookA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICopyHookWToIUnknown*(x: ptr ICopyHookW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileViewerSiteToIUnknown*(x: ptr IFileViewerSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileViewerAToIUnknown*(x: ptr IFileViewerA): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIFileViewerWToIUnknown*(x: ptr IFileViewerW): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellDetailsToIUnknown*(x: ptr IShellDetails): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIObjMgrToIUnknown*(x: ptr IObjMgr): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterICurrentWorkingDirectoryToIUnknown*(x: ptr ICurrentWorkingDirectory): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIACListToIUnknown*(x: ptr IACList): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIACList2ToIACList*(x: ptr IACList2): ptr IACList = cast[ptr IACList](x) converter winimConverterIACList2ToIUnknown*(x: ptr IACList2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIProgressDialogToIUnknown*(x: ptr IProgressDialog): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDockingWindowSiteToIOleWindow*(x: ptr IDockingWindowSite): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDockingWindowSiteToIUnknown*(x: ptr IDockingWindowSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDockingWindowFrameToIOleWindow*(x: ptr IDockingWindowFrame): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDockingWindowFrameToIUnknown*(x: ptr IDockingWindowFrame): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIThumbnailCaptureToIUnknown*(x: ptr IThumbnailCapture): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIEnumShellImageStoreToIUnknown*(x: ptr IEnumShellImageStore): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellImageStoreToIUnknown*(x: ptr IShellImageStore): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderBandToIUnknown*(x: ptr IShellFolderBand): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDeskBarClientToIOleWindow*(x: ptr IDeskBarClient): ptr IOleWindow = cast[ptr IOleWindow](x) converter winimConverterIDeskBarClientToIUnknown*(x: ptr IDeskBarClient): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIActiveDesktopToIUnknown*(x: ptr IActiveDesktop): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIActiveDesktopPToIUnknown*(x: ptr IActiveDesktopP): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIADesktopP2ToIUnknown*(x: ptr IADesktopP2): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIColumnProviderToIUnknown*(x: ptr IColumnProvider): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellChangeNotifyToIUnknown*(x: ptr IShellChangeNotify): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIQueryInfoToIUnknown*(x: ptr IQueryInfo): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDefViewFrameToIUnknown*(x: ptr IDefViewFrame): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIDocViewSiteToIUnknown*(x: ptr IDocViewSite): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIInitializeObjectToIUnknown*(x: ptr IInitializeObject): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIBanneredBarToIUnknown*(x: ptr IBanneredBar): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderViewCBToIUnknown*(x: ptr IShellFolderViewCB): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterIShellFolderViewToIUnknown*(x: ptr IShellFolderView): ptr IUnknown = cast[ptr IUnknown](x) converter winimConverterINamedPropertyBagToIUnknown*(x: ptr INamedPropertyBag): ptr IUnknown = cast[ptr IUnknown](x) when winimUnicode: type DRAGINFO* = DRAGINFOW LPDRAGINFO* = LPDRAGINFOW SHFILEOPSTRUCT* = SHFILEOPSTRUCTW LPSHFILEOPSTRUCT* = LPSHFILEOPSTRUCTW SHNAMEMAPPING* = SHNAMEMAPPINGW LPSHNAMEMAPPING* = LPSHNAMEMAPPINGW SHELLEXECUTEINFO* = SHELLEXECUTEINFOW LPSHELLEXECUTEINFO* = LPSHELLEXECUTEINFOW NOTIFYICONDATA* = NOTIFYICONDATAW PNOTIFYICONDATA* = PNOTIFYICONDATAW SHFILEINFO* = SHFILEINFOW OPEN_PRINTER_PROPS_INFO* = OPEN_PRINTER_PROPS_INFOW POPEN_PRINTER_PROPS_INFO* = POPEN_PRINTER_PROPS_INFOW IExtractIcon* = IExtractIconW LPEXTRACTICON* = LPEXTRACTICONW IShellExecuteHook* = IShellExecuteHookW INewShortcutHook* = INewShortcutHookW ICopyHook* = ICopyHookW LPCOPYHOOK* = LPCOPYHOOKW IFileViewer* = IFileViewerW LPFILEVIEWER* = LPFILEVIEWERW BROWSEINFO* = BROWSEINFOW PBROWSEINFO* = PBROWSEINFOW LPBROWSEINFO* = LPBROWSEINFOW FILEDESCRIPTOR* = FILEDESCRIPTORW LPFILEDESCRIPTOR* = LPFILEDESCRIPTORW FILEGROUPDESCRIPTOR* = FILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR* = LPFILEGROUPDESCRIPTORW const SZ_CONTENTTYPE_HTML* = SZ_CONTENTTYPE_HTMLW SZ_CONTENTTYPE_CDF* = SZ_CONTENTTYPE_CDFW IID_IFileViewer* = IID_IFileViewerW IID_IShellLink* = IID_IShellLinkW IID_IExtractIcon* = IID_IExtractIconW IID_IShellCopyHook* = IID_IShellCopyHookW IID_IShellExecuteHook* = IID_IShellExecuteHookW IID_INewShortcutHook* = IID_INewShortcutHookW IID_IUniformResourceLocator* = IID_IUniformResourceLocatorW GCS_VERB* = GCS_VERBW GCS_HELPTEXT* = GCS_HELPTEXTW GCS_VALIDATE* = GCS_VALIDATEW CMDSTR_NEWFOLDER* = CMDSTR_NEWFOLDERW CMDSTR_VIEWLIST* = CMDSTR_VIEWLISTW CMDSTR_VIEWDETAILS* = CMDSTR_VIEWDETAILSW BFFM_SETSTATUSTEXT* = BFFM_SETSTATUSTEXTW BFFM_SETSELECTION* = BFFM_SETSELECTIONW BFFM_VALIDATEFAILED* = BFFM_VALIDATEFAILEDW CFSTR_FILEDESCRIPTOR* = CFSTR_FILEDESCRIPTORW CFSTR_FILENAME* = CFSTR_FILENAMEW CFSTR_FILENAMEMAP* = CFSTR_FILENAMEMAPW CFSTR_INETURL* = CFSTR_INETURLW SHCNF_PATH* = SHCNF_PATHW SHCNF_PRINTER* = SHCNF_PRINTERW SHARD_PATH* = SHARD_PATHW proc StrFormatByteSize64*(qdw: LONGLONG, szBuf: LPWSTR, uiBufSize: UINT): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatByteSizeW".} proc StrCat*(psz1: LPWSTR, psz2: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCatW".} proc StrCmp*(psz1: LPCWSTR, psz2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpW".} proc StrCmpI*(psz1: LPCWSTR, psz2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpIW".} proc StrCpy*(psz1: LPWSTR, psz2: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCpyW".} proc StrCpyN*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCpyNW".} proc DragQueryFile*(hDrop: HDROP, iFile: UINT, lpszFile: LPWSTR, cch: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc: "DragQueryFileW".} proc ShellExecute*(hwnd: HWND, lpOperation: LPCWSTR, lpFile: LPCWSTR, lpParameters: LPCWSTR, lpDirectory: LPCWSTR, nShowCmd: INT): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc: "ShellExecuteW".} proc FindExecutable*(lpFile: LPCWSTR, lpDirectory: LPCWSTR, lpResult: LPWSTR): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc: "FindExecutableW".} proc ShellAbout*(hWnd: HWND, szApp: LPCWSTR, szOtherStuff: LPCWSTR, hIcon: HICON): INT {.winapi, stdcall, dynlib: "shell32", importc: "ShellAboutW".} proc ExtractAssociatedIcon*(hInst: HINSTANCE, pszIconPath: LPWSTR, piIcon: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconW".} proc ExtractAssociatedIconEx*(hInst: HINSTANCE, pszIconPath: LPWSTR, piIconIndex: ptr WORD, piIconId: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconExW".} proc ExtractIcon*(hInst: HINSTANCE, pszExeFileName: LPCWSTR, nIconIndex: UINT): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractIconW".} proc DoEnvironmentSubst*(pszSrc: LPWSTR, cchSrc: UINT): DWORD {.winapi, stdcall, dynlib: "shell32", importc: "DoEnvironmentSubstW".} proc ExtractIconEx*(lpszFile: LPCWSTR, nIconIndex: int32, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIcons: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc: "ExtractIconExW".} proc SHFileOperation*(lpFileOp: LPSHFILEOPSTRUCTW): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHFileOperationW".} proc ShellExecuteEx*(pExecInfo: ptr SHELLEXECUTEINFOW): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "ShellExecuteExW".} proc SHQueryRecycleBin*(pszRootPath: LPCWSTR, pSHQueryRBInfo: LPSHQUERYRBINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHQueryRecycleBinW".} proc SHEmptyRecycleBin*(hwnd: HWND, pszRootPath: LPCWSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHEmptyRecycleBinW".} proc Shell_NotifyIcon*(dwMessage: DWORD, lpData: PNOTIFYICONDATAW): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "Shell_NotifyIconW".} proc SHGetFileInfo*(pszPath: LPCWSTR, dwFileAttributes: DWORD, psfi: ptr SHFILEINFOW, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFileInfoW".} proc SHGetDiskFreeSpace*(pszDirectoryName: LPCWSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDiskFreeSpaceExW".} proc SHGetDiskFreeSpaceEx*(pszDirectoryName: LPCWSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDiskFreeSpaceExW".} proc SHGetNewLinkInfo*(pszLinkTo: LPCWSTR, pszDir: LPCWSTR, pszName: LPWSTR, pfMustCopy: ptr WINBOOL, uFlags: UINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetNewLinkInfoW".} proc SHInvokePrinterCommand*(hwnd: HWND, uAction: UINT, lpBuf1: LPCWSTR, lpBuf2: LPCWSTR, fModal: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHInvokePrinterCommandW".} proc ShellMessageBox*(hAppInst: HINSTANCE, hWnd: HWND, lpcText: LPCWSTR, lpcTitle: LPCWSTR, fuStyle: UINT): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "ShellMessageBoxW".} proc IsLFNDrive*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "IsLFNDriveW".} proc SHEnumerateUnreadMailAccounts*(hKeyUser: HKEY, dwIndex: DWORD, pszMailAddress: LPWSTR, cchMailAddress: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHEnumerateUnreadMailAccountsW".} proc SHGetUnreadMailCount*(hKeyUser: HKEY, pszMailAddress: LPCWSTR, pdwCount: ptr DWORD, pFileTime: ptr FILETIME, pszShellExecuteCommand: LPWSTR, cchShellExecuteCommand: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetUnreadMailCountW".} proc SHSetUnreadMailCount*(pszMailAddress: LPCWSTR, dwCount: DWORD, pszShellExecuteCommand: LPCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHSetUnreadMailCountW".} proc StrRetToStr*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, ppsz: ptr LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRetToStrW".} proc StrRetToBuf*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, pszBuf: LPWSTR, cchBuf: UINT): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRetToBufW".} proc SHStrDup*(psz: LPCWSTR, ppwsz: ptr ptr WCHAR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "SHStrDupW".} proc IsCharSpace*(wch: WCHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "IsCharSpaceW".} proc StrCmpC*(pszStr1: LPCWSTR, pszStr2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpCW".} proc StrCmpIC*(pszStr1: LPCWSTR, pszStr2: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpICW".} proc StrChr*(lpStart: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrChrW".} proc StrRChr*(lpStart: LPCWSTR, lpEnd: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRChrW".} proc StrChrI*(lpStart: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrChrIW".} proc StrRChrI*(lpStart: LPCWSTR, lpEnd: LPCWSTR, wMatch: WCHAR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRChrIW".} proc StrCmpN*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNW".} proc StrCmpNI*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNIW".} proc StrStr*(lpFirst: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrStrW".} proc StrStrI*(lpFirst: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrStrIW".} proc StrDup*(lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrDupW".} proc StrRStrI*(lpSource: LPCWSTR, lpLast: LPCWSTR, lpSrch: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRStrIW".} proc StrCSpn*(lpStr: LPCWSTR, lpSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCSpnW".} proc StrCSpnI*(lpStr: LPCWSTR, lpSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCSpnIW".} proc StrSpn*(psz: LPCWSTR, pszSet: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrSpnW".} proc StrToInt*(lpSrc: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntW".} proc StrPBrk*(psz: LPCWSTR, pszSet: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrPBrkW".} proc StrToIntEx*(pszString: LPCWSTR, dwFlags: DWORD, piRet: ptr int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntExW".} proc StrToInt64Ex*(pszString: LPCWSTR, dwFlags: DWORD, pllRet: ptr LONGLONG): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToInt64ExW".} proc StrFromTimeInterval*(pszOut: LPWSTR, cchMax: UINT, dwTimeMS: DWORD, digits: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFromTimeIntervalW".} proc StrFormatByteSize*(qdw: LONGLONG, szBuf: LPWSTR, uiBufSize: UINT): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatByteSizeW".} proc StrFormatKBSize*(qdw: LONGLONG, szBuf: LPWSTR, uiBufSize: UINT): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatKBSizeW".} proc StrNCat*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrNCatW".} proc StrTrim*(psz: LPWSTR, pszTrimChars: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrTrimW".} proc StrCatBuff*(pszDest: LPWSTR, pszSrc: LPCWSTR, cchDestBuffSize: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCatBuffW".} proc ChrCmpI*(w1: WCHAR, w2: WCHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "ChrCmpIW".} proc wvnsprintf*(lpOut: LPWSTR, cchLimitIn: int32, lpFmt: LPCWSTR, arglist: va_list): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "wvnsprintfW".} proc wnsprintf*(lpOut: LPWSTR, cchLimitIn: int32, lpFmt: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "wnsprintfW".} proc StrIsIntlEqual*(fCaseSens: WINBOOL, lpString1: LPCWSTR, lpString2: LPCWSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrIsIntlEqualW".} proc StrToLong*(lpSrc: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntW".} proc StrNCmp*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNW".} proc StrNCmpI*(lpStr1: LPCWSTR, lpStr2: LPCWSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNIW".} proc StrNCpy*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCpyNW".} proc StrCatN*(psz1: LPWSTR, psz2: LPCWSTR, cchMax: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrNCatW".} proc PathAddBackslash*(pszPath: LPWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAddBackslashW".} proc PathAddExtension*(pszPath: LPWSTR, pszExt: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAddExtensionW".} proc PathBuildRoot*(pszRoot: LPWSTR, iDrive: int32): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathBuildRootW".} proc PathCombine*(pszDest: LPWSTR, pszDir: LPCWSTR, pszFile: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCombineW".} proc PathFileExists*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFileExistsW".} proc PathFindExtension*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindExtensionW".} proc PathFindFileName*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindFileNameW".} proc PathFindNextComponent*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindNextComponentW".} proc PathGetArgs*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetArgsW".} proc PathFindSuffixArray*(pszPath: LPCWSTR, apszSuffix: ptr LPCWSTR, iArraySize: int32): LPCWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindSuffixArrayW".} proc PathIsLFNFileSpec*(lpName: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsLFNFileSpecW".} proc PathGetDriveNumber*(pszPath: LPCWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetDriveNumberW".} proc PathIsDirectory*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsDirectoryW".} proc PathIsDirectoryEmpty*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsDirectoryEmptyW".} proc PathIsFileSpec*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsFileSpecW".} proc PathIsPrefix*(pszPrefix: LPCWSTR, pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsPrefixW".} proc PathIsRelative*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsRelativeW".} proc PathIsRoot*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsRootW".} proc PathIsSameRoot*(pszPath1: LPCWSTR, pszPath2: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsSameRootW".} proc PathIsUNC*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCW".} proc PathIsNetworkPath*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsNetworkPathW".} proc PathIsUNCServer*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCServerW".} proc PathIsUNCServerShare*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCServerShareW".} proc PathIsURL*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsURLW".} proc PathRemoveBackslash*(pszPath: LPWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveBackslashW".} proc PathSkipRoot*(pszPath: LPCWSTR): LPWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSkipRootW".} proc PathStripPath*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathStripPathW".} proc PathStripToRoot*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathStripToRootW".} proc PathMakeSystemFolder*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMakeSystemFolderW".} proc PathUnmakeSystemFolder*(pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnmakeSystemFolderW".} proc PathIsSystemFolder*(pszPath: LPCWSTR, dwAttrb: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsSystemFolderW".} proc PathUndecorate*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUndecorateW".} proc PathUnExpandEnvStrings*(pszPath: LPCWSTR, pszBuf: LPWSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnExpandEnvStringsW".} proc PathAppend*(pszPath: LPWSTR, pMore: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAppendW".} proc PathCanonicalize*(pszBuf: LPWSTR, pszPath: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCanonicalizeW".} proc PathCompactPath*(hDC: HDC, pszPath: LPWSTR, dx: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCompactPathW".} proc PathCompactPathEx*(pszOut: LPWSTR, pszSrc: LPCWSTR, cchMax: UINT, dwFlags: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCompactPathExW".} proc PathCommonPrefix*(pszFile1: LPCWSTR, pszFile2: LPCWSTR, achPath: LPWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCommonPrefixW".} proc PathFindOnPath*(pszPath: LPWSTR, ppszOtherDirs: ptr LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindOnPathW".} proc PathGetCharType*(ch: WCHAR): UINT {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetCharTypeW".} proc PathIsContentType*(pszPath: LPCWSTR, pszContentType: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsContentTypeW".} proc PathMakePretty*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMakePrettyW".} proc PathMatchSpec*(pszFile: LPCWSTR, pszSpec: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMatchSpecW".} proc PathParseIconLocation*(pszIconFile: LPWSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathParseIconLocationW".} proc PathQuoteSpaces*(lpsz: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathQuoteSpacesW".} proc PathRelativePathTo*(pszPath: LPWSTR, pszFrom: LPCWSTR, dwAttrFrom: DWORD, pszTo: LPCWSTR, dwAttrTo: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRelativePathToW".} proc PathRemoveArgs*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveArgsW".} proc PathRemoveBlanks*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveBlanksW".} proc PathRemoveExtension*(pszPath: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveExtensionW".} proc PathRemoveFileSpec*(pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveFileSpecW".} proc PathRenameExtension*(pszPath: LPWSTR, pszExt: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRenameExtensionW".} proc PathSearchAndQualify*(pszPath: LPCWSTR, pszBuf: LPWSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSearchAndQualifyW".} proc PathSetDlgItemPath*(hDlg: HWND, id: int32, pszPath: LPCWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSetDlgItemPathW".} proc PathUnquoteSpaces*(lpsz: LPWSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnquoteSpacesW".} proc UrlCompare*(psz1: LPCWSTR, psz2: LPCWSTR, fIgnoreSlash: WINBOOL): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCompareW".} proc UrlCombine*(pszBase: LPCWSTR, pszRelative: LPCWSTR, pszCombined: LPWSTR, pcchCombined: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCombineW".} proc UrlCanonicalize*(pszUrl: LPCWSTR, pszCanonicalized: LPWSTR, pcchCanonicalized: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCanonicalizeW".} proc UrlIsOpaque*(pszURL: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlIsOpaqueW".} proc UrlGetLocation*(psz1: LPCWSTR): LPCWSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlGetLocationW".} proc UrlUnescape*(pszUrl: LPWSTR, pszUnescaped: LPWSTR, pcchUnescaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlUnescapeW".} proc UrlEscape*(pszUrl: LPCWSTR, pszEscaped: LPWSTR, pcchEscaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlEscapeW".} proc UrlCreateFromPath*(pszPath: LPCWSTR, pszUrl: LPWSTR, pcchUrl: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCreateFromPathW".} proc PathCreateFromUrl*(pszUrl: LPCWSTR, pszPath: LPWSTR, pcchPath: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCreateFromUrlW".} proc UrlHash*(pszUrl: LPCWSTR, pbHash: LPBYTE, cbHash: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlHashW".} proc UrlGetPart*(pszIn: LPCWSTR, pszOut: LPWSTR, pcchOut: LPDWORD, dwPart: DWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlGetPartW".} proc UrlApplyScheme*(pszIn: LPCWSTR, pszOut: LPWSTR, pcchOut: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlApplySchemeW".} proc UrlIs*(pszUrl: LPCWSTR, UrlIs: TURLIS): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlIsW".} proc SHDeleteEmptyKey*(hkey: HKEY, pszSubKey: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteEmptyKeyW".} proc SHDeleteKey*(hkey: HKEY, pszSubKey: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteKeyW".} proc SHDeleteValue*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteValueW".} proc SHGetValue*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHGetValueW".} proc SHSetValue*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, dwType: DWORD, pvData: LPCVOID, cbData: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHSetValueW".} proc SHRegGetValue*(hkey: HKEY, pszSubKey: LPCWSTR, pszValue: LPCWSTR, dwFlags: SRRF, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetValueW".} proc SHQueryValueEx*(hkey: HKEY, pszValue: LPCWSTR, pdwReserved: ptr DWORD, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHQueryValueExW".} proc SHEnumKeyEx*(hkey: HKEY, dwIndex: DWORD, pszName: LPWSTR, pcchName: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHEnumKeyExW".} proc SHEnumValue*(hkey: HKEY, dwIndex: DWORD, pszValueName: LPWSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHEnumValueW".} proc SHQueryInfoKey*(hkey: HKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHQueryInfoKeyW".} proc SHCopyKey*(hkeySrc: HKEY, wszSrcSubKey: LPCWSTR, hkeyDest: HKEY, fReserved: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHCopyKeyW".} proc SHRegGetPath*(hKey: HKEY, pcszSubKey: LPCWSTR, pcszValue: LPCWSTR, pszPath: LPWSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetPathW".} proc SHRegSetPath*(hKey: HKEY, pcszSubKey: LPCWSTR, pcszValue: LPCWSTR, pcszPath: LPCWSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegSetPathW".} proc SHRegCreateUSKey*(pwzPath: LPCWSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegCreateUSKeyW".} proc SHRegOpenUSKey*(pwzPath: LPCWSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, fIgnoreHKCU: WINBOOL): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegOpenUSKeyW".} proc SHRegQueryUSValue*(hUSKey: HUSKEY, pwzValue: LPCWSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegQueryUSValueW".} proc SHRegWriteUSValue*(hUSKey: HUSKEY, pwzValue: LPCWSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegWriteUSValueW".} proc SHRegDeleteUSValue*(hUSKey: HUSKEY, pwzValue: LPCWSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegDeleteUSValueW".} proc SHRegDeleteEmptyUSKey*(hUSKey: HUSKEY, pwzSubKey: LPCWSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegDeleteEmptyUSKeyW".} proc SHRegEnumUSKey*(hUSKey: HUSKEY, dwIndex: DWORD, pwzName: LPWSTR, pcchName: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegEnumUSKeyW".} proc SHRegEnumUSValue*(hUSkey: HUSKEY, dwIndex: DWORD, pszValueName: LPWSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegEnumUSValueW".} proc SHRegQueryInfoUSKey*(hUSKey: HUSKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegQueryInfoUSKeyW".} proc SHRegGetUSValue*(pwzSubKey: LPCWSTR, pwzValue: LPCWSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetUSValueW".} proc SHRegSetUSValue*(pwzSubKey: LPCWSTR, pwzValue: LPCWSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegSetUSValueW".} proc SHRegGetInt*(hk: HKEY, pwzKey: LPCWSTR, iDefault: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetIntW".} proc SHRegGetBoolUSValue*(pszSubKey: LPCWSTR, pszValue: LPCWSTR, fIgnoreHKCU: WINBOOL, fDefault: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetBoolUSValueW".} proc AssocQueryString*(flags: ASSOCF, str: ASSOCSTR, pszAssoc: LPCWSTR, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryStringW".} proc AssocQueryStringByKey*(flags: ASSOCF, str: ASSOCSTR, hkAssoc: HKEY, pszExtra: LPCWSTR, pszOut: LPWSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryStringByKeyW".} proc AssocQueryKey*(flags: ASSOCF, key: ASSOCKEY, pszAssoc: LPCWSTR, pszExtra: LPCWSTR, phkeyOut: ptr HKEY): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryKeyW".} proc SHOpenRegStream2*(hkey: HKEY, pszSubkey: LPCWSTR, pszValue: LPCWSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc: "SHOpenRegStream2W".} proc SHCreateStreamOnFile*(pszFile: LPCWSTR, grfMode: DWORD, ppstm: ptr ptr IStream): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "SHCreateStreamOnFileW".} proc SHOpenRegStream*(hkey: HKEY, pszSubkey: LPCWSTR, pszValue: LPCWSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc: "SHOpenRegStream2W".} proc GetAcceptLanguages*(psz: LPWSTR, pcch: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "GetAcceptLanguagesW".} proc SHGetIconOverlayIndex*(pszIconPath: LPCWSTR, iIconIndex: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHGetIconOverlayIndexW".} proc ILCreateFromPath*(pszPath: PCWSTR): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc: "ILCreateFromPathW".} proc SHGetPathFromIDList*(pidl: PCIDLIST_ABSOLUTE, pszPath: LPWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetPathFromIDListW".} proc SHCreateDirectoryEx*(hwnd: HWND, pszPath: LPCWSTR, psa: ptr SECURITY_ATTRIBUTES): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHCreateDirectoryExW".} proc SHGetSpecialFolderPath*(hwnd: HWND, pszPath: LPWSTR, csidl: int32, fCreate: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetSpecialFolderPathW".} proc SHGetFolderPath*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFolderPathW".} proc SHSetFolderPath*(csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPCWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHSetFolderPathW".} proc SHGetFolderPathAndSubDir*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszSubDir: LPCWSTR, pszPath: LPWSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFolderPathAndSubDirW".} proc SHBrowseForFolder*(lpbi: LPBROWSEINFOW): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc: "SHBrowseForFolderW".} proc SHUpdateImage*(pszHashItem: LPCWSTR, iIndex: int32, uFlags: UINT, iImageIndex: int32): void {.winapi, stdcall, dynlib: "shell32", importc: "SHUpdateImageW".} proc SHGetDataFromIDList*(psf: ptr IShellFolder, pidl: PCUITEMID_CHILD, nFormat: int32, pv: pointer, cb: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDataFromIDListW".} proc PathIsSlow*(pszFile: LPCWSTR, dwAttr: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "PathIsSlowW".} proc SHStartNetConnectionDialog*(hwnd: HWND, pszRemoteName: LPCWSTR, dwType: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHStartNetConnectionDialogW".} proc SHDefExtractIcon*(pszIconFile: LPCWSTR, iIndex: int32, uFlags: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHDefExtractIconW".} proc Shell_GetCachedImageIndex*(pszIconPath: LPCWSTR, iIconIndex: int32, uIconFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc: "Shell_GetCachedImageIndexW".} proc SHOpenPropSheet*(pszCaption: LPCWSTR, ahkeys: ptr HKEY, ckeys: UINT, pclsidDefault: ptr CLSID, pdtobj: ptr IDataObject, psb: ptr IShellBrowser, pStartPage: LPCWSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHOpenPropSheetW".} proc SHPathPrepareForWrite*(hwnd: HWND, punkEnableModless: ptr IUnknown, pszPath: LPCWSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHPathPrepareForWriteW".} proc SHCreateFileExtractIcon*(pszFile: LPCWSTR, dwFileAttributes: DWORD, riid: REFIID, ppv: ptr pointer): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHCreateFileExtractIconW".} when winimAnsi: type DRAGINFO* = DRAGINFOA LPDRAGINFO* = LPDRAGINFOA SHFILEOPSTRUCT* = SHFILEOPSTRUCTA LPSHFILEOPSTRUCT* = LPSHFILEOPSTRUCTA SHNAMEMAPPING* = SHNAMEMAPPINGA LPSHNAMEMAPPING* = LPSHNAMEMAPPINGA SHELLEXECUTEINFO* = SHELLEXECUTEINFOA LPSHELLEXECUTEINFO* = LPSHELLEXECUTEINFOA NOTIFYICONDATA* = NOTIFYICONDATAA PNOTIFYICONDATA* = PNOTIFYICONDATAA SHFILEINFO* = SHFILEINFOA OPEN_PRINTER_PROPS_INFO* = OPEN_PRINTER_PROPS_INFOA POPEN_PRINTER_PROPS_INFO* = POPEN_PRINTER_PROPS_INFOA IExtractIcon* = IExtractIconA LPEXTRACTICON* = LPEXTRACTICONA IShellExecuteHook* = IShellExecuteHookA INewShortcutHook* = INewShortcutHookA ICopyHook* = ICopyHookA LPCOPYHOOK* = LPCOPYHOOKA IFileViewer* = IFileViewerA LPFILEVIEWER* = LPFILEVIEWERA BROWSEINFO* = BROWSEINFOA PBROWSEINFO* = PBROWSEINFOA LPBROWSEINFO* = LPBROWSEINFOA FILEDESCRIPTOR* = FILEDESCRIPTORA LPFILEDESCRIPTOR* = LPFILEDESCRIPTORA FILEGROUPDESCRIPTOR* = FILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR* = LPFILEGROUPDESCRIPTORA const SZ_CONTENTTYPE_HTML* = SZ_CONTENTTYPE_HTMLA SZ_CONTENTTYPE_CDF* = SZ_CONTENTTYPE_CDFA IID_IFileViewer* = IID_IFileViewerA IID_IShellLink* = IID_IShellLinkA IID_IExtractIcon* = IID_IExtractIconA IID_IShellCopyHook* = IID_IShellCopyHookA IID_IShellExecuteHook* = IID_IShellExecuteHookA IID_INewShortcutHook* = IID_INewShortcutHookA IID_IUniformResourceLocator* = IID_IUniformResourceLocatorA GCS_VERB* = GCS_VERBA GCS_HELPTEXT* = GCS_HELPTEXTA GCS_VALIDATE* = GCS_VALIDATEA CMDSTR_NEWFOLDER* = CMDSTR_NEWFOLDERA CMDSTR_VIEWLIST* = CMDSTR_VIEWLISTA CMDSTR_VIEWDETAILS* = CMDSTR_VIEWDETAILSA BFFM_SETSTATUSTEXT* = BFFM_SETSTATUSTEXTA BFFM_SETSELECTION* = BFFM_SETSELECTIONA BFFM_VALIDATEFAILED* = BFFM_VALIDATEFAILEDA CFSTR_FILEDESCRIPTOR* = CFSTR_FILEDESCRIPTORA CFSTR_FILENAME* = CFSTR_FILENAMEA CFSTR_FILENAMEMAP* = CFSTR_FILENAMEMAPA CFSTR_INETURL* = CFSTR_INETURLA SHCNF_PATH* = SHCNF_PATHA SHCNF_PRINTER* = SHCNF_PRINTERA SHARD_PATH* = SHARD_PATHA proc StrFormatByteSize64*(qdw: LONGLONG, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatByteSize64A".} proc DragQueryFile*(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR, cch: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc: "DragQueryFileA".} proc ShellExecute*(hwnd: HWND, lpOperation: LPCSTR, lpFile: LPCSTR, lpParameters: LPCSTR, lpDirectory: LPCSTR, nShowCmd: INT): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc: "ShellExecuteA".} proc FindExecutable*(lpFile: LPCSTR, lpDirectory: LPCSTR, lpResult: LPSTR): HINSTANCE {.winapi, stdcall, dynlib: "shell32", importc: "FindExecutableA".} proc ShellAbout*(hWnd: HWND, szApp: LPCSTR, szOtherStuff: LPCSTR, hIcon: HICON): INT {.winapi, stdcall, dynlib: "shell32", importc: "ShellAboutA".} proc ExtractAssociatedIcon*(hInst: HINSTANCE, pszIconPath: LPSTR, piIcon: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconA".} proc ExtractAssociatedIconEx*(hInst: HINSTANCE, pszIconPath: LPSTR, piIconIndex: ptr WORD, piIconId: ptr WORD): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconExA".} proc ExtractIcon*(hInst: HINSTANCE, pszExeFileName: LPCSTR, nIconIndex: UINT): HICON {.winapi, stdcall, dynlib: "shell32", importc: "ExtractIconA".} proc DoEnvironmentSubst*(pszSrc: LPSTR, cchSrc: UINT): DWORD {.winapi, stdcall, dynlib: "shell32", importc: "DoEnvironmentSubstA".} proc ExtractIconEx*(lpszFile: LPCSTR, nIconIndex: int32, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIcons: UINT): UINT {.winapi, stdcall, dynlib: "shell32", importc: "ExtractIconExA".} proc SHFileOperation*(lpFileOp: LPSHFILEOPSTRUCTA): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHFileOperationA".} proc ShellExecuteEx*(pExecInfo: ptr SHELLEXECUTEINFOA): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "ShellExecuteExA".} proc SHQueryRecycleBin*(pszRootPath: LPCSTR, pSHQueryRBInfo: LPSHQUERYRBINFO): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHQueryRecycleBinA".} proc SHEmptyRecycleBin*(hwnd: HWND, pszRootPath: LPCSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHEmptyRecycleBinA".} proc Shell_NotifyIcon*(dwMessage: DWORD, lpData: PNOTIFYICONDATAA): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "Shell_NotifyIconA".} proc SHGetFileInfo*(pszPath: LPCSTR, dwFileAttributes: DWORD, psfi: ptr SHFILEINFOA, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFileInfoA".} proc SHGetDiskFreeSpace*(pszDirectoryName: LPCSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDiskFreeSpaceExA".} proc SHGetDiskFreeSpaceEx*(pszDirectoryName: LPCSTR, pulFreeBytesAvailableToCaller: ptr ULARGE_INTEGER, pulTotalNumberOfBytes: ptr ULARGE_INTEGER, pulTotalNumberOfFreeBytes: ptr ULARGE_INTEGER): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDiskFreeSpaceExA".} proc SHGetNewLinkInfo*(pszLinkTo: LPCSTR, pszDir: LPCSTR, pszName: LPSTR, pfMustCopy: ptr WINBOOL, uFlags: UINT): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetNewLinkInfoA".} proc SHInvokePrinterCommand*(hwnd: HWND, uAction: UINT, lpBuf1: LPCSTR, lpBuf2: LPCSTR, fModal: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHInvokePrinterCommandA".} proc ShellMessageBox*(hAppInst: HINSTANCE, hWnd: HWND, lpcText: LPCSTR, lpcTitle: LPCSTR, fuStyle: UINT): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "ShellMessageBoxA".} proc IsLFNDrive*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "IsLFNDriveA".} proc StrRetToStr*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, ppsz: ptr LPSTR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRetToStrA".} proc StrRetToBuf*(pstr: ptr STRRET, pidl: LPCITEMIDLIST, pszBuf: LPSTR, cchBuf: UINT): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRetToBufA".} proc SHStrDup*(psz: LPCSTR, ppwsz: ptr ptr WCHAR): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "SHStrDupA".} proc IsCharSpace*(wch: CHAR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "IsCharSpaceA".} proc StrCmpC*(pszStr1: LPCSTR, pszStr2: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpCA".} proc StrCmpIC*(pszStr1: LPCSTR, pszStr2: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpICA".} proc StrChr*(lpStart: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrChrA".} proc StrRChr*(lpStart: LPCSTR, lpEnd: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRChrA".} proc StrChrI*(lpStart: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrChrIA".} proc StrRChrI*(lpStart: LPCSTR, lpEnd: LPCSTR, wMatch: WORD): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRChrIA".} proc StrCmpN*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNA".} proc StrCmpNI*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNIA".} proc StrStr*(lpFirst: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrStrA".} proc StrStrI*(lpFirst: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrStrIA".} proc StrDup*(lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrDupA".} proc StrRStrI*(lpSource: LPCSTR, lpLast: LPCSTR, lpSrch: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrRStrIA".} proc StrCSpn*(lpStr: LPCSTR, lpSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCSpnA".} proc StrCSpnI*(lpStr: LPCSTR, lpSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCSpnIA".} proc StrSpn*(psz: LPCSTR, pszSet: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrSpnA".} proc StrToInt*(lpSrc: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntA".} proc StrPBrk*(psz: LPCSTR, pszSet: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrPBrkA".} proc StrToIntEx*(pszString: LPCSTR, dwFlags: DWORD, piRet: ptr int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntExA".} proc StrToInt64Ex*(pszString: LPCSTR, dwFlags: DWORD, pllRet: ptr LONGLONG): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToInt64ExA".} proc StrFromTimeInterval*(pszOut: LPSTR, cchMax: UINT, dwTimeMS: DWORD, digits: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFromTimeIntervalA".} proc StrFormatByteSize*(dw: DWORD, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatByteSizeA".} proc StrFormatKBSize*(qdw: LONGLONG, szBuf: LPSTR, uiBufSize: UINT): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrFormatKBSizeA".} proc StrNCat*(psz1: LPSTR, psz2: LPCSTR, cchMax: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrNCatA".} proc StrTrim*(psz: LPSTR, pszTrimChars: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrTrimA".} proc StrCatBuff*(pszDest: LPSTR, pszSrc: LPCSTR, cchDestBuffSize: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCatBuffA".} proc ChrCmpI*(w1: WORD, w2: WORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "ChrCmpIA".} proc wvnsprintf*(lpOut: LPSTR, cchLimitIn: int32, lpFmt: LPCSTR, arglist: va_list): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "wvnsprintfA".} proc wnsprintf*(lpOut: LPSTR, cchLimitIn: int32, lpFmt: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "wnsprintfA".} proc StrIsIntlEqual*(fCaseSens: WINBOOL, lpString1: LPCSTR, lpString2: LPCSTR, nChar: int32): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "StrIsIntlEqualA".} proc StrToLong*(lpSrc: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrToIntA".} proc StrNCmp*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNA".} proc StrNCmpI*(lpStr1: LPCSTR, lpStr2: LPCSTR, nChar: int32): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "StrCmpNIA".} proc StrCatN*(psz1: LPSTR, psz2: LPCSTR, cchMax: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "StrNCatA".} proc PathAddBackslash*(pszPath: LPSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAddBackslashA".} proc PathAddExtension*(pszPath: LPSTR, pszExt: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAddExtensionA".} proc PathBuildRoot*(pszRoot: LPSTR, iDrive: int32): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathBuildRootA".} proc PathCombine*(pszDest: LPSTR, pszDir: LPCSTR, pszFile: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCombineA".} proc PathFileExists*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFileExistsA".} proc PathFindExtension*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindExtensionA".} proc PathFindFileName*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindFileNameA".} proc PathFindNextComponent*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindNextComponentA".} proc PathGetArgs*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetArgsA".} proc PathFindSuffixArray*(pszPath: LPCSTR, apszSuffix: ptr LPCSTR, iArraySize: int32): LPCSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindSuffixArrayA".} proc PathIsLFNFileSpec*(lpName: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsLFNFileSpecA".} proc PathGetDriveNumber*(pszPath: LPCSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetDriveNumberA".} proc PathIsDirectory*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsDirectoryA".} proc PathIsDirectoryEmpty*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsDirectoryEmptyA".} proc PathIsFileSpec*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsFileSpecA".} proc PathIsPrefix*(pszPrefix: LPCSTR, pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsPrefixA".} proc PathIsRelative*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsRelativeA".} proc PathIsRoot*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsRootA".} proc PathIsSameRoot*(pszPath1: LPCSTR, pszPath2: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsSameRootA".} proc PathIsUNC*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCA".} proc PathIsNetworkPath*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsNetworkPathA".} proc PathIsUNCServer*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCServerA".} proc PathIsUNCServerShare*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsUNCServerShareA".} proc PathIsURL*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsURLA".} proc PathRemoveBackslash*(pszPath: LPSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveBackslashA".} proc PathSkipRoot*(pszPath: LPCSTR): LPSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSkipRootA".} proc PathStripPath*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathStripPathA".} proc PathStripToRoot*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathStripToRootA".} proc PathMakeSystemFolder*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMakeSystemFolderA".} proc PathUnmakeSystemFolder*(pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnmakeSystemFolderA".} proc PathIsSystemFolder*(pszPath: LPCSTR, dwAttrb: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsSystemFolderA".} proc PathUndecorate*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUndecorateA".} proc PathUnExpandEnvStrings*(pszPath: LPCSTR, pszBuf: LPSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnExpandEnvStringsA".} proc PathAppend*(pszPath: LPSTR, pMore: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathAppendA".} proc PathCanonicalize*(pszBuf: LPSTR, pszPath: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCanonicalizeA".} proc PathCompactPath*(hDC: HDC, pszPath: LPSTR, dx: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCompactPathA".} proc PathCompactPathEx*(pszOut: LPSTR, pszSrc: LPCSTR, cchMax: UINT, dwFlags: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCompactPathExA".} proc PathCommonPrefix*(pszFile1: LPCSTR, pszFile2: LPCSTR, achPath: LPSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCommonPrefixA".} proc PathFindOnPath*(pszPath: LPSTR, ppszOtherDirs: ptr LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathFindOnPathA".} proc PathGetCharType*(ch: UCHAR): UINT {.winapi, stdcall, dynlib: "shlwapi", importc: "PathGetCharTypeA".} proc PathIsContentType*(pszPath: LPCSTR, pszContentType: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathIsContentTypeA".} proc PathMakePretty*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMakePrettyA".} proc PathMatchSpec*(pszFile: LPCSTR, pszSpec: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathMatchSpecA".} proc PathParseIconLocation*(pszIconFile: LPSTR): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "PathParseIconLocationA".} proc PathQuoteSpaces*(lpsz: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathQuoteSpacesA".} proc PathRelativePathTo*(pszPath: LPSTR, pszFrom: LPCSTR, dwAttrFrom: DWORD, pszTo: LPCSTR, dwAttrTo: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRelativePathToA".} proc PathRemoveArgs*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveArgsA".} proc PathRemoveBlanks*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveBlanksA".} proc PathRemoveExtension*(pszPath: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveExtensionA".} proc PathRemoveFileSpec*(pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRemoveFileSpecA".} proc PathRenameExtension*(pszPath: LPSTR, pszExt: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathRenameExtensionA".} proc PathSearchAndQualify*(pszPath: LPCSTR, pszBuf: LPSTR, cchBuf: UINT): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSearchAndQualifyA".} proc PathSetDlgItemPath*(hDlg: HWND, id: int32, pszPath: LPCSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathSetDlgItemPathA".} proc PathUnquoteSpaces*(lpsz: LPSTR): void {.winapi, stdcall, dynlib: "shlwapi", importc: "PathUnquoteSpacesA".} proc UrlCompare*(psz1: LPCSTR, psz2: LPCSTR, fIgnoreSlash: WINBOOL): int32 {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCompareA".} proc UrlCombine*(pszBase: LPCSTR, pszRelative: LPCSTR, pszCombined: LPSTR, pcchCombined: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCombineA".} proc UrlCanonicalize*(pszUrl: LPCSTR, pszCanonicalized: LPSTR, pcchCanonicalized: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCanonicalizeA".} proc UrlIsOpaque*(pszURL: LPCSTR): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlIsOpaqueA".} proc UrlGetLocation*(psz1: LPCSTR): LPCSTR {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlGetLocationA".} proc UrlUnescape*(pszUrl: LPSTR, pszUnescaped: LPSTR, pcchUnescaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlUnescapeA".} proc UrlEscape*(pszUrl: LPCSTR, pszEscaped: LPSTR, pcchEscaped: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlEscapeA".} proc UrlCreateFromPath*(pszPath: LPCSTR, pszUrl: LPSTR, pcchUrl: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlCreateFromPathA".} proc PathCreateFromUrl*(pszUrl: LPCSTR, pszPath: LPSTR, pcchPath: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "PathCreateFromUrlA".} proc UrlHash*(pszUrl: LPCSTR, pbHash: LPBYTE, cbHash: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlHashA".} proc UrlGetPart*(pszIn: LPCSTR, pszOut: LPSTR, pcchOut: LPDWORD, dwPart: DWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlGetPartA".} proc UrlApplyScheme*(pszIn: LPCSTR, pszOut: LPSTR, pcchOut: LPDWORD, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlApplySchemeA".} proc UrlIs*(pszUrl: LPCSTR, UrlIs: TURLIS): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "UrlIsA".} proc SHDeleteEmptyKey*(hkey: HKEY, pszSubKey: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteEmptyKeyA".} proc SHDeleteKey*(hkey: HKEY, pszSubKey: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteKeyA".} proc SHDeleteValue*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHDeleteValueA".} proc SHGetValue*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHGetValueA".} proc SHSetValue*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, dwType: DWORD, pvData: LPCVOID, cbData: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHSetValueA".} proc SHRegGetValue*(hkey: HKEY, pszSubKey: LPCSTR, pszValue: LPCSTR, dwFlags: SRRF, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetValueA".} proc SHQueryValueEx*(hkey: HKEY, pszValue: LPCSTR, pdwReserved: ptr DWORD, pdwType: ptr DWORD, pvData: pointer, pcbData: ptr DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHQueryValueExA".} proc SHEnumKeyEx*(hkey: HKEY, dwIndex: DWORD, pszName: LPSTR, pcchName: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHEnumKeyExA".} proc SHEnumValue*(hkey: HKEY, dwIndex: DWORD, pszValueName: LPSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHEnumValueA".} proc SHQueryInfoKey*(hkey: HKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHQueryInfoKeyA".} proc SHCopyKey*(hkeySrc: HKEY, szSrcSubKey: LPCSTR, hkeyDest: HKEY, fReserved: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHCopyKeyA".} proc SHRegGetPath*(hKey: HKEY, pcszSubKey: LPCSTR, pcszValue: LPCSTR, pszPath: LPSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetPathA".} proc SHRegSetPath*(hKey: HKEY, pcszSubKey: LPCSTR, pcszValue: LPCSTR, pcszPath: LPCSTR, dwFlags: DWORD): DWORD {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegSetPathA".} proc SHRegCreateUSKey*(pszPath: LPCSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegCreateUSKeyA".} proc SHRegOpenUSKey*(pszPath: LPCSTR, samDesired: REGSAM, hRelativeUSKey: HUSKEY, phNewUSKey: PHUSKEY, fIgnoreHKCU: WINBOOL): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegOpenUSKeyA".} proc SHRegQueryUSValue*(hUSKey: HUSKEY, pszValue: LPCSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegQueryUSValueA".} proc SHRegWriteUSValue*(hUSKey: HUSKEY, pszValue: LPCSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegWriteUSValueA".} proc SHRegDeleteUSValue*(hUSKey: HUSKEY, pszValue: LPCSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegDeleteUSValueA".} proc SHRegDeleteEmptyUSKey*(hUSKey: HUSKEY, pszSubKey: LPCSTR, delRegFlags: SHREGDEL_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegDeleteEmptyUSKeyA".} proc SHRegEnumUSKey*(hUSKey: HUSKEY, dwIndex: DWORD, pszName: LPSTR, pcchName: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegEnumUSKeyA".} proc SHRegEnumUSValue*(hUSkey: HUSKEY, dwIndex: DWORD, pszValueName: LPSTR, pcchValueName: LPDWORD, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegEnumUSValueA".} proc SHRegQueryInfoUSKey*(hUSKey: HUSKEY, pcSubKeys: LPDWORD, pcchMaxSubKeyLen: LPDWORD, pcValues: LPDWORD, pcchMaxValueNameLen: LPDWORD, enumRegFlags: SHREGENUM_FLAGS): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegQueryInfoUSKeyA".} proc SHRegGetUSValue*(pszSubKey: LPCSTR, pszValue: LPCSTR, pdwType: LPDWORD, pvData: pointer, pcbData: LPDWORD, fIgnoreHKCU: WINBOOL, pvDefaultData: pointer, dwDefaultDataSize: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetUSValueA".} proc SHRegSetUSValue*(pszSubKey: LPCSTR, pszValue: LPCSTR, dwType: DWORD, pvData: pointer, cbData: DWORD, dwFlags: DWORD): LONG {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegSetUSValueA".} proc SHRegGetBoolUSValue*(pszSubKey: LPCSTR, pszValue: LPCSTR, fIgnoreHKCU: WINBOOL, fDefault: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shlwapi", importc: "SHRegGetBoolUSValueA".} proc AssocQueryString*(flags: ASSOCF, str: ASSOCSTR, pszAssoc: LPCSTR, pszExtra: LPCSTR, pszOut: LPSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryStringA".} proc AssocQueryStringByKey*(flags: ASSOCF, str: ASSOCSTR, hkAssoc: HKEY, pszExtra: LPCSTR, pszOut: LPSTR, pcchOut: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryStringByKeyA".} proc AssocQueryKey*(flags: ASSOCF, key: ASSOCKEY, pszAssoc: LPCSTR, pszExtra: LPCSTR, phkeyOut: ptr HKEY): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "AssocQueryKeyA".} proc SHOpenRegStream2*(hkey: HKEY, pszSubkey: LPCSTR, pszValue: LPCSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc: "SHOpenRegStream2A".} proc SHCreateStreamOnFile*(pszFile: LPCSTR, grfMode: DWORD, ppstm: ptr ptr IStream): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "SHCreateStreamOnFileA".} proc SHOpenRegStream*(hkey: HKEY, pszSubkey: LPCSTR, pszValue: LPCSTR, grfMode: DWORD): ptr IStream {.winapi, stdcall, dynlib: "shlwapi", importc: "SHOpenRegStream2A".} proc GetAcceptLanguages*(psz: LPSTR, pcch: ptr DWORD): HRESULT {.winapi, stdcall, dynlib: "shlwapi", importc: "GetAcceptLanguagesA".} proc SHGetIconOverlayIndex*(pszIconPath: LPCSTR, iIconIndex: int32): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHGetIconOverlayIndexA".} proc ILCreateFromPath*(pszPath: PCSTR): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc: "ILCreateFromPathA".} proc SHGetPathFromIDList*(pidl: PCIDLIST_ABSOLUTE, pszPath: LPSTR): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetPathFromIDListA".} proc SHCreateDirectoryEx*(hwnd: HWND, pszPath: LPCSTR, psa: ptr SECURITY_ATTRIBUTES): int32 {.winapi, stdcall, dynlib: "shell32", importc: "SHCreateDirectoryExA".} proc SHGetSpecialFolderPath*(hwnd: HWND, pszPath: LPSTR, csidl: int32, fCreate: WINBOOL): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "SHGetSpecialFolderPathA".} proc SHGetFolderPath*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFolderPathA".} proc SHSetFolderPath*(csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszPath: LPCSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHSetFolderPathA".} proc SHGetFolderPathAndSubDir*(hwnd: HWND, csidl: int32, hToken: HANDLE, dwFlags: DWORD, pszSubDir: LPCSTR, pszPath: LPSTR): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetFolderPathAndSubDirA".} proc SHBrowseForFolder*(lpbi: LPBROWSEINFOA): PIDLIST_ABSOLUTE {.winapi, stdcall, dynlib: "shell32", importc: "SHBrowseForFolderA".} proc SHUpdateImage*(pszHashItem: LPCSTR, iIndex: int32, uFlags: UINT, iImageIndex: int32): void {.winapi, stdcall, dynlib: "shell32", importc: "SHUpdateImageA".} proc SHGetDataFromIDList*(psf: ptr IShellFolder, pidl: PCUITEMID_CHILD, nFormat: int32, pv: pointer, cb: int32): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHGetDataFromIDListA".} proc PathIsSlow*(pszFile: LPCSTR, dwAttr: DWORD): WINBOOL {.winapi, stdcall, dynlib: "shell32", importc: "PathIsSlowA".} proc SHDefExtractIcon*(pszIconFile: LPCSTR, iIndex: int32, uFlags: UINT, phiconLarge: ptr HICON, phiconSmall: ptr HICON, nIconSize: UINT): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHDefExtractIconA".} proc Shell_GetCachedImageIndex*(pszIconPath: LPCSTR, iIconIndex: int32, uIconFlags: UINT): int32 {.winapi, stdcall, dynlib: "shell32", importc: "Shell_GetCachedImageIndexA".} proc SHPathPrepareForWrite*(hwnd: HWND, punkEnableModless: ptr IUnknown, pszPath: LPCSTR, dwFlags: DWORD): HRESULT {.winapi, stdcall, dynlib: "shell32", importc: "SHPathPrepareForWriteA".}