shobjidl.idl revision 4b9d6701570cb98fd36e209314239d104ec584d3
af062818b47340eef15700d2f0211576ba3506eevboxsync * COM interfaces for shell objects
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 1999 Juergen Schmied
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 2003 Alexandre Julliard
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "objidl.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "oleidl.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "oaidl.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "docobj.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "shtypes.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "servprov.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "comcat.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "propidl.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: import "prsht.idl";*/
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "msxml.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "wtypes.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: import "propsys.idl"; */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* FIXME: import "structuredquery.idl"; */
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IPersistFolder interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IPersistFolder2 interface
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*****************************************************************************
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * IPersistIDList interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IEnumIDList interface
af062818b47340eef15700d2f0211576ba3506eevboxsync [out, size_is(celt), length_is(*pceltFetched)] LPITEMIDLIST *rgelt,
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellPropSheetExt interface
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellFolder interface
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_HASPROPSHEET 0x00000040L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_CAPABILITYMASK 0x00000177L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_DISPLAYATTRMASK 0x000FC000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_FILESYSANCESTOR 0x10000000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_HASSUBFOLDER 0x80000000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_CONTENTSMASK 0x80000000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_NONENUMERATED 0x00100000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IEnumExtraSearch interface
af062818b47340eef15700d2f0211576ba3506eevboxsync *WCHAR wszMenuText[80];
af062818b47340eef15700d2f0211576ba3506eevboxsync *WCHAR wszHelpText[MAX_PATH];
af062818b47340eef15700d2f0211576ba3506eevboxsync *WCHAR wszIcon[MAX_PATH+10];
af062818b47340eef15700d2f0211576ba3506eevboxsync *WCHAR wszGreyIcon[MAX_PATH+10];
af062818b47340eef15700d2f0211576ba3506eevboxsync *WCHAR wszClrIcon[MAX_PATH+10];
af062818b47340eef15700d2f0211576ba3506eevboxsync [out, size_is(celt), length_is(*pceltFetched)] EXTRASEARCH *rgelt,
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellFolder2 interface
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDefaultSearchGUID( [out] GUID *lpguid );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid );
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*****************************************************************************
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * IShellItem interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * FOLDERSETTINGS
af062818b47340eef15700d2f0211576ba3506eevboxsync} FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellView interface
af062818b47340eef15700d2f0211576ba3506eevboxsync cpp_quote("#define SVSI_DESELECTOTHERS 0x00000004")
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetCurrentInfo( [out] LPFOLDERSETTINGS lpfs );
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync/*****************************************************************************
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync * IFolderView interface
ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2vboxsync HRESULT GetFolder( [in] REFIID riid, [out, iid_is(riid)] void **ppv );
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellBrowser interface
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000")
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetStatusTextSB( [in, unique] LPCOLESTR pszStatusText );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryActiveShellView( [out] IShellView **ppshv );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnViewWindowActive( [in] IShellView *pshv );
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellLinkA interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellLinkW interface
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetWorkingDirectory( [in] LPCWSTR pszDir );
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IShellLink WINELIB_NAME_AW(IShellLink)")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellExtInit interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*******************************************************************************/
af062818b47340eef15700d2f0211576ba3506eevboxsync/* Note: the following interfaces are not in shobjidl.idl under Windows, they */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* are declared directly in shlobj.h. It hopefully won't break anything to put */
af062818b47340eef15700d2f0211576ba3506eevboxsync/* them here anyway. */
af062818b47340eef15700d2f0211576ba3506eevboxsync/*******************************************************************************/
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IPersistFolder3 interface
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti );
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IExtractIconA interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IExtractIconW interface
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * ICommDlgBrowser interface
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange );
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl );
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IDockingWindowFrame interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IDragSourceHelper interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IDropTargetHelper interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IContextMenu interface
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_NEWFOLDERW L\"NewFolder\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_VIEWLISTW L\"ViewList\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS")
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici );
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IContextMenu2 interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IContextMenu3 interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellExecuteHookA interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellExecuteHookW interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellLinkDataList interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IResolveShellLink interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IURLSearchHook interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * ISearchContext interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IURLSearchHook2 interface
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define INewShortcutHook WINELIB_NAME_AW(INewShortcutHook)")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * INewShortcutHookA interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * INewShortcutHookW interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IRunnableTask interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IShellChangeNotify interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IFileSystemBindData interface
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * ITaskbarList interface
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsynccpp_quote("EXTERN_C const CLSID CLSID_TaskbarList;")
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IAutoCompleteDropDown interface