mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 00:53:37 +00:00
![Myah Caron](/assets/img/avatar_default.png)
Signed-off-by: Myah Caron <qsniyg@protonmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
844 lines
20 KiB
Plaintext
844 lines
20 KiB
Plaintext
/*
|
|
* COM interfaces for shell objects
|
|
*
|
|
* Copyright (C) 2004 Maxime Bellengé
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
import "ocidl.idl";
|
|
|
|
#include <shdispid.h>
|
|
|
|
cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
|
|
cpp_quote("#undef ShellExecute")
|
|
cpp_quote("#endif")
|
|
|
|
/*****************************************************************************
|
|
* IEnumACString interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a),
|
|
pointer_default(unique)
|
|
]
|
|
interface IEnumACString : IEnumString
|
|
{
|
|
typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING;
|
|
|
|
typedef enum _tagACENUMOPTION
|
|
{
|
|
ACEO_NONE = 0x00000000,
|
|
ACEO_MOSTRECENTFIRST = 0x00000001,
|
|
ACEO_FIRSTUNUSED = 0x00010000,
|
|
} ACENUMOPTION;
|
|
|
|
HRESULT NextItem( [out] LPWSTR pszUrl,
|
|
[in] ULONG cchMax,
|
|
[out] ULONG *pulSortIndex);
|
|
|
|
HRESULT SetEnumOptions( [in] DWORD dwOptions );
|
|
|
|
HRESULT GetEnumOptions( [out] DWORD *pdwOptions );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* IAutoComplete interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
|
|
pointer_default(unique)
|
|
]
|
|
interface IAutoComplete : IUnknown
|
|
{
|
|
typedef IAutoComplete *LPAUTOCOMPLETE;
|
|
|
|
HRESULT Init( [in] HWND hwndEdit,
|
|
[in] IUnknown *punkACL,
|
|
[in] LPCOLESTR pwszRegKeyPath,
|
|
[in] LPCOLESTR pwszQuickComplete);
|
|
|
|
HRESULT Enable( [in] BOOL fEnable );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* IAutoComplete2 interface
|
|
*/
|
|
[
|
|
local,
|
|
object,
|
|
uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
|
|
pointer_default(unique)
|
|
]
|
|
interface IAutoComplete2 : IAutoComplete
|
|
{
|
|
typedef IAutoComplete2 *LPAUTOCOMPLETE2;
|
|
|
|
typedef enum _tagAUTOCOMPLETEOPTIONS
|
|
{
|
|
ACO_NONE = 0x00, /* No AutoComplete */
|
|
ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
|
|
ACO_AUTOAPPEND = 0x02, /* enable autoappend */
|
|
ACO_SEARCH = 0x04, /* add search entry to completion list */
|
|
ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
|
|
ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
|
|
ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
|
|
ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
|
|
ACO_WORD_FILTER = 0x80, /* treat the autocompleted suggestion as a phrase for search purposes */
|
|
ACO_NOPREFIXFILTERING = 0x100, /* always display all suggestions */
|
|
} AUTOCOMPLETEOPTIONS;
|
|
|
|
HRESULT SetOptions( [in] DWORD dwFlag);
|
|
|
|
HRESULT GetOptions( [out] DWORD *pdwFlag);
|
|
}
|
|
|
|
[
|
|
uuid(50a7e9b0-70ef-11d1-b75a-00a0c90564fe),
|
|
version(1.0)
|
|
]
|
|
library Shell32
|
|
{
|
|
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
object,
|
|
oleautomation,
|
|
uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
|
|
pointer_default(unique)
|
|
]
|
|
interface IFolderViewOC : IDispatch
|
|
{
|
|
HRESULT SetFolderView( [in] IDispatch *pdisp );
|
|
}
|
|
|
|
[
|
|
uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
|
|
]
|
|
dispinterface DShellFolderViewEvents
|
|
{
|
|
properties:
|
|
methods:
|
|
[id(DISPID_SELECTIONCHANGED)]
|
|
void SelectionChanged();
|
|
|
|
[id(DISPID_FILELISTENUMDONE)]
|
|
void EnumDone();
|
|
|
|
[id(DISPID_VERBINVOKED)]
|
|
VARIANT_BOOL VerbInvoked();
|
|
|
|
[id(DISPID_DEFAULTVERBINVOKED)]
|
|
VARIANT_BOOL DefaultVerbInvoked();
|
|
|
|
[id(DISPID_BEGINDRAG)]
|
|
VARIANT_BOOL BeginDrag();
|
|
}
|
|
|
|
[
|
|
uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
|
|
hidden
|
|
]
|
|
coclass ShellFolderViewOC
|
|
{
|
|
[default] interface IFolderViewOC;
|
|
[default, source] dispinterface DShellFolderViewEvents;
|
|
}
|
|
|
|
interface FolderItem;
|
|
interface FolderItems;
|
|
interface FolderItemVerb;
|
|
interface FolderItemVerbs;
|
|
|
|
/*****************************************************************************
|
|
* Folder interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(bbcbde60-c3ff-11ce-8350-444553540000),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface Folder : IDispatch
|
|
{
|
|
[propget, id(DISPID_VALUE)]
|
|
HRESULT Title( [out, retval] BSTR *pbs );
|
|
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT ParentFolder( [out, retval] Folder **ppsf );
|
|
|
|
HRESULT Items( [out, retval] FolderItems **ppid );
|
|
|
|
HRESULT ParseName( [in] BSTR bName, [out, retval] FolderItem **ppid );
|
|
|
|
HRESULT NewFolder( [in] BSTR bName, [in, optional] VARIANT vOptions );
|
|
|
|
HRESULT MoveHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
|
|
|
|
HRESULT CopyHere( [in] VARIANT vItem, [in, optional] VARIANT vOptions );
|
|
|
|
HRESULT GetDetailsOf( [in] VARIANT vItem,
|
|
[in] int iColumn,
|
|
[out, retval] BSTR *pbs );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* Folder2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(f0d2d8ef-3890-11d2-bf8b-00c04fb93661),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface Folder2 : Folder
|
|
{
|
|
[propget]
|
|
HRESULT Self( [out, retval] FolderItem **ppfi );
|
|
|
|
[propget]
|
|
HRESULT OfflineStatus( [out, retval] LONG *pul );
|
|
|
|
HRESULT Synchronize();
|
|
|
|
[propget, id(1)]
|
|
HRESULT HaveToShowWebViewBarricade(
|
|
[out, retval] VARIANT_BOOL *pbHaveToShowWebViewBarricade );
|
|
|
|
HRESULT DismissedWebViewBarricade();
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* Folder3 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(a7ae5f64-c4d7-4d7f-9307-4d24ee54b841),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface Folder3 : Folder2
|
|
{
|
|
[propget, id(2)]
|
|
HRESULT ShowWebViewBarricade(
|
|
[out, retval] VARIANT_BOOL *pbShowWebViewBarricade );
|
|
|
|
[propput, id(2)]
|
|
HRESULT ShowWebViewBarricade( [in] VARIANT_BOOL bShowWebViewBarricade );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItem interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(fac32c80-cbe4-11ce-8350-444553540000),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItem : IDispatch
|
|
{
|
|
typedef FolderItem *LPFOLDERITEM;
|
|
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
[propget, id(DISPID_VALUE)]
|
|
HRESULT Name( [out, retval] BSTR *pbs );
|
|
|
|
[propput, id(DISPID_VALUE)]
|
|
HRESULT Name( [in] BSTR bs );
|
|
|
|
[propget]
|
|
HRESULT Path( [out, retval] BSTR *pbs );
|
|
|
|
[propget]
|
|
HRESULT GetLink( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT GetFolder( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT IsLink( [out, retval] VARIANT_BOOL *pb );
|
|
|
|
[propget]
|
|
HRESULT IsFolder( [out, retval] VARIANT_BOOL *pb );
|
|
|
|
[propget]
|
|
HRESULT IsFileSystem( [out, retval] VARIANT_BOOL *pb );
|
|
|
|
[propget]
|
|
HRESULT IsBrowsable( [out, retval] VARIANT_BOOL *pb );
|
|
|
|
[propget]
|
|
HRESULT ModifyDate( [out, retval] DATE *pdt );
|
|
|
|
[propput]
|
|
HRESULT ModifyDate( [in] DATE dt );
|
|
|
|
[propget]
|
|
HRESULT Size( [out, retval] LONG *pul );
|
|
|
|
[propget]
|
|
HRESULT Type( [out, retval] BSTR *pbs );
|
|
|
|
HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
|
|
|
|
HRESULT InvokeVerb( [in, optional] VARIANT vVerb );
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(edc817aa-92b8-11d1-b075-00c04fc33aa5),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItem2 : FolderItem
|
|
{
|
|
HRESULT InvokeVerbEx([in, optional] VARIANT verb, [in, optional] VARIANT args);
|
|
HRESULT ExtendedProperty([in] BSTR propname, [out, retval] VARIANT *ret);
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItems interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(744129e0-cbe5-11ce-8350-444553540000),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItems : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT Count( [out, retval] long *plCount );
|
|
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
HRESULT Item( [in, optional] VARIANT index,
|
|
[out, retval] FolderItem **ppid );
|
|
|
|
[id(DISPID_NEWENUM)]
|
|
HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItems2 interface
|
|
*/
|
|
[
|
|
uuid(c94f0ad0-f363-11d2-a327-00c04f8eec7f),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItems2 : FolderItems
|
|
{
|
|
HRESULT InvokeVerbEx( [in, optional] VARIANT verb,
|
|
[in, optional] VARIANT args );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItems3 interface
|
|
*/
|
|
[
|
|
uuid(eaa7c309-bbec-49d5-821d-64d966cb667f),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItems3 : FolderItems2
|
|
{
|
|
HRESULT Filter( [in] long flags, [in] BSTR spec );
|
|
|
|
[id(0), propget]
|
|
HRESULT Verbs( [out, retval] FolderItemVerbs **ppfic );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItemVerb interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(08ec3e00-50b0-11cf-960c-0080c7f4ee85),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItemVerb : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
[propget, id(DISPID_VALUE)]
|
|
HRESULT Name( [out, retval] BSTR *pbs );
|
|
|
|
HRESULT DoIt();
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* FolderItemVerbs interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(1f8352c0-50b0-11cf-960c-0080c7f4ee85),
|
|
oleautomation,
|
|
dual
|
|
]
|
|
interface FolderItemVerbs : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT Count( [out, retval] long *plCount );
|
|
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
HRESULT Item( [in, optional] VARIANT index,
|
|
[out, retval] FolderItemVerb **ppid );
|
|
|
|
[id(DISPID_NEWENUM)]
|
|
HRESULT _NewEnum( [out, retval] IUnknown **ppunk );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* IShellDispatch interface
|
|
*/
|
|
[
|
|
uuid(d8f015c0-c278-11ce-a49e-444553540000),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellDispatch : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT Application( [out, retval] IDispatch **ppid );
|
|
|
|
[propget]
|
|
HRESULT Parent( [out, retval] IDispatch **ppid );
|
|
|
|
HRESULT NameSpace( [in] VARIANT vDir, [out, retval] Folder **ppsdf );
|
|
|
|
HRESULT BrowseForFolder( [in] long Hwnd,
|
|
[in] BSTR Title,
|
|
[in] long Options,
|
|
[in, optional] VARIANT RootFolder,
|
|
[out, retval] Folder **ppsdf );
|
|
|
|
HRESULT Windows( [out, retval] IDispatch **ppid );
|
|
|
|
HRESULT Open( [in] VARIANT vDir );
|
|
|
|
HRESULT Explore( [in] VARIANT vDir );
|
|
|
|
HRESULT MinimizeAll();
|
|
|
|
HRESULT UndoMinimizeALL();
|
|
|
|
HRESULT FileRun();
|
|
|
|
HRESULT CascadeWindows();
|
|
|
|
HRESULT TileVertically();
|
|
|
|
HRESULT TileHorizontally();
|
|
|
|
HRESULT ShutdownWindows();
|
|
|
|
HRESULT Suspend();
|
|
|
|
HRESULT EjectPC();
|
|
|
|
HRESULT SetTime();
|
|
|
|
HRESULT TrayProperties();
|
|
|
|
HRESULT Help();
|
|
|
|
HRESULT FindFiles();
|
|
|
|
HRESULT FindComputer();
|
|
|
|
HRESULT RefreshMenu();
|
|
|
|
HRESULT ControlPanelItem( [in] BSTR szDir );
|
|
}
|
|
|
|
[
|
|
uuid(a4c6892c-3ba9-11d2-9dea-00c04fb16162),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellDispatch2 : IShellDispatch
|
|
{
|
|
HRESULT IsRestricted([in] BSTR group, [in] BSTR restriction, [out, retval] long *value);
|
|
HRESULT ShellExecute([in] BSTR file, [in, optional] VARIANT args, [in, optional] VARIANT dir,
|
|
[in, optional] VARIANT op, [in, optional] VARIANT show);
|
|
HRESULT FindPrinter([in, optional] BSTR name, [in, optional] BSTR location, [in, optional] BSTR model);
|
|
HRESULT GetSystemInformation([in] BSTR name, [out, retval] VARIANT *ret);
|
|
HRESULT ServiceStart([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret);
|
|
HRESULT ServiceStop([in] BSTR service, [in] VARIANT persistent, [out, retval] VARIANT *ret);
|
|
HRESULT IsServiceRunning([in] BSTR service, [out, retval] VARIANT *running);
|
|
HRESULT CanStartStopService([in] BSTR service, [out, retval] VARIANT *ret);
|
|
HRESULT ShowBrowserBar([in] BSTR clsid, [in] VARIANT show, [out, retval] VARIANT *ret);
|
|
}
|
|
|
|
[
|
|
uuid(177160ca-bb5a-411c-841d-bd38facdeaa0),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellDispatch3 : IShellDispatch2
|
|
{
|
|
HRESULT AddToRecent([in] VARIANT file, [in, optional] BSTR category);
|
|
}
|
|
|
|
[
|
|
uuid(efd84b2d-4bcf-4298-be25-eb542a59fbda),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellDispatch4 : IShellDispatch3
|
|
{
|
|
HRESULT WindowsSecurity();
|
|
HRESULT ToggleDesktop();
|
|
HRESULT ExplorerPolicy([in] BSTR policy, [out, retval] VARIANT *value);
|
|
HRESULT GetSetting([in] long setting, [out,retval] VARIANT_BOOL *result);
|
|
}
|
|
|
|
[
|
|
uuid(866738b9-6cf2-4de8-8767-f794ebe74f4e),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellDispatch5 : IShellDispatch4
|
|
{
|
|
HRESULT WindowSwitcher();
|
|
}
|
|
|
|
[
|
|
uuid(286e6f1b-7113-4355-9562-96b7e9d64c54),
|
|
oleautomation,
|
|
hidden,
|
|
dual,
|
|
]
|
|
interface IShellDispatch6 : IShellDispatch5
|
|
{
|
|
HRESULT SearchCommand(void);
|
|
}
|
|
|
|
[
|
|
uuid(13709620-c279-11ce-a49e-444553540000)
|
|
]
|
|
coclass Shell
|
|
{
|
|
[default] interface IShellDispatch6;
|
|
}
|
|
|
|
[
|
|
uuid(0a89a860-d7b1-11ce-8350-444553540000),
|
|
hidden
|
|
]
|
|
coclass ShellDispatchInproc
|
|
{
|
|
interface IUnknown;
|
|
}
|
|
|
|
typedef
|
|
[
|
|
uuid(ca31ea20-48d0-11cf-8350-444553540000)
|
|
]
|
|
enum ShellSpecialFolderConstants {
|
|
ssfDESKTOP = 0x00,
|
|
ssfPROGRAMS = 0x02,
|
|
ssfCONTROLS = 0x03,
|
|
ssfPRINTERS = 0x04,
|
|
ssfPERSONAL = 0x05,
|
|
ssfFAVORITES = 0x06,
|
|
ssfSTARTUP = 0x07,
|
|
ssfRECENT = 0x08,
|
|
ssfSENDTO = 0x09,
|
|
ssfBITBUCKET = 0x0a,
|
|
ssfSTARTMENU = 0x0b,
|
|
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
|
|
} ShellSpecialFolderConstants;
|
|
|
|
/*****************************************************************************
|
|
* IShellFolderViewDual interface
|
|
*/
|
|
typedef
|
|
[
|
|
uuid(742a99a0-c77e-11d0-a32c-00a0c91eedba)
|
|
]
|
|
enum ShellFolderViewOptions
|
|
{
|
|
SFVVO_SHOWALLOBJECTS = 0x00000001,
|
|
SFVVO_SHOWEXTENSIONS = 0x00000002,
|
|
SFVVO_SHOWCOMPCOLOR = 0x00000008,
|
|
SFVVO_SHOWSYSFILES = 0x00000020,
|
|
SFVVO_WIN95CLASSIC = 0x00000040,
|
|
SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080,
|
|
SFVVO_DESKTOPHTML = 0x00000200
|
|
} ShellFolderViewOptions;
|
|
|
|
[
|
|
uuid(e7a1af80-4d96-11cf-960c-0080c7f4ee85),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellFolderViewDual : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT Application([out, retval] IDispatch **app);
|
|
|
|
[propget]
|
|
HRESULT Parent([out, retval] IDispatch **parent);
|
|
|
|
[propget]
|
|
HRESULT Folder([out, retval] Folder **folder);
|
|
|
|
HRESULT SelectedItems([out, retval] FolderItems **items);
|
|
|
|
[propget]
|
|
HRESULT FocusedItem([out, retval] FolderItem **item);
|
|
|
|
HRESULT SelectItem([in] VARIANT *item, [in] int flags);
|
|
|
|
HRESULT PopupItemMenu([in] FolderItem *item,
|
|
[in, optional] VARIANT vx,
|
|
[in, optional] VARIANT vy,
|
|
[out, retval] BSTR *command);
|
|
[propget]
|
|
HRESULT Script([out, retval] IDispatch **script);
|
|
|
|
[propget]
|
|
HRESULT ViewOptions([out, retval] long *options);
|
|
}
|
|
|
|
[
|
|
uuid(31c147b6-0ade-4a3c-b514-ddf932ef6d17),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellFolderViewDual2 : IShellFolderViewDual
|
|
{
|
|
[propget]
|
|
HRESULT CurrentViewMode([out, retval] UINT *mode);
|
|
|
|
[propput]
|
|
HRESULT CurrentViewMode([in] UINT mode);
|
|
|
|
HRESULT SelectItemRelative([in] int relative);
|
|
}
|
|
|
|
[
|
|
uuid(29ec8e6c-46d3-411f-baaa-611a6c9cac66),
|
|
oleautomation,
|
|
hidden,
|
|
dual
|
|
]
|
|
interface IShellFolderViewDual3 : IShellFolderViewDual2
|
|
{
|
|
[propget]
|
|
HRESULT GroupBy([out, retval] BSTR *groupby);
|
|
|
|
[propput]
|
|
HRESULT GroupBy([in] BSTR groupby);
|
|
|
|
[propget]
|
|
HRESULT FolderFlags([out, retval] DWORD *flags);
|
|
|
|
[propput]
|
|
HRESULT FolderFlags([in] DWORD flags);
|
|
|
|
[propget]
|
|
HRESULT SortColumns([out, retval] BSTR *sortcolumns);
|
|
|
|
[propput]
|
|
HRESULT SortColumns([in] BSTR sortcolumns);
|
|
|
|
[propput]
|
|
HRESULT IconSize([in] int icon_size);
|
|
|
|
[propget]
|
|
HRESULT IconSize([out, retval] int *icon_size);
|
|
|
|
HRESULT FilterView([in, unique] BSTR filter_text);
|
|
}
|
|
|
|
[
|
|
uuid(62112aa1-ebe4-11cf-a5fb-0020afe7292d)
|
|
]
|
|
coclass ShellFolderView
|
|
{
|
|
[default] interface IShellFolderViewDual3;
|
|
[default, source] dispinterface DShellFolderViewEvents;
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* IShellLinkDual interface
|
|
*/
|
|
[
|
|
uuid (88a05c00-f000-11ce-8350-444553540000),
|
|
oleautomation,
|
|
dual,
|
|
hidden
|
|
]
|
|
interface IShellLinkDual : IDispatch {
|
|
[propget]
|
|
HRESULT Path ([out, retval] BSTR *pbs);
|
|
|
|
[propput]
|
|
HRESULT Path ([in] BSTR bs);
|
|
|
|
[propget]
|
|
HRESULT Description ([out, retval] BSTR *pbs);
|
|
|
|
[propput]
|
|
HRESULT Description ([in] BSTR bs);
|
|
|
|
[propget]
|
|
HRESULT WorkingDirectory ([out, retval] BSTR *pbs);
|
|
|
|
[propput]
|
|
HRESULT WorkingDirectory ([in] BSTR bs);
|
|
|
|
[propget]
|
|
HRESULT Arguments ([out, retval] BSTR *pbs);
|
|
|
|
[propput]
|
|
HRESULT Arguments ([in] BSTR bs);
|
|
|
|
[propget]
|
|
HRESULT Hotkey ([out, retval] int *piHK);
|
|
|
|
[propput]
|
|
HRESULT Hotkey ([in] int iHK);
|
|
|
|
[propget]
|
|
HRESULT ShowCommand ([out, retval] int *piShowCommand);
|
|
|
|
[propput]
|
|
HRESULT ShowCommand ([in] int iShowCommand);
|
|
|
|
HRESULT Resolve ([in] int fFlags);
|
|
|
|
HRESULT GetIconLocation ([out] BSTR *pbs,
|
|
[out, retval] int *piIcon);
|
|
|
|
HRESULT SetIconLocation ([in] BSTR bs,
|
|
[in] int iIcon);
|
|
|
|
HRESULT Save ([in, optional] VARIANT vWhere);
|
|
}
|
|
|
|
[
|
|
uuid (317ee249-f12e-11d2-b1e4-00c04f8eeb3e),
|
|
oleautomation,
|
|
dual,
|
|
hidden
|
|
]
|
|
interface IShellLinkDual2 : IShellLinkDual {
|
|
[propget]
|
|
HRESULT Target ([out, retval] FolderItem **ppfi);
|
|
}
|
|
|
|
[
|
|
uuid (11219420-1768-11d1-95be-00609797ea4f),
|
|
noncreatable
|
|
]
|
|
coclass ShellLinkObject {
|
|
[default] interface IShellLinkDual2;
|
|
}
|
|
|
|
} /* library Shell32 */
|
|
|
|
/*****************************************************************************
|
|
* IAsyncOperation interface
|
|
*/
|
|
[
|
|
uuid(3d8b0590-f691-11d2-8ea9-006097df5bd4),
|
|
object,
|
|
]
|
|
|
|
interface IAsyncOperation : IUnknown
|
|
{
|
|
typedef [unique] IAsyncOperation *LPASYNCOPERATION;
|
|
|
|
HRESULT SetAsyncMode([in] BOOL fDoOpAsync);
|
|
|
|
HRESULT GetAsyncMode([out] BOOL *pfIsOpAsync);
|
|
|
|
HRESULT StartOperation([in, unique, optional] IBindCtx *pbcReserved);
|
|
|
|
HRESULT InOperation([out] BOOL *pfInAsyncOp);
|
|
|
|
HRESULT EndOperation(
|
|
[in] HRESULT hResult,
|
|
[in, unique] IBindCtx *pbcReserved,
|
|
[in] DWORD dwEffects);
|
|
}
|