|
@@ -0,0 +1,2725 @@
|
|
|
+/*
|
|
|
+* COM interfaces for shell objects
|
|
|
+*
|
|
|
+* Copyright (C) 1999 Juergen Schmied
|
|
|
+* Copyright (C) 2003 Alexandre Julliard
|
|
|
+*
|
|
|
+* 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 "objidl.idl";
|
|
|
+import "oleidl.idl";
|
|
|
+import "oaidl.idl";
|
|
|
+import "docobj.idl";
|
|
|
+import "shtypes.idl";
|
|
|
+import "servprov.idl";
|
|
|
+import "comcat.idl";
|
|
|
+import "propidl.idl";
|
|
|
+/* FIXME: import "prsht.idl";*/
|
|
|
+import "msxml.idl";
|
|
|
+import "wtypes.idl";
|
|
|
+/* FIXME: import "propsys.idl"; */
|
|
|
+/* FIXME: import "structuredquery.idl"; */
|
|
|
+
|
|
|
+cpp_quote( "/* FIXME: #include <sherrors.h> */" )
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IPersistFolder interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214ea-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IPersistFolder : IPersist
|
|
|
+{
|
|
|
+ typedef IPersistFolder *LPPERSISTFOLDER;
|
|
|
+
|
|
|
+ HRESULT Initialize( [ in ] LPCITEMIDLIST pidl );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IPersistFolder2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 1ac3d9f0-175c-11d1-95be-00609797ea4f ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IPersistFolder2 : IPersistFolder
|
|
|
+{
|
|
|
+ typedef IPersistFolder2 *LPPERSISTFOLDER2;
|
|
|
+
|
|
|
+ HRESULT GetCurFolder( [ out ] LPITEMIDLIST *ppidl );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IPersistIDList interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 1079acfc-29bd-11d3-8e0d-00c04f6837d5 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IPersistIDList : IPersist
|
|
|
+{
|
|
|
+ HRESULT SetIDList( [ in ] LPCITEMIDLIST pidl );
|
|
|
+ HRESULT GetIDList( [ out ] LPITEMIDLIST *ppidl );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IEnumIDList interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f2-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IEnumIDList : IUnknown
|
|
|
+{
|
|
|
+ typedef IEnumIDList *LPENUMIDLIST;
|
|
|
+
|
|
|
+ HRESULT Next(
|
|
|
+ [ in ] ULONG celt,
|
|
|
+ [ out, size_is( celt ), length_is( *pceltFetched ) ] LPITEMIDLIST *rgelt,
|
|
|
+ [ out ] ULONG *pceltFetched );
|
|
|
+
|
|
|
+ HRESULT Skip( [ in ] ULONG celt );
|
|
|
+ HRESULT Reset();
|
|
|
+ HRESULT Clone( [ out ] IEnumIDList **ppenum );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellPropSheetExt interface
|
|
|
+*/
|
|
|
+cpp_quote( "#if 0" )
|
|
|
+typedef LPARAM LPFNSVADDPROPSHEETPAGE;
|
|
|
+cpp_quote( "#else" )
|
|
|
+cpp_quote( "#include <prsht.h>" )
|
|
|
+cpp_quote( "typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;" )
|
|
|
+cpp_quote( "#endif" )
|
|
|
+
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214E9-0000-0000-C000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellPropSheetExt : IUnknown
|
|
|
+{
|
|
|
+ enum tagSHELLPROPSHEETEXTPAGEID
|
|
|
+ {
|
|
|
+ EXPPS_FILETYPES = 0x1
|
|
|
+ };
|
|
|
+
|
|
|
+ typedef UINT EXPPS;
|
|
|
+
|
|
|
+ HRESULT AddPages(
|
|
|
+ [ in ] LPFNSVADDPROPSHEETPAGE pfnAddPage,
|
|
|
+ [ in ] LPARAM lParam );
|
|
|
+ HRESULT ReplacePage(
|
|
|
+ [ in ] EXPPS uPageID,
|
|
|
+ [ in ] LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
|
|
|
+ [ in ] LPARAM lParam );
|
|
|
+}
|
|
|
+typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellFolder interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e6-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellFolder : IUnknown
|
|
|
+{
|
|
|
+ typedef IShellFolder * LPSHELLFOLDER;
|
|
|
+
|
|
|
+ typedef enum tagSHGDN
|
|
|
+ {
|
|
|
+ SHGDN_NORMAL = 0,
|
|
|
+ SHGDN_INFOLDER = 1,
|
|
|
+ SHGDN_FOREDITING = 0x1000,
|
|
|
+ SHGDN_INCLUDE_NONFILESYS = 0x2000,
|
|
|
+ SHGDN_FORADDRESSBAR = 0x4000,
|
|
|
+ SHGDN_FORPARSING = 0x8000
|
|
|
+ } SHGNO;
|
|
|
+
|
|
|
+ typedef DWORD SHGDNF;
|
|
|
+
|
|
|
+ enum tagSHCONTF
|
|
|
+ {
|
|
|
+ SHCONTF_FOLDERS = 32,
|
|
|
+ SHCONTF_NONFOLDERS = 64,
|
|
|
+ SHCONTF_INCLUDEHIDDEN = 128,
|
|
|
+ SHCONTF_INIT_ON_FIRST_NEXT = 256,
|
|
|
+ SHCONTF_NETPRINTERSRCH = 512,
|
|
|
+ SHCONTF_SHAREABLE = 1024,
|
|
|
+ SHCONTF_STORAGE = 2048
|
|
|
+ };
|
|
|
+
|
|
|
+ typedef DWORD SHCONTF;
|
|
|
+
|
|
|
+ cpp_quote( "#define SHCIDS_ALLFIELDS 0x80000000L" )
|
|
|
+ cpp_quote( "#define SHCIDS_CANONICALONLY 0x10000000L" )
|
|
|
+ cpp_quote( "#define SHCIDS_BITMASK 0xFFFF0000L" )
|
|
|
+ cpp_quote( "#define SHCIDS_COLUMNMASK 0x0000FFFFL" )
|
|
|
+ cpp_quote( "#define SFGAO_CANCOPY DROPEFFECT_COPY" )
|
|
|
+ cpp_quote( "#define SFGAO_CANMOVE DROPEFFECT_MOVE" )
|
|
|
+ cpp_quote( "#define SFGAO_CANLINK DROPEFFECT_LINK" )
|
|
|
+ cpp_quote( "#define SFGAO_STORAGE 0x00000008L" )
|
|
|
+ cpp_quote( "#define SFGAO_CANRENAME 0x00000010L" )
|
|
|
+ cpp_quote( "#define SFGAO_CANDELETE 0x00000020L" )
|
|
|
+ cpp_quote( "#define SFGAO_HASPROPSHEET 0x00000040L" )
|
|
|
+ cpp_quote( "#define SFGAO_DROPTARGET 0x00000100L" )
|
|
|
+ cpp_quote( "#define SFGAO_CAPABILITYMASK 0x00000177L" )
|
|
|
+ cpp_quote( "#define SFGAO_ENCRYPTED 0x00002000L" )
|
|
|
+ cpp_quote( "#define SFGAO_ISSLOW 0x00004000L" )
|
|
|
+ cpp_quote( "#define SFGAO_GHOSTED 0x00008000L" )
|
|
|
+ cpp_quote( "#define SFGAO_LINK 0x00010000L" )
|
|
|
+ cpp_quote( "#define SFGAO_SHARE 0x00020000L" )
|
|
|
+ cpp_quote( "#define SFGAO_READONLY 0x00040000L" )
|
|
|
+ cpp_quote( "#define SFGAO_HIDDEN 0x00080000L" )
|
|
|
+ cpp_quote( "#define SFGAO_DISPLAYATTRMASK 0x000FC000L" )
|
|
|
+ cpp_quote( "#define SFGAO_FILESYSANCESTOR 0x10000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_FOLDER 0x20000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_FILESYSTEM 0x40000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_HASSUBFOLDER 0x80000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_CONTENTSMASK 0x80000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_VALIDATE 0x01000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_REMOVABLE 0x02000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_COMPRESSED 0x04000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_BROWSABLE 0x08000000L" )
|
|
|
+ cpp_quote( "#define SFGAO_NONENUMERATED 0x00100000L" )
|
|
|
+ cpp_quote( "#define SFGAO_NEWCONTENT 0x00200000L" )
|
|
|
+ cpp_quote( "#define SFGAO_STREAM 0x00400000L" )
|
|
|
+ cpp_quote( "#define SFGAO_STORAGEANCESTOR 0x00800000L" )
|
|
|
+
|
|
|
+ typedef ULONG SFGAOF;
|
|
|
+
|
|
|
+ HRESULT ParseDisplayName(
|
|
|
+ [ in ] HWND hwndOwner,
|
|
|
+ [ in ] LPBC pbcReserved,
|
|
|
+ [ in, string ] LPOLESTR lpszDisplayName,
|
|
|
+ [ out ] ULONG *pchEaten,
|
|
|
+ [ out ] LPITEMIDLIST *ppidl,
|
|
|
+ [ in, out, unique ] ULONG *pdwAttributes );
|
|
|
+
|
|
|
+ HRESULT EnumObjects(
|
|
|
+ [ in ] HWND hwndOwner,
|
|
|
+ [ in ] SHCONTF grfFlags,
|
|
|
+ [ out ] IEnumIDList **ppenumIDList );
|
|
|
+
|
|
|
+ HRESULT BindToObject(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ in ] LPBC pbcReserved,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppvOut );
|
|
|
+
|
|
|
+ HRESULT BindToStorage(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ in ] LPBC pbcReserved,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppvObj );
|
|
|
+
|
|
|
+ HRESULT CompareIDs(
|
|
|
+ [ in ] LPARAM lParam,
|
|
|
+ [ in ] LPCITEMIDLIST pidl1,
|
|
|
+ [ in ] LPCITEMIDLIST pidl2 );
|
|
|
+
|
|
|
+ HRESULT CreateViewObject(
|
|
|
+ [ in ] HWND hwndOwner,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppvOut );
|
|
|
+
|
|
|
+ HRESULT GetAttributesOf(
|
|
|
+ [ in ] UINT cidl,
|
|
|
+ [ in, size_is( cidl ) ] LPCITEMIDLIST *apidl,
|
|
|
+ [ in, out ] SFGAOF *rgfInOut );
|
|
|
+
|
|
|
+ HRESULT GetUIObjectOf(
|
|
|
+ [ in ] HWND hwndOwner,
|
|
|
+ [ in ] UINT cidl,
|
|
|
+ [ in, size_is( cidl ) ] LPCITEMIDLIST *apidl,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ in, out, unique ] UINT *prgfInOut,
|
|
|
+ [ out, iid_is( riid ) ] void **ppvOut );
|
|
|
+
|
|
|
+ HRESULT GetDisplayNameOf(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ in ] SHGDNF uFlags,
|
|
|
+ [ out ] STRRET *lpName );
|
|
|
+
|
|
|
+ HRESULT SetNameOf(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ in, string ] LPCOLESTR lpszName,
|
|
|
+ [ in ] SHGDNF uFlags,
|
|
|
+ [ out ] LPITEMIDLIST *ppidlOut );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IEnumExtraSearch interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 0e700be1-9db6-11d1-a1ce-00c04fd75d13 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IEnumExtraSearch : IUnknown
|
|
|
+{
|
|
|
+ typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
|
|
|
+
|
|
|
+ typedef struct
|
|
|
+ {
|
|
|
+ GUID guidSearch;
|
|
|
+ WCHAR wszFriendlyName[ 80 ];
|
|
|
+ /*
|
|
|
+ *WCHAR wszMenuText[80];
|
|
|
+ *WCHAR wszHelpText[MAX_PATH];
|
|
|
+ */
|
|
|
+ WCHAR wszUrl[ 2084 ];
|
|
|
+ /*
|
|
|
+ *WCHAR wszIcon[MAX_PATH+10];
|
|
|
+ *WCHAR wszGreyIcon[MAX_PATH+10];
|
|
|
+ *WCHAR wszClrIcon[MAX_PATH+10];
|
|
|
+ */
|
|
|
+ } EXTRASEARCH, *LPEXTRASEARCH;
|
|
|
+
|
|
|
+ HRESULT Next(
|
|
|
+ [ in ] ULONG celt,
|
|
|
+ [ out, size_is( celt ), length_is( *pceltFetched ) ] EXTRASEARCH *rgelt,
|
|
|
+ [ out ] ULONG *pceltFetched );
|
|
|
+
|
|
|
+ HRESULT Skip( [ in ] ULONG celt );
|
|
|
+ HRESULT Reset();
|
|
|
+ HRESULT Clone( [ out ] IEnumExtraSearch **ppenum );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellFolder2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 93f2f68c-1d1b-11d3-a30e-00c04f79abd1 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellFolder2 : IShellFolder
|
|
|
+{
|
|
|
+ typedef struct
|
|
|
+ {
|
|
|
+ GUID fmtid;
|
|
|
+ DWORD pid;
|
|
|
+ } SHCOLUMNID, *LPSHCOLUMNID;
|
|
|
+ typedef const SHCOLUMNID *LPCSHCOLUMNID;
|
|
|
+
|
|
|
+ HRESULT GetDefaultSearchGUID( [ out ] GUID *lpguid );
|
|
|
+ HRESULT EnumSearches( [ out ] IEnumExtraSearch **ppenum );
|
|
|
+ HRESULT GetDefaultColumn( [ in ] DWORD dwReserved, [ out ] ULONG *pSort, [ out ] ULONG *pDisplay );
|
|
|
+ HRESULT GetDefaultColumnState( [ in ] UINT iColumn, [ out ] SHCOLSTATEF *pcsFlags );
|
|
|
+ HRESULT GetDetailsEx( [ in ] LPCITEMIDLIST pidl, [ in ] const SHCOLUMNID *pscid, [ out ] VARIANT *pv );
|
|
|
+ HRESULT GetDetailsOf( [ in ] LPCITEMIDLIST pidl, [ in ] UINT iColumn, [ out ] SHELLDETAILS *psd );
|
|
|
+ HRESULT MapColumnToSCID( [ in ] UINT iColumn, [ in ] SHCOLUMNID *pscid );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellItem interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 43826d1e-e718-42ee-bc55-a1e261c37bfe ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellItem : IUnknown
|
|
|
+{
|
|
|
+ typedef DWORD SIGDN;
|
|
|
+
|
|
|
+ typedef DWORD SICHINTF;
|
|
|
+
|
|
|
+ HRESULT BindToHandler(
|
|
|
+ [ in ] IBindCtx *pbc,
|
|
|
+ [ in ] REFGUID rbhid,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppvOut );
|
|
|
+
|
|
|
+ HRESULT GetParent( [ out ] IShellItem **ppsi );
|
|
|
+
|
|
|
+ HRESULT GetDisplayName(
|
|
|
+ [ in ] SIGDN sigdnName,
|
|
|
+ [ out ] LPWSTR *ppszName );
|
|
|
+
|
|
|
+ HRESULT GetAttributes(
|
|
|
+ [ in ] SFGAOF sfgaoMask,
|
|
|
+ [ out ] SFGAOF *psfgaoAttribs );
|
|
|
+
|
|
|
+ HRESULT Compare(
|
|
|
+ [ in ] IShellItem *psi,
|
|
|
+ [ in ] SICHINTF hint,
|
|
|
+ [ out ] int *piOrder );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* FOLDERSETTINGS
|
|
|
+*/
|
|
|
+typedef char *LPVIEWSETTINGS;
|
|
|
+
|
|
|
+typedef enum
|
|
|
+{
|
|
|
+ FWF_AUTOARRANGE = 0x00000001,
|
|
|
+ FWF_ABBREVIATEDNAMES = 0x00000002,
|
|
|
+ FWF_SNAPTOGRID = 0x00000004,
|
|
|
+ FWF_OWNERDATA = 0x00000008,
|
|
|
+ FWF_BESTFITWINDOW = 0x00000010,
|
|
|
+ FWF_DESKTOP = 0x00000020,
|
|
|
+ FWF_SINGLESEL = 0x00000040,
|
|
|
+ FWF_NOSUBFOLDERS = 0x00000080,
|
|
|
+ FWF_TRANSPARENT = 0x00000100,
|
|
|
+ FWF_NOCLIENTEDGE = 0x00000200,
|
|
|
+ FWF_NOSCROLL = 0x00000400,
|
|
|
+ FWF_ALIGNLEFT = 0x00000800,
|
|
|
+ FWF_NOICONS = 0x00001000,
|
|
|
+ FWF_SHOWSELALWAYS = 0x00002000,
|
|
|
+ FWF_NOVISIBLE = 0x00004000,
|
|
|
+ FWF_SINGLECLICKACTIVATE = 0x00008000,
|
|
|
+ FWF_NOWEBVIEW = 0x00010000,
|
|
|
+ FWF_HIDEFILENAMES = 0x00020000,
|
|
|
+ FWF_CHECKSELECT = 0x00040000
|
|
|
+} FOLDERFLAGS;
|
|
|
+
|
|
|
+typedef enum
|
|
|
+{
|
|
|
+ FVM_ICON = 1,
|
|
|
+ FVM_FIRST = FVM_ICON,
|
|
|
+ FVM_SMALLICON = 2,
|
|
|
+ FVM_LIST = 3,
|
|
|
+ FVM_DETAILS = 4,
|
|
|
+ FVM_THUMBNAIL = 5,
|
|
|
+ FVM_TILE = 6,
|
|
|
+ FVM_THUMBSTRIP = 7,
|
|
|
+ FVM_LAST = FVM_THUMBSTRIP
|
|
|
+} FOLDERVIEWMODE;
|
|
|
+
|
|
|
+typedef struct
|
|
|
+{
|
|
|
+ UINT ViewMode;
|
|
|
+ UINT fFlags;
|
|
|
+} FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
|
|
|
+typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellView interface
|
|
|
+*/
|
|
|
+interface IShellBrowser; /* forward declaration */
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e3-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellView : IOleWindow
|
|
|
+{
|
|
|
+ typedef IShellView *LPSHELLVIEW;
|
|
|
+
|
|
|
+ cpp_quote( "#define SVSI_DESELECT 0x00000000" )
|
|
|
+ cpp_quote( "#define SVSI_SELECT 0x00000001" )
|
|
|
+ cpp_quote( "#define SVSI_EDIT 0x00000003" )
|
|
|
+ cpp_quote( "#define SVSI_DESELECTOTHERS 0x00000004" )
|
|
|
+ cpp_quote( "#define SVSI_ENSUREVISIBLE 0x00000008" )
|
|
|
+ cpp_quote( "#define SVSI_FOCUSED 0x00000010" )
|
|
|
+ cpp_quote( "#define SVSI_TRANSLATEPT 0x00000020" )
|
|
|
+ cpp_quote( "#define SVSI_SELECTIONMARK 0x00000040" )
|
|
|
+ cpp_quote( "#define SVSI_POSITIONITEM 0x00000080" )
|
|
|
+ cpp_quote( "#define SVSI_CHECK 0x00000100" )
|
|
|
+ cpp_quote( "#define SVSI_NOSTATECHANGE 0x80000000" )
|
|
|
+
|
|
|
+ typedef UINT SVSIF;
|
|
|
+
|
|
|
+ typedef enum
|
|
|
+ {
|
|
|
+ SVGIO_BACKGROUND = 0x00000000,
|
|
|
+ SVGIO_SELECTION = 0x00000001,
|
|
|
+ SVGIO_ALLVIEW = 0x00000002,
|
|
|
+ SVGIO_CHECKED = 0x00000003,
|
|
|
+ SVGIO_TYPE_MASK = 0x0000000f,
|
|
|
+ SVGIO_FLAG_VIEWORDER = 0x80000000,
|
|
|
+ } SVGIO;
|
|
|
+
|
|
|
+ typedef enum
|
|
|
+ {
|
|
|
+ SVUIA_DEACTIVATE = 0,
|
|
|
+ SVUIA_ACTIVATE_NOFOCUS = 1,
|
|
|
+ SVUIA_ACTIVATE_FOCUS = 2,
|
|
|
+ SVUIA_INPLACEACTIVATE = 3
|
|
|
+ } SVUIA_STATUS;
|
|
|
+
|
|
|
+ HRESULT TranslateAccelerator( [ in ] MSG *pmsg );
|
|
|
+ HRESULT EnableModeless( [ in ] BOOL fEnable );
|
|
|
+ HRESULT UIActivate( [ in ] UINT uState );
|
|
|
+ HRESULT Refresh();
|
|
|
+ HRESULT CreateViewWindow(
|
|
|
+ [ in ] IShellView *psvPrevious,
|
|
|
+ [ in ] LPCFOLDERSETTINGS lpfs,
|
|
|
+ [ in ] IShellBrowser *psb,
|
|
|
+ [ out ] RECT *prcView,
|
|
|
+ [ out ] HWND *phWnd );
|
|
|
+
|
|
|
+ HRESULT DestroyViewWindow();
|
|
|
+ HRESULT GetCurrentInfo( [ out ] LPFOLDERSETTINGS lpfs );
|
|
|
+
|
|
|
+ [local] HRESULT AddPropertySheetPages(
|
|
|
+ [ in ] DWORD dwReserved,
|
|
|
+ [ in ] LPFNSVADDPROPSHEETPAGE pfn,
|
|
|
+ [ in ] LPARAM lparam );
|
|
|
+
|
|
|
+ HRESULT SaveViewState();
|
|
|
+ HRESULT SelectItem(
|
|
|
+ [ in ] LPCITEMIDLIST pidlItem,
|
|
|
+ [ in ] SVSIF uFlags );
|
|
|
+ HRESULT GetItemObject(
|
|
|
+ [ in ] UINT uItem,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppv );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( 88E39E80-3578-11CF-AE69-08002B2E1262 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellView2 : IShellView
|
|
|
+{
|
|
|
+ typedef GUID SHELLVIEWID;
|
|
|
+
|
|
|
+ cpp_quote( "#define SV2GV_CURRENTVIEW ((UINT)-1)" )
|
|
|
+ cpp_quote( "#define SV2GV_DEFAULTVIEW ((UINT)-2)" )
|
|
|
+
|
|
|
+ cpp_quote( "#include <pshpack8.h>" )
|
|
|
+ typedef struct _SV2CVW2_PARAMS
|
|
|
+ {
|
|
|
+ DWORD cbSize;
|
|
|
+
|
|
|
+ IShellView *psvPrev;
|
|
|
+ LPCFOLDERSETTINGS pfs;
|
|
|
+ IShellBrowser *psbOwner;
|
|
|
+ RECT *prcView;
|
|
|
+ SHELLVIEWID const *pvid;
|
|
|
+ HWND hwndView;
|
|
|
+
|
|
|
+ } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS;
|
|
|
+
|
|
|
+ cpp_quote( "#include <poppack.h>" )
|
|
|
+
|
|
|
+ HRESULT GetView(
|
|
|
+ [ in, out ] SHELLVIEWID* pvid,
|
|
|
+ [ in ] ULONG uView );
|
|
|
+
|
|
|
+ HRESULT CreateViewWindow2(
|
|
|
+ [ in ] LPSV2CVW2_PARAMS lpParams );
|
|
|
+
|
|
|
+ HRESULT HandleRename(
|
|
|
+ [ in, unique ] PCUITEMID_CHILD pidlNew );
|
|
|
+
|
|
|
+ HRESULT SelectAndPositionItem(
|
|
|
+ [ in ] PCUITEMID_CHILD pidlItem,
|
|
|
+ [ in ] UINT uFlags,
|
|
|
+ [ in, unique ] POINT *ppt );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( ec39fa88-f8af-41c5-8421-38bed28f4673 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellView3 : IShellView2
|
|
|
+{
|
|
|
+ enum tagSV3CVW3
|
|
|
+ {
|
|
|
+ SV3CVW3_DEFAULT = 0x00000000,
|
|
|
+ SV3CVW3_NONINTERACTIVE = 0x00000001,
|
|
|
+ SV3CVW3_FORCEVIEWMODE = 0x00000002,
|
|
|
+ SV3CVW3_FORCEFOLDERFLAGS = 0x00000004,
|
|
|
+ };
|
|
|
+ typedef DWORD SV3CVW3_FLAGS;
|
|
|
+
|
|
|
+ HRESULT CreateViewWindow3(
|
|
|
+ [ in ] IShellBrowser *psbOwner,
|
|
|
+ [ in, unique ] IShellView *psvPrev,
|
|
|
+ [ in ] SV3CVW3_FLAGS dwViewFlags,
|
|
|
+ [ in ] FOLDERFLAGS dwMask,
|
|
|
+ [ in ] FOLDERFLAGS dwFlags,
|
|
|
+ [ in ] FOLDERVIEWMODE fvMode,
|
|
|
+ [ in, unique ] const SHELLVIEWID *pvid,
|
|
|
+ [ in ] const RECT *prcView,
|
|
|
+ [ out ] HWND *phwndView );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellBrowser interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e2-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellBrowser : IOleWindow
|
|
|
+{
|
|
|
+ typedef IShellBrowser *LPSHELLBROWSER;
|
|
|
+
|
|
|
+ cpp_quote( "#define SBSP_DEFBROWSER 0x00000000" )
|
|
|
+ cpp_quote( "#define SBSP_SAMEBROWSER 0x00000001" )
|
|
|
+ cpp_quote( "#define SBSP_NEWBROWSER 0x00000002" )
|
|
|
+ cpp_quote( "#define SBSP_DEFMODE 0x00000000" )
|
|
|
+ cpp_quote( "#define SBSP_OPENMODE 0x00000010" )
|
|
|
+ cpp_quote( "#define SBSP_EXPLOREMODE 0x00000020" )
|
|
|
+ cpp_quote( "#define SBSP_HELPMODE 0x00000040" )
|
|
|
+ cpp_quote( "#define SBSP_NOTRANSFERHIST 0x00000080" )
|
|
|
+ cpp_quote( "#define SBSP_ABSOLUTE 0x00000000" )
|
|
|
+ cpp_quote( "#define SBSP_RELATIVE 0x00001000" )
|
|
|
+ cpp_quote( "#define SBSP_PARENT 0x00002000" )
|
|
|
+ cpp_quote( "#define SBSP_NAVIGATEBACK 0x00004000" )
|
|
|
+ cpp_quote( "#define SBSP_NAVIGATEFORWARD 0x00008000" )
|
|
|
+ cpp_quote( "#define SBSP_ALLOW_AUTONAVIGATE 0x00010000" )
|
|
|
+ cpp_quote( "#define SBSP_NOAUTOSELECT 0x04000000" )
|
|
|
+ cpp_quote( "#define SBSP_WRITENOHISTORY 0x08000000" )
|
|
|
+ cpp_quote( "#define SBSP_REDIRECT 0x40000000" )
|
|
|
+ cpp_quote( "#define SBSP_INITIATEDBYHLINKFRAME 0x80000000" )
|
|
|
+
|
|
|
+ cpp_quote( "#define FCW_STATUS 0x0001" )
|
|
|
+ cpp_quote( "#define FCW_TOOLBAR 0x0002" )
|
|
|
+ cpp_quote( "#define FCW_TREE 0x0003" )
|
|
|
+ cpp_quote( "#define FCW_INTERNETBAR 0x0006" )
|
|
|
+ cpp_quote( "#define FCW_PROGRESS 0x0008" )
|
|
|
+
|
|
|
+ cpp_quote( "#define FCT_MERGE 0x0001" )
|
|
|
+ cpp_quote( "#define FCT_CONFIGABLE 0x0002" )
|
|
|
+ cpp_quote( "#define FCT_ADDTOEND 0x0004" )
|
|
|
+
|
|
|
+ cpp_quote( "#if 0" )
|
|
|
+ typedef LPARAM LPTBBUTTONSB;
|
|
|
+ cpp_quote( "#else" )
|
|
|
+ cpp_quote( "#include <commctrl.h>" )
|
|
|
+ cpp_quote( "typedef LPTBBUTTON LPTBBUTTONSB;" )
|
|
|
+ cpp_quote( "#endif" )
|
|
|
+
|
|
|
+ HRESULT InsertMenusSB(
|
|
|
+ [ in ] HMENU hmenuShared,
|
|
|
+ [ in, out ] LPOLEMENUGROUPWIDTHS lpMenuWidths );
|
|
|
+
|
|
|
+ HRESULT SetMenuSB(
|
|
|
+ [ in ] HMENU hmenuShared,
|
|
|
+ [ in ] HOLEMENU holemenuReserved,
|
|
|
+ [ in ] HWND hwndActiveObject );
|
|
|
+
|
|
|
+ HRESULT RemoveMenusSB( [ in ] HMENU hmenuShared );
|
|
|
+ HRESULT SetStatusTextSB( [ in, unique ] LPCOLESTR pszStatusText );
|
|
|
+ HRESULT EnableModelessSB( [ in ] BOOL fEnable );
|
|
|
+ HRESULT TranslateAcceleratorSB( [ in ] MSG *pmsg, [ in ] WORD wID );
|
|
|
+
|
|
|
+ HRESULT BrowseObject(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ in ] UINT wFlags );
|
|
|
+
|
|
|
+ HRESULT GetViewStateStream(
|
|
|
+ [ in ] DWORD grfMode,
|
|
|
+ [ out ] IStream **ppStrm );
|
|
|
+
|
|
|
+ HRESULT GetControlWindow(
|
|
|
+ [ in ] UINT id,
|
|
|
+ [ out ] HWND *phwnd );
|
|
|
+
|
|
|
+ [local] HRESULT SendControlMsg(
|
|
|
+ [ in ] UINT id,
|
|
|
+ [ in ] UINT uMsg,
|
|
|
+ [ in ] WPARAM wParam,
|
|
|
+ [ in ] LPARAM lParam,
|
|
|
+ [ in ] LRESULT *pret );
|
|
|
+
|
|
|
+ HRESULT QueryActiveShellView( [ out ] IShellView **ppshv );
|
|
|
+ HRESULT OnViewWindowActive( [ in ] IShellView *pshv );
|
|
|
+
|
|
|
+ [local]
|
|
|
+ HRESULT SetToolbarItems(
|
|
|
+ [ in ] LPTBBUTTONSB lpButtons,
|
|
|
+ [ in ] UINT nButtons,
|
|
|
+ [ in ] UINT uFlags );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellLinkA interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214ee-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellLinkA : IUnknown
|
|
|
+{
|
|
|
+ typedef enum
|
|
|
+ {
|
|
|
+ SLR_NO_UI = 0x0001,
|
|
|
+ SLR_ANY_MATCH = 0x0002,
|
|
|
+ SLR_UPDATE = 0x0004,
|
|
|
+ SLR_NOUPDATE = 0x0008,
|
|
|
+ SLR_NOSEARCH = 0x0010,
|
|
|
+ SLR_NOTRACK = 0x0020,
|
|
|
+ SLR_NOLINKINFO = 0x0040,
|
|
|
+ SLR_INVOKE_MSI = 0x0080,
|
|
|
+ SLR_NO_UI_WITH_MSG_PUMP = 0x0101,
|
|
|
+ } SLR_FLAGS;
|
|
|
+
|
|
|
+ typedef enum
|
|
|
+ {
|
|
|
+ SLGP_SHORTPATH = 0x0001,
|
|
|
+ SLGP_UNCPRIORITY = 0x0002,
|
|
|
+ SLGP_RAWPATH = 0x0004,
|
|
|
+ } SLGP_FLAGS;
|
|
|
+
|
|
|
+ HRESULT GetPath(
|
|
|
+ [ out, size_is( cch ) ] LPSTR pszFile,
|
|
|
+ [ in ] int cch,
|
|
|
+ [ in, out ] WIN32_FIND_DATAA *pfd,
|
|
|
+ [ in ] DWORD fFlags );
|
|
|
+
|
|
|
+ HRESULT GetIDList( [ out ] LPITEMIDLIST * ppidl );
|
|
|
+
|
|
|
+ HRESULT SetIDList( [ in ] LPCITEMIDLIST pidl );
|
|
|
+
|
|
|
+ HRESULT GetDescription(
|
|
|
+ [ out, size_is( cch ) ] LPSTR pszName,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetDescription( [ in ] LPCSTR pszName );
|
|
|
+
|
|
|
+ HRESULT GetWorkingDirectory(
|
|
|
+ [ out, size_is( cch ) ] LPSTR pszDir,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetWorkingDirectory( [ in ] LPCSTR pszDir );
|
|
|
+
|
|
|
+ HRESULT GetArguments(
|
|
|
+ [ out, size_is( cch ) ] LPSTR pszArgs,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetArguments( [ in ] LPCSTR pszArgs );
|
|
|
+
|
|
|
+ HRESULT GetHotkey( [ out ] WORD *pwHotkey );
|
|
|
+
|
|
|
+ HRESULT SetHotkey( [ in ] WORD wHotkey );
|
|
|
+
|
|
|
+ HRESULT GetShowCmd( [ out ] int *piShowCmd );
|
|
|
+
|
|
|
+ HRESULT SetShowCmd( [ in ] int iShowCmd );
|
|
|
+
|
|
|
+ HRESULT GetIconLocation(
|
|
|
+ [ out, size_is( cch ) ] LPSTR pszIconPath,
|
|
|
+ [ in ] int cch,
|
|
|
+ [ out ] int *piIcon );
|
|
|
+
|
|
|
+ HRESULT SetIconLocation(
|
|
|
+ [ in ] LPCSTR pszIconPath,
|
|
|
+ [ in ] int iIcon );
|
|
|
+
|
|
|
+ HRESULT SetRelativePath(
|
|
|
+ [ in ] LPCSTR pszPathRel,
|
|
|
+ [ in ] DWORD dwReserved );
|
|
|
+
|
|
|
+ HRESULT Resolve(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] DWORD fFlags );
|
|
|
+
|
|
|
+ HRESULT SetPath( [ in ] LPCSTR pszFile );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellLinkW interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f9-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellLinkW : IUnknown
|
|
|
+{
|
|
|
+ HRESULT GetPath(
|
|
|
+ [ out, size_is( cch ) ] LPWSTR pszFile,
|
|
|
+ [ in ] int cch,
|
|
|
+ [ in, out ] WIN32_FIND_DATAW *pfd,
|
|
|
+ [ in ] DWORD fFlags );
|
|
|
+
|
|
|
+ HRESULT GetIDList( [ out ] LPITEMIDLIST * ppidl );
|
|
|
+
|
|
|
+ HRESULT SetIDList( [ in ] LPCITEMIDLIST pidl );
|
|
|
+
|
|
|
+ HRESULT GetDescription(
|
|
|
+ [ out, size_is( cch ) ] LPWSTR pszName,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetDescription( [ in ] LPCWSTR pszName );
|
|
|
+
|
|
|
+ HRESULT GetWorkingDirectory(
|
|
|
+ [ out, size_is( cch ) ] LPWSTR pszDir,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetWorkingDirectory( [ in ] LPCWSTR pszDir );
|
|
|
+
|
|
|
+ HRESULT GetArguments(
|
|
|
+ [ out, size_is( cch ) ] LPWSTR pszArgs,
|
|
|
+ [ in ] int cch );
|
|
|
+
|
|
|
+ HRESULT SetArguments( [ in ] LPCWSTR pszArgs );
|
|
|
+
|
|
|
+ HRESULT GetHotkey( [ out ] WORD *pwHotkey );
|
|
|
+
|
|
|
+ HRESULT SetHotkey( [ in ] WORD wHotkey );
|
|
|
+
|
|
|
+ HRESULT GetShowCmd( [ out ] int *piShowCmd );
|
|
|
+
|
|
|
+ HRESULT SetShowCmd( [ in ] int iShowCmd );
|
|
|
+
|
|
|
+ HRESULT GetIconLocation(
|
|
|
+ [ out, size_is( cch ) ] LPWSTR pszIconPath,
|
|
|
+ [ in ] int cch,
|
|
|
+ [ out ] int *piIcon );
|
|
|
+
|
|
|
+ HRESULT SetIconLocation(
|
|
|
+ [ in ] LPCWSTR pszIconPath,
|
|
|
+ [ in ] int iIcon );
|
|
|
+
|
|
|
+ HRESULT SetRelativePath(
|
|
|
+ [ in ] LPCWSTR pszPathRel,
|
|
|
+ [ in ] DWORD dwReserved );
|
|
|
+
|
|
|
+ HRESULT Resolve(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] DWORD fFlags );
|
|
|
+
|
|
|
+ HRESULT SetPath( [ in ] LPCWSTR pszFile );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#define IShellLink WINELIB_NAME_AW(IShellLink)" )
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellExtInit interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e8-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellExtInit : IUnknown
|
|
|
+{
|
|
|
+ typedef IShellExtInit *LPSHELLEXTINIT;
|
|
|
+
|
|
|
+ HRESULT Initialize(
|
|
|
+ [ in ] LPCITEMIDLIST pidlFolder,
|
|
|
+ [ in ] IDataObject *pdtobj,
|
|
|
+ [ in ] HKEY hkeyProgID );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*******************************************************************************/
|
|
|
+/* Note: the following interfaces are not in shobjidl.idl under Windows, they */
|
|
|
+/* are declared directly in shlobj.h. It hopefully won't break anything to put */
|
|
|
+/* them here anyway. */
|
|
|
+/*******************************************************************************/
|
|
|
+
|
|
|
+#ifndef MAX_PATH
|
|
|
+#define MAX_PATH 260
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IPersistFolder3 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( cef04fdf-fe72-11d2-87a5-00c04f6837cf ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IPersistFolder3 : IPersistFolder2
|
|
|
+{
|
|
|
+ typedef struct
|
|
|
+ {
|
|
|
+ LPITEMIDLIST pidlTargetFolder;
|
|
|
+ WCHAR szTargetParsingName[ MAX_PATH ];
|
|
|
+ WCHAR szNetworkProvider[ MAX_PATH ];
|
|
|
+ DWORD dwAttributes;
|
|
|
+ int csidl;
|
|
|
+ } PERSIST_FOLDER_TARGET_INFO;
|
|
|
+
|
|
|
+ HRESULT InitializeEx(
|
|
|
+ [ in ] IBindCtx *pbc,
|
|
|
+ [ in ] LPCITEMIDLIST pidlRoot,
|
|
|
+ [ in ] const PERSIST_FOLDER_TARGET_INFO *ppfti );
|
|
|
+
|
|
|
+ HRESULT GetFolderTargetInfo( [ out ] PERSIST_FOLDER_TARGET_INFO *ppfti );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IExtractIconA interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214eb-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IExtractIconA : IUnknown
|
|
|
+{
|
|
|
+ cpp_quote( "#define GIL_OPENICON 0x0001" )
|
|
|
+ cpp_quote( "#define GIL_FORSHELL 0x0002" )
|
|
|
+ cpp_quote( "#define GIL_ASYNC 0x0020" )
|
|
|
+ cpp_quote( "#define GIL_DEFAULTICON 0x0040" )
|
|
|
+ cpp_quote( "#define GIL_FORSHORTCUT 0x0080" )
|
|
|
+
|
|
|
+ cpp_quote( "#define GIL_SIMULATEDOC 0x0001" )
|
|
|
+ cpp_quote( "#define GIL_PERINSTANCE 0x0002" )
|
|
|
+ cpp_quote( "#define GIL_PERCLASS 0x0004" )
|
|
|
+ cpp_quote( "#define GIL_NOTFILENAME 0x0008" )
|
|
|
+ cpp_quote( "#define GIL_DONTCACHE 0x0010" )
|
|
|
+
|
|
|
+ typedef IExtractIconA *LPEXTRACTICONA;
|
|
|
+
|
|
|
+ HRESULT GetIconLocation(
|
|
|
+ [ in ] UINT uFlags,
|
|
|
+ [ out, size_is( cchMax ) ] LPSTR szIconFile,
|
|
|
+ [ in ] UINT cchMax,
|
|
|
+ [ out ] INT *piIndex,
|
|
|
+ [ out ] UINT *pwFlags );
|
|
|
+
|
|
|
+ HRESULT Extract(
|
|
|
+ [ in ] LPCSTR pszFile,
|
|
|
+ [ in ] UINT nIconIndex,
|
|
|
+ [ out ] HICON *phiconLarge,
|
|
|
+ [ out ] HICON *phiconSmall,
|
|
|
+ [ in ] UINT nIconSize );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IExtractIconW interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214fa-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IExtractIconW : IUnknown
|
|
|
+{
|
|
|
+ typedef IExtractIconW *LPEXTRACTICONW;
|
|
|
+
|
|
|
+ HRESULT GetIconLocation(
|
|
|
+ [ in ] UINT uFlags,
|
|
|
+ [ out, size_is( cchMax ) ] LPWSTR szIconFile,
|
|
|
+ [ in ] UINT cchMax,
|
|
|
+ [ out ] INT *piIndex,
|
|
|
+ [ out ] UINT *pwFlags );
|
|
|
+
|
|
|
+ HRESULT Extract(
|
|
|
+ [ in ] LPCWSTR pszFile,
|
|
|
+ [ in ] UINT nIconIndex,
|
|
|
+ [ out ] HICON *phiconLarge,
|
|
|
+ [ out ] HICON *phiconSmall,
|
|
|
+ [ in ] UINT nIconSize );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)" )
|
|
|
+cpp_quote( "#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)" )
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ICommDlgBrowser interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f1-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface ICommDlgBrowser : IUnknown
|
|
|
+{
|
|
|
+ cpp_quote( "#define CDBOSC_SETFOCUS 0x00000000" )
|
|
|
+ cpp_quote( "#define CDBOSC_KILLFOCUS 0x00000001" )
|
|
|
+ cpp_quote( "#define CDBOSC_SELCHANGE 0x00000002" )
|
|
|
+ cpp_quote( "#define CDBOSC_RENAME 0x00000003" )
|
|
|
+ cpp_quote( "#define CDBOSC_STATECHANGE 0x00000004" )
|
|
|
+
|
|
|
+ typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
|
|
|
+
|
|
|
+ HRESULT OnDefaultCommand( [ in ] IShellView *shv );
|
|
|
+ HRESULT OnStateChange( [ in ] IShellView *shv, [ in ] ULONG uChange );
|
|
|
+ HRESULT IncludeObject( [ in ] IShellView *shv, [ in ] LPCITEMIDLIST pidl );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDockingWindowFrame interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 47d2657a-7b27-11d0-8ca9-00a0c92dbfe8 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IDockingWindowFrame : IOleWindow
|
|
|
+{
|
|
|
+ cpp_quote( "#define DWFRF_NORMAL 0x0000" )
|
|
|
+ cpp_quote( "#define DWFRF_DELETECONFIGDATA 0x0001" )
|
|
|
+ cpp_quote( "#define DWFAF_HIDDEN 0x0001" )
|
|
|
+
|
|
|
+ HRESULT AddToolbar(
|
|
|
+ [ in ] IUnknown *punkSrc,
|
|
|
+ [ in ] LPCWSTR pwszItem,
|
|
|
+ [ in ] DWORD dwAddFlags );
|
|
|
+
|
|
|
+ HRESULT RemoveToolbar(
|
|
|
+ [ in ] IUnknown *punkSrc,
|
|
|
+ [ in ] DWORD dwRemoveFlags );
|
|
|
+
|
|
|
+ HRESULT FindToolbar(
|
|
|
+ [ in ] LPCWSTR pwszItem,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out ] LPVOID *ppvObj );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDragSourceHelper interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( de5bf786-477a-11d2-839d-00c04fd918d0 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IDragSourceHelper : IUnknown
|
|
|
+{
|
|
|
+ typedef struct
|
|
|
+ {
|
|
|
+ SIZE sizeDragImage;
|
|
|
+ POINT ptOffset;
|
|
|
+ HBITMAP hbmpDragImage;
|
|
|
+ COLORREF crColorKey;
|
|
|
+ } SHDRAGIMAGE, *LPSHDRAGIMAGE;
|
|
|
+
|
|
|
+ HRESULT InitializeFromBitmap(
|
|
|
+ [ in ] LPSHDRAGIMAGE pshdi,
|
|
|
+ [ in ] IDataObject *pDataObject );
|
|
|
+
|
|
|
+ HRESULT InitializeFromWindow(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] POINT *ppt,
|
|
|
+ [ in ] IDataObject *pDataObject );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDropTargetHelper interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 4657278b-411b-11d2-839a-00c04fd918d0 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IDropTargetHelper : IUnknown
|
|
|
+{
|
|
|
+ HRESULT DragEnter(
|
|
|
+ [ in ] HWND hwndTarget,
|
|
|
+ [ in ] IDataObject *pDataObject,
|
|
|
+ [ in ] POINT *ppt,
|
|
|
+ [ in ] DWORD dwEffect );
|
|
|
+
|
|
|
+ HRESULT DragLeave();
|
|
|
+
|
|
|
+ HRESULT DragOver(
|
|
|
+ [ in ] POINT *ppt,
|
|
|
+ [ in ] DWORD dwEffect );
|
|
|
+
|
|
|
+ HRESULT Drop(
|
|
|
+ [ in ] IDataObject *pDataObject,
|
|
|
+ [ in ] POINT *ppt,
|
|
|
+ [ in ] DWORD dwEffect );
|
|
|
+
|
|
|
+ HRESULT Show( [ in ] BOOL fShow );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IContextMenu interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e4-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IContextMenu : IUnknown
|
|
|
+{
|
|
|
+ cpp_quote( "#define CMF_NORMAL 0x00000000" )
|
|
|
+ cpp_quote( "#define CMF_DEFAULTONLY 0x00000001" )
|
|
|
+ cpp_quote( "#define CMF_VERBSONLY 0x00000002" )
|
|
|
+ cpp_quote( "#define CMF_EXPLORE 0x00000004" )
|
|
|
+ cpp_quote( "#define CMF_NOVERBS 0x00000008" )
|
|
|
+ cpp_quote( "#define CMF_CANRENAME 0x00000010" )
|
|
|
+ cpp_quote( "#define CMF_NODEFAULT 0x00000020" )
|
|
|
+ cpp_quote( "#define CMF_INCLUDESTATIC 0x00000040" )
|
|
|
+ cpp_quote( "#define CMF_EXTENDEDVERBS 0x00000100" )
|
|
|
+ cpp_quote( "#define CMF_RESERVED 0xffff0000" )
|
|
|
+
|
|
|
+ cpp_quote( "#define GCS_VERBA 0x00000000" )
|
|
|
+ cpp_quote( "#define GCS_HELPTEXTA 0x00000001" )
|
|
|
+ cpp_quote( "#define GCS_VALIDATEA 0x00000002" )
|
|
|
+ cpp_quote( "#define GCS_VERBW 0x00000004" )
|
|
|
+ cpp_quote( "#define GCS_HELPTEXTW 0x00000005" )
|
|
|
+ cpp_quote( "#define GCS_VALIDATEW 0x00000006" )
|
|
|
+ cpp_quote( "#define GCS_UNICODE 0x00000004" )
|
|
|
+ cpp_quote( "#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)" )
|
|
|
+ cpp_quote( "#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)" )
|
|
|
+ cpp_quote( "#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)" )
|
|
|
+
|
|
|
+ cpp_quote( "#define CMDSTR_NEWFOLDERA \"NewFolder\"" )
|
|
|
+ cpp_quote( "#define CMDSTR_VIEWLISTA \"ViewList\"" )
|
|
|
+ cpp_quote( "#define CMDSTR_VIEWDETAILSA \"ViewDetails\"" )
|
|
|
+ cpp_quote( "#if defined(__GNUC__)" )
|
|
|
+ cpp_quote( "# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }" )
|
|
|
+ cpp_quote( "# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }" )
|
|
|
+ cpp_quote( "# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }" )
|
|
|
+ cpp_quote( "#elif defined(_MSC_VER)" )
|
|
|
+ cpp_quote( "# define CMDSTR_NEWFOLDERW L\"NewFolder\"" )
|
|
|
+ cpp_quote( "# define CMDSTR_VIEWLISTW L\"ViewList\"" )
|
|
|
+ cpp_quote( "# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"" )
|
|
|
+ cpp_quote( "#else" )
|
|
|
+ cpp_quote( "static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};" )
|
|
|
+ cpp_quote( "static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};" )
|
|
|
+ cpp_quote( "static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};" )
|
|
|
+ cpp_quote( "#endif" )
|
|
|
+ cpp_quote( "#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)" )
|
|
|
+ cpp_quote( "#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)" )
|
|
|
+ cpp_quote( "#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)" )
|
|
|
+
|
|
|
+ cpp_quote( "#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_ICON SEE_MASK_ICON" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_UNICODE SEE_MASK_UNICODE" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_SHIFT_DOWN 0x10000000" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_PTINVOKE 0x20000000" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_CONTROL_DOWN 0x40000000" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE" )
|
|
|
+ cpp_quote( "#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS" )
|
|
|
+
|
|
|
+ typedef IContextMenu *LPCONTEXTMENU;
|
|
|
+
|
|
|
+ typedef struct tagCMINVOKECOMMANDINFO
|
|
|
+ {
|
|
|
+ DWORD cbSize;
|
|
|
+ DWORD fMask;
|
|
|
+ HWND hwnd;
|
|
|
+ LPCSTR lpVerb;
|
|
|
+ LPCSTR lpParameters;
|
|
|
+ LPCSTR lpDirectory;
|
|
|
+ INT nShow;
|
|
|
+ DWORD dwHotKey;
|
|
|
+ HANDLE hIcon;
|
|
|
+ } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
|
|
|
+
|
|
|
+ typedef struct tagCMInvokeCommandInfoEx
|
|
|
+ {
|
|
|
+ DWORD cbSize;
|
|
|
+ DWORD fMask;
|
|
|
+ HWND hwnd;
|
|
|
+ LPCSTR lpVerb;
|
|
|
+ LPCSTR lpParameters;
|
|
|
+ LPCSTR lpDirectory;
|
|
|
+ INT nShow;
|
|
|
+ DWORD dwHotKey;
|
|
|
+ HANDLE hIcon;
|
|
|
+ LPCSTR lpTitle;
|
|
|
+ LPCWSTR lpVerbW;
|
|
|
+ LPCWSTR lpParametersW;
|
|
|
+ LPCWSTR lpDirectoryW;
|
|
|
+ LPCWSTR lpTitleW;
|
|
|
+ POINT ptInvoke;
|
|
|
+ } CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
|
|
|
+
|
|
|
+ HRESULT QueryContextMenu(
|
|
|
+ [ in ] HMENU hmenu,
|
|
|
+ [ in ] UINT indexMenu,
|
|
|
+ [ in ] UINT idCmdFirst,
|
|
|
+ [ in ] UINT idCmdLast,
|
|
|
+ [ in ] UINT uFlags );
|
|
|
+
|
|
|
+ HRESULT InvokeCommand( [ in ] LPCMINVOKECOMMANDINFO lpici );
|
|
|
+
|
|
|
+ HRESULT GetCommandString(
|
|
|
+ [ in ] UINT_PTR idCmd,
|
|
|
+ [ in ] UINT uType,
|
|
|
+ [ out ] UINT *pwReserved,
|
|
|
+ [ out, size_is( cchMax ) ] LPSTR pszName,
|
|
|
+ [ in ] UINT cchMax );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IContextMenu2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f4-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IContextMenu2 : IContextMenu
|
|
|
+{
|
|
|
+ typedef IContextMenu2 *LPCONTEXTMENU2;
|
|
|
+
|
|
|
+ HRESULT HandleMenuMsg(
|
|
|
+ [ in ] UINT uMsg,
|
|
|
+ [ in ] WPARAM wParam,
|
|
|
+ [ in ] LPARAM lParam );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IContextMenu3 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( bcfce0a0-ec17-11d0-8d10-00a0c90f2719 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IContextMenu3 : IContextMenu2
|
|
|
+{
|
|
|
+ typedef IContextMenu3 *LPCONTEXTMENU3;
|
|
|
+
|
|
|
+ HRESULT HandleMenuMsg2(
|
|
|
+ [ in ] UINT uMsg,
|
|
|
+ [ in ] WPARAM wParam,
|
|
|
+ [ in ] LPARAM lParam,
|
|
|
+ [ out ] LRESULT *plResult );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellExecuteHookA interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f5-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellExecuteHookA : IUnknown
|
|
|
+{
|
|
|
+ cpp_quote( "struct _SHELLEXECUTEINFOA;" )
|
|
|
+ HRESULT Execute(
|
|
|
+ [ in, out ] struct _SHELLEXECUTEINFOA* pei );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellExecuteHookW interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214fb-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellExecuteHookW : IUnknown
|
|
|
+{
|
|
|
+ cpp_quote( "struct _SHELLEXECUTEINFOW;" )
|
|
|
+ HRESULT Execute(
|
|
|
+ [ in, out ] struct _SHELLEXECUTEINFOW* pei );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellLinkDataList interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 45e2b4ae-b1c3-11d0-b92f-00a0c90312e1 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellLinkDataList : IUnknown
|
|
|
+{
|
|
|
+ [local] HRESULT AddDataBlock(
|
|
|
+ [ in ] void *pDataBlock );
|
|
|
+ [local] HRESULT CopyDataBlock(
|
|
|
+ [ in ] DWORD dwSig,
|
|
|
+ [ out ] void **ppDataBlock );
|
|
|
+ HRESULT RemoveDataBlock(
|
|
|
+ [ in ] DWORD dwSig );
|
|
|
+ HRESULT GetFlags(
|
|
|
+ [ out ] DWORD *pdwFlags );
|
|
|
+ HRESULT SetFlags(
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IResolveShellLink interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 5cd52983-9449-11d2-963a-00c04f79adf0 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IResolveShellLink : IUnknown
|
|
|
+{
|
|
|
+ HRESULT ResolveShellLink(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] DWORD fFlags );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IURLSearchHook interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( ac60f6a0-0fd9-11d0-99cb-00c04fd64497 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IURLSearchHook : IUnknown
|
|
|
+{
|
|
|
+ HRESULT Translate(
|
|
|
+ [ in, out ] LPWSTR lpwszSearchURL,
|
|
|
+ [ in ] DWORD cchBufferSize );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ISearchContext interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 09f656a2-41af-480c-88f7-16cc0d164615 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface ISearchContext : IUnknown
|
|
|
+{
|
|
|
+ HRESULT GetSearchUrl(
|
|
|
+ [ in ] BSTR *pbstrSearchUrl );
|
|
|
+ HRESULT GetSearchText(
|
|
|
+ [ in ] BSTR *pbstrSearchText );
|
|
|
+ HRESULT GetSearchStyle(
|
|
|
+ [ in ] BSTR *pdwSearchStyle );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IURLSearchHook2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 5ee44da4-6d32-46e3-86bc-07540dedd0e0 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IURLSearchHook2 : IURLSearchHook
|
|
|
+{
|
|
|
+ HRESULT TranslateWithSearchContext(
|
|
|
+ [ in, out ] LPWSTR lpwszSearchURL,
|
|
|
+ [ in ] DWORD cchBufferSize,
|
|
|
+ [ in ] ISearchContext *pSearchContext );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+cpp_quote( "#define INewShortcutHook WINELIB_NAME_AW(INewShortcutHook)" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* INewShortcutHookA interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214e1-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface INewShortcutHookA : IUnknown
|
|
|
+{
|
|
|
+ HRESULT SetReferent(
|
|
|
+ [ in ] LPCSTR pcszReferent,
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+ HRESULT GetReferent(
|
|
|
+ [ out ] LPCSTR pcszReferent,
|
|
|
+ [ in ] int cchReferent );
|
|
|
+ HRESULT SetFolder(
|
|
|
+ [ in ] LPCSTR pcszReferent );
|
|
|
+ HRESULT GetFolder(
|
|
|
+ [ out ] LPSTR pcszReferent,
|
|
|
+ [ in ] int cchFolder );
|
|
|
+ HRESULT GetName(
|
|
|
+ [ out ] LPSTR pszName,
|
|
|
+ [ in ] int cchName );
|
|
|
+ HRESULT GetExtension(
|
|
|
+ [ out ] LPSTR pszExtension,
|
|
|
+ [ in ] int cchExtension );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* INewShortcutHookW interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 000214f7-0000-0000-c000-000000000046 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface INewShortcutHookW : IUnknown
|
|
|
+{
|
|
|
+ HRESULT SetReferent(
|
|
|
+ [ in ] LPCWSTR pcszReferent,
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+ HRESULT GetReferent(
|
|
|
+ [ out ] LPCWSTR pcszReferent,
|
|
|
+ [ in ] int cchReferent );
|
|
|
+ HRESULT SetFolder(
|
|
|
+ [ in ] LPCWSTR pcszReferent );
|
|
|
+ HRESULT GetFolder(
|
|
|
+ [ out ] LPWSTR pcszReferent,
|
|
|
+ [ in ] int cchFolder );
|
|
|
+ HRESULT GetName(
|
|
|
+ [ out ] LPWSTR pszName,
|
|
|
+ [ in ] int cchName );
|
|
|
+ HRESULT GetExtension(
|
|
|
+ [ out ] LPWSTR pszExtension,
|
|
|
+ [ in ] int cchExtension );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IRunnableTask interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 85788d00-6807-11d0-b810-00c04fd706ec ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IRunnableTask : IUnknown
|
|
|
+{
|
|
|
+ HRESULT Run();
|
|
|
+ HRESULT Kill( [ in ] BOOL fWait );
|
|
|
+ HRESULT Suspend();
|
|
|
+ HRESULT Resume();
|
|
|
+ ULONG IsRunning();
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellChangeNotify interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( d82be2b1-5764-11d0-a96e-00c04fd705a2 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IShellChangeNotify : IUnknown
|
|
|
+{
|
|
|
+ HRESULT OnChange(
|
|
|
+ [ in ] LONG lEvent,
|
|
|
+ [ in ] LPCITEMIDLIST pidl1,
|
|
|
+ [ in ] LPCITEMIDLIST pidl2 );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IFileSystemBindData interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 01e18d10-4d8b-11d2-855d-006008059367 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IFileSystemBindData : IUnknown
|
|
|
+{
|
|
|
+ HRESULT SetFindData(
|
|
|
+ [ in ] const WIN32_FIND_DATAW *pfd );
|
|
|
+ HRESULT GetFindData(
|
|
|
+ [ out ] WIN32_FIND_DATAW *pfd );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ITaskbarList interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 56FDF342-FD6D-11d0-958A-006097C9A090 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface ITaskbarList : IUnknown
|
|
|
+{
|
|
|
+ HRESULT HrInit();
|
|
|
+
|
|
|
+ HRESULT AddTab(
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+
|
|
|
+ HRESULT DeleteTab(
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+
|
|
|
+ HRESULT ActivateTab(
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+
|
|
|
+ HRESULT SetActiveAlt(
|
|
|
+ [ in ] HWND hwnd );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "EXTERN_C const CLSID CLSID_TaskbarList;" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IContextMenuCB interface
|
|
|
+*/
|
|
|
+
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 3409e930-5a39-11d1-83fa-00a0c90dc849 ),
|
|
|
+ pointer_default( unique )
|
|
|
+]
|
|
|
+interface IContextMenuCB : IUnknown
|
|
|
+{
|
|
|
+ HRESULT CallBack(
|
|
|
+ [ in ] IShellFolder *psf,
|
|
|
+ [ in ] HWND hwndOwner,
|
|
|
+ [ in ] IDataObject *pdtobj,
|
|
|
+ [ in ] UINT uMsg,
|
|
|
+ [ in ] WPARAM wParam,
|
|
|
+ [ in ] LPARAM lParam );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDefaultExtractIconInit interface
|
|
|
+*/
|
|
|
+
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 800AB0B8-F5FA-4e72-8FF3-B1A243B87BD9 ), /* FIXME: wrong value! */
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IDefaultExtractIconInit : IUnknown
|
|
|
+{
|
|
|
+ HRESULT SetDefaultIcon(
|
|
|
+ [ in ] LPCWSTR pszFile,
|
|
|
+ [ in ] int iIcon );
|
|
|
+ HRESULT SetFlags(
|
|
|
+ [ in ] UINT uFlags );
|
|
|
+ HRESULT SetKey(
|
|
|
+ [ in ] HKEY hkey );
|
|
|
+ HRESULT SetNormalIcon(
|
|
|
+ [ in ] LPCWSTR pszFile,
|
|
|
+ [ in ] int iIcon );
|
|
|
+ HRESULT SetOpenIcon(
|
|
|
+ [ in ] LPCWSTR pszFile,
|
|
|
+ [ in ] int iIcon );
|
|
|
+ HRESULT SetShortcutIcon(
|
|
|
+ [ in ] LPCWSTR pszFile,
|
|
|
+ [ in ] int iIcon );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDockingWindow interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 012dd920-7b26-11d0-8ca9-00a0c92dbfe8 ),
|
|
|
+ object
|
|
|
+]
|
|
|
+interface IDockingWindow : IOleWindow
|
|
|
+{
|
|
|
+ HRESULT ShowDW( [ in ] BOOL fShow );
|
|
|
+
|
|
|
+ HRESULT CloseDW( [ in ] DWORD dwReserved );
|
|
|
+
|
|
|
+ HRESULT ResizeBorderDW(
|
|
|
+ [ in ] LPCRECT prcBorder,
|
|
|
+ [ in ] IUnknown* punkToolbarSite,
|
|
|
+ [ in ] BOOL fReserved );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDeskBand interface
|
|
|
+*/
|
|
|
+cpp_quote( "#define DBIM_MINSIZE 0x0001" )
|
|
|
+cpp_quote( "#define DBIM_MAXSIZE 0x0002" )
|
|
|
+cpp_quote( "#define DBIM_INTEGRAL 0x0004" )
|
|
|
+cpp_quote( "#define DBIM_ACTUAL 0x0008" )
|
|
|
+cpp_quote( "#define DBIM_TITLE 0x0010" )
|
|
|
+cpp_quote( "#define DBIM_MODEFLAGS 0x0020" )
|
|
|
+cpp_quote( "#define DBIM_BKCOLOR 0x0040" )
|
|
|
+
|
|
|
+cpp_quote( "#include <pshpack8.h>" )
|
|
|
+
|
|
|
+typedef struct tagDESKBANDINFO
|
|
|
+{
|
|
|
+ DWORD dwMask;
|
|
|
+ POINTL ptMinSize;
|
|
|
+ POINTL ptMaxSize;
|
|
|
+ POINTL ptIntegral;
|
|
|
+ POINTL ptActual;
|
|
|
+ WCHAR wszTitle[ 256 ];
|
|
|
+ DWORD dwModeFlags;
|
|
|
+ COLORREF crBkgnd;
|
|
|
+} DESKBANDINFO;
|
|
|
+
|
|
|
+cpp_quote( "#include <poppack.h>" )
|
|
|
+
|
|
|
+cpp_quote( "#define DBIMF_NORMAL 0x0000" )
|
|
|
+cpp_quote( "#define DBIMF_FIXED 0x0001" )
|
|
|
+cpp_quote( "#define DBIMF_FIXEDBMP 0x0004 // a fixed background bitmap (if supported)" )
|
|
|
+cpp_quote( "#define DBIMF_VARIABLEHEIGHT 0x0008" )
|
|
|
+cpp_quote( "#define DBIMF_UNDELETEABLE 0x0010" )
|
|
|
+cpp_quote( "#define DBIMF_DEBOSSED 0x0020" )
|
|
|
+cpp_quote( "#define DBIMF_BKCOLOR 0x0040" )
|
|
|
+cpp_quote( "#define DBIMF_USECHEVRON 0x0080" )
|
|
|
+cpp_quote( "#define DBIMF_BREAK 0x0100" )
|
|
|
+cpp_quote( "#define DBIMF_ADDTOFRONT 0x0200" )
|
|
|
+cpp_quote( "#define DBIMF_TOPALIGN 0x0400" )
|
|
|
+cpp_quote( "#if (NTDDI_VERSION >= NTDDI_LONGHORN)" )
|
|
|
+cpp_quote( "#define DBIMF_NOGRIPPER 0x0800" )
|
|
|
+cpp_quote( "#define DBIMF_ALWAYSGRIPPER 0x1000" )
|
|
|
+cpp_quote( "#define DBIMF_NOMARGINS 0x2000" )
|
|
|
+cpp_quote( "#endif // NTDDI_LONGHORN" )
|
|
|
+
|
|
|
+cpp_quote( "#define DBIF_VIEWMODE_NORMAL 0x0000" )
|
|
|
+cpp_quote( "#define DBIF_VIEWMODE_VERTICAL 0x0001" )
|
|
|
+cpp_quote( "#define DBIF_VIEWMODE_FLOATING 0x0002" )
|
|
|
+cpp_quote( "#define DBIF_VIEWMODE_TRANSPARENT 0x0004" )
|
|
|
+
|
|
|
+enum tagDESKBANDCID
|
|
|
+{
|
|
|
+ DBID_BANDINFOCHANGED = 0,
|
|
|
+ DBID_SHOWONLY = 1,
|
|
|
+ DBID_MAXIMIZEBAND = 2,
|
|
|
+ DBID_PUSHCHEVRON = 3,
|
|
|
+ DBID_DELAYINIT = 4,
|
|
|
+ DBID_FINISHINIT = 5,
|
|
|
+ DBID_SETWINDOWTHEME = 6,
|
|
|
+ DBID_PERMITAUTOHIDE = 7,
|
|
|
+};
|
|
|
+
|
|
|
+cpp_quote( "#define DBPC_SELECTFIRST (DWORD)-1" )
|
|
|
+cpp_quote( "#define DBPC_SELECTLAST (DWORD)-2" )
|
|
|
+
|
|
|
+cpp_quote( "#define CGID_DeskBand IID_IDeskBand" )
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( EB0FE172-1A3A-11D0-89B3-00A0C90A90AC ),
|
|
|
+ object,
|
|
|
+]
|
|
|
+interface IDeskBand : IDockingWindow
|
|
|
+{
|
|
|
+ HRESULT GetBandInfo(
|
|
|
+ [ in ] DWORD dwBandID,
|
|
|
+ [ in ] DWORD dwViewMode,
|
|
|
+ [ in, out ] DESKBANDINFO* pdbi );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#if (NTDDI_VERSION >= NTDDI_LONGHORN)" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDeskBandInfo interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 77E425FC-CBF9-4307-BA6A-BB5727745661 ),
|
|
|
+ object,
|
|
|
+]
|
|
|
+interface IDeskBandInfo : IUnknown
|
|
|
+{
|
|
|
+ HRESULT GetDefaultBandWidth(
|
|
|
+ [ in ] DWORD dwBandID,
|
|
|
+ [ in ] DWORD dwViewMode,
|
|
|
+ [ out ] int *pnWidth );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IDeskBand2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 79D16DE4-ABEE-4021-8D9D-9169B261D657 ),
|
|
|
+ object,
|
|
|
+]
|
|
|
+interface IDeskBand2 : IDeskBand
|
|
|
+{
|
|
|
+ HRESULT CanRenderComposited( [ out ] BOOL *pfCanRenderComposited );
|
|
|
+
|
|
|
+ HRESULT SetCompositionState( [ in ] BOOL fCompositionEnabled );
|
|
|
+
|
|
|
+ HRESULT GetCompositionState( [ out ] BOOL *pfCompositionEnabled );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#endif // NTDDI_LONGHORN" )
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+cpp_quote( "#if (_WIN32_IE >= _WIN32_IE_IE60)" )
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( EB0FE173-1A3A-11D0-89B3-00A0C90A90AC ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IDeskBar : IOleWindow
|
|
|
+{
|
|
|
+ HRESULT SetClient( [ in ] IUnknown* punkClient );
|
|
|
+
|
|
|
+ HRESULT GetClient( [ out ] IUnknown** ppunkClient );
|
|
|
+
|
|
|
+ HRESULT OnPosRectChangeDB( [ in ] RECT *prc );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IMenuPopup interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IMenuPopup : IDeskBar
|
|
|
+{
|
|
|
+ enum tagMENUPOPUPSELECT
|
|
|
+ {
|
|
|
+ MPOS_EXECUTE = 0,
|
|
|
+ MPOS_FULLCANCEL,
|
|
|
+ MPOS_CANCELLEVEL,
|
|
|
+ MPOS_SELECTLEFT,
|
|
|
+ MPOS_SELECTRIGHT,
|
|
|
+ MPOS_CHILDTRACKING
|
|
|
+ };
|
|
|
+
|
|
|
+ enum tagMENUPOPUPPOPUPFLAGS
|
|
|
+ {
|
|
|
+ MPPF_SETFOCUS = 0x00000001,
|
|
|
+ MPPF_INITIALSELECT = 0x00000002,
|
|
|
+ MPPF_NOANIMATE = 0x00000004,
|
|
|
+ MPPF_KEYBOARD = 0x00000010,
|
|
|
+ MPPF_REPOSITION = 0x00000020,
|
|
|
+ MPPF_FORCEZORDER = 0x00000040,
|
|
|
+ MPPF_FINALSELECT = 0x00000080,
|
|
|
+ MPPF_TOP = 0x20000000,
|
|
|
+ MPPF_LEFT = 0x40000000,
|
|
|
+ MPPF_RIGHT = 0x60000000,
|
|
|
+ MPPF_BOTTOM = 0x80000000,
|
|
|
+ MPPF_POS_MASK = 0xE0000000,
|
|
|
+ MPPF_ALIGN_LEFT = 0x02000000,
|
|
|
+ MPPF_ALIGN_RIGHT = 0x04000000
|
|
|
+ };
|
|
|
+ typedef int MP_POPUPFLAGS;
|
|
|
+
|
|
|
+ HRESULT Popup(
|
|
|
+ [ in ] POINTL *ppt,
|
|
|
+ [ in ] RECTL *prcExclude,
|
|
|
+ [ in ] MP_POPUPFLAGS dwFlags );
|
|
|
+
|
|
|
+ HRESULT OnSelect( [ in ] DWORD dwSelectType );
|
|
|
+
|
|
|
+ HRESULT SetSubMenu(
|
|
|
+ [ in ] IMenuPopup* pmp,
|
|
|
+ [ in ] BOOL fSet );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#endif /* _WIN32_IE_IE60 */" )
|
|
|
+
|
|
|
+cpp_quote( "#if (_WIN32_IE >= _WIN32_IE_IE40)" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IBandSite interface
|
|
|
+*/
|
|
|
+cpp_quote( "#include <pshpack8.h>" )
|
|
|
+
|
|
|
+typedef struct tagBANDSITEINFO
|
|
|
+{
|
|
|
+ DWORD dwMask;
|
|
|
+ DWORD dwState;
|
|
|
+ DWORD dwStyle;
|
|
|
+} BANDSITEINFO;
|
|
|
+
|
|
|
+cpp_quote( "#include <poppack.h>" )
|
|
|
+
|
|
|
+
|
|
|
+enum tagBANDSITECID
|
|
|
+{
|
|
|
+ BSID_BANDADDED,
|
|
|
+ BSID_BANDREMOVED,
|
|
|
+};
|
|
|
+
|
|
|
+cpp_quote( "#define BSIM_STATE 0x00000001" )
|
|
|
+cpp_quote( "#define BSIM_STYLE 0x00000002" )
|
|
|
+
|
|
|
+cpp_quote( "#define BSSF_VISIBLE 0x00000001" )
|
|
|
+cpp_quote( "#define BSSF_NOTITLE 0x00000002" )
|
|
|
+cpp_quote( "#define BSSF_UNDELETEABLE 0x00001000" )
|
|
|
+
|
|
|
+cpp_quote( "#define BSIS_AUTOGRIPPER 0x00000000" )
|
|
|
+cpp_quote( "#define BSIS_NOGRIPPER 0x00000001" )
|
|
|
+cpp_quote( "#define BSIS_ALWAYSGRIPPER 0x00000002" )
|
|
|
+cpp_quote( "#define BSIS_LEFTALIGN 0x00000004" )
|
|
|
+cpp_quote( "#define BSIS_SINGLECLICK 0x00000008" )
|
|
|
+cpp_quote( "#define BSIS_NOCONTEXTMENU 0x00000010" )
|
|
|
+cpp_quote( "#define BSIS_NODROPTARGET 0x00000020" )
|
|
|
+cpp_quote( "#define BSIS_NOCAPTION 0x00000040" )
|
|
|
+cpp_quote( "#define BSIS_PREFERNOLINEBREAK 0x00000080" )
|
|
|
+cpp_quote( "#define BSIS_LOCKED 0x00000100" )
|
|
|
+cpp_quote( "#if (_WIN32_IE >= _WIN32_IE_IE70)" )
|
|
|
+cpp_quote( "#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200" )
|
|
|
+cpp_quote( "#endif /* _WIN32_IE_IE70 */" )
|
|
|
+
|
|
|
+cpp_quote( "#define SID_SBandSite IID_IBandSite" )
|
|
|
+cpp_quote( "#define CGID_BandSite IID_IBandSite" )
|
|
|
+
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 4CF504B0-DE96-11D0-8B3F-00A0C911E8E5 )
|
|
|
+]
|
|
|
+interface IBandSite : IUnknown
|
|
|
+{
|
|
|
+ HRESULT AddBand( [ in ] IUnknown* punk );
|
|
|
+
|
|
|
+ HRESULT EnumBands(
|
|
|
+ [ in ] UINT uBand,
|
|
|
+ [ out ] DWORD* pdwBandID );
|
|
|
+
|
|
|
+ HRESULT QueryBand(
|
|
|
+ [ in ] DWORD dwBandID,
|
|
|
+ [ out ] IDeskBand** ppstb,
|
|
|
+ [ out ] DWORD* pdwState,
|
|
|
+ [ out, string, size_is( cchName ) ] LPWSTR pszName,
|
|
|
+ [ in ] int cchName );
|
|
|
+
|
|
|
+ HRESULT SetBandState(
|
|
|
+ [ in ] DWORD dwBandID,
|
|
|
+ [ in ] DWORD dwMask,
|
|
|
+ [ in ] DWORD dwState );
|
|
|
+
|
|
|
+ HRESULT RemoveBand( [ in ] DWORD dwBandID );
|
|
|
+
|
|
|
+ HRESULT GetBandObject(
|
|
|
+ [ in ] DWORD dwBandID,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out, iid_is( riid ) ] void **ppv );
|
|
|
+
|
|
|
+ HRESULT SetBandSiteInfo( [ in ] const BANDSITEINFO *pbsinfo );
|
|
|
+
|
|
|
+ HRESULT GetBandSiteInfo( [ in, out ] BANDSITEINFO *pbsinfo );
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#endif /* _WIN32_IE_IE40 */" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IMenuBand interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 568804CD-CBD7-11d0-9816-00C04FD91972 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IMenuBand : IUnknown
|
|
|
+{
|
|
|
+ enum tagMENUBANDHANDLERCID
|
|
|
+ {
|
|
|
+ MBHANDCID_PIDLSELECT = 0,
|
|
|
+ };
|
|
|
+
|
|
|
+ HRESULT IsMenuMessage( [ in ] MSG* pmsg );
|
|
|
+
|
|
|
+ HRESULT TranslateMenuMessage(
|
|
|
+ [ in, out ] MSG* pmsg,
|
|
|
+ [ out ] LRESULT* plRet );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IProfferService interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( cb728b20-f786-11ce-92ad-00aa00a74cd0 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IProfferService : IUnknown
|
|
|
+{
|
|
|
+ HRESULT ProfferService(
|
|
|
+ [ in ] REFGUID rguidService,
|
|
|
+ [ in ] IServiceProvider *psp,
|
|
|
+ [ out ] DWORD *pdwCookie );
|
|
|
+
|
|
|
+ HRESULT RevokeService(
|
|
|
+ [ in ] DWORD dwCookie );
|
|
|
+}
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellMenuCallback interface
|
|
|
+*/
|
|
|
+cpp_quote( "#include <pshpack8.h>" )
|
|
|
+
|
|
|
+typedef struct tagSMDATA
|
|
|
+{
|
|
|
+ DWORD dwMask;
|
|
|
+ DWORD dwFlags;
|
|
|
+ HMENU hmenu;
|
|
|
+ HWND hwnd;
|
|
|
+ UINT uId;
|
|
|
+ UINT uIdParent;
|
|
|
+ UINT uIdAncestor;
|
|
|
+ IUnknown *punk;
|
|
|
+ LPITEMIDLIST pidlFolder;
|
|
|
+ LPITEMIDLIST pidlItem;
|
|
|
+ IShellFolder *psf;
|
|
|
+ void *pvUserData;
|
|
|
+} SMDATA, *LPSMDATA;
|
|
|
+
|
|
|
+cpp_quote( "#define SMDM_SHELLFOLDER 0x00000001" )
|
|
|
+cpp_quote( "#define SMDM_HMENU 0x00000002" )
|
|
|
+cpp_quote( "#define SMDM_TOOLBAR 0x00000004" )
|
|
|
+
|
|
|
+typedef struct tagSMINFO
|
|
|
+{
|
|
|
+ DWORD dwMask;
|
|
|
+ DWORD dwType;
|
|
|
+ DWORD dwFlags;
|
|
|
+ int iIcon;
|
|
|
+} SMINFO, *PSMINFO;
|
|
|
+
|
|
|
+typedef struct tagSHCSCHANGENOTIFYSTRUCT
|
|
|
+{
|
|
|
+ LONG lEvent;
|
|
|
+ LPCITEMIDLIST pidl1;
|
|
|
+ LPCITEMIDLIST pidl2;
|
|
|
+} SMCSHCHANGENOTIFYSTRUCT, *PSMCSHCHANGENOTIFYSTRUCT;
|
|
|
+
|
|
|
+cpp_quote( "#include <poppack.h>" )
|
|
|
+
|
|
|
+enum
|
|
|
+{
|
|
|
+ SMIM_TYPE = 0x00000001,
|
|
|
+ SMIM_FLAGS = 0x00000002,
|
|
|
+ SMIM_ICON = 0x00000004
|
|
|
+};
|
|
|
+
|
|
|
+enum
|
|
|
+{
|
|
|
+ SMIT_SEPARATOR = 0x00000001,
|
|
|
+ SMIT_STRING = 0x00000002
|
|
|
+};
|
|
|
+
|
|
|
+enum
|
|
|
+{
|
|
|
+ SMIF_ICON = 0x00000001,
|
|
|
+ SMIF_ACCELERATOR = 0x00000002,
|
|
|
+ SMIF_DROPTARGET = 0x00000004,
|
|
|
+ SMIF_SUBMENU = 0x00000008,
|
|
|
+ SMIF_CHECKED = 0x00000020,
|
|
|
+ SMIF_DROPCASCADE = 0x00000040,
|
|
|
+ SMIF_HIDDEN = 0x00000080,
|
|
|
+ SMIF_DISABLED = 0x00000100,
|
|
|
+ SMIF_TRACKPOPUP = 0x00000200,
|
|
|
+ SMIF_DEMOTED = 0x00000400,
|
|
|
+ SMIF_ALTSTATE = 0x00000800,
|
|
|
+ SMIF_DRAGNDROP = 0x00001000,
|
|
|
+ SMIF_NEW = 0x00002000,
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+cpp_quote( "#define SMC_INITMENU 0x00000001" )
|
|
|
+cpp_quote( "#define SMC_CREATE 0x00000002" )
|
|
|
+cpp_quote( "#define SMC_EXITMENU 0x00000003" )
|
|
|
+cpp_quote( "#define SMC_GETINFO 0x00000005" )
|
|
|
+cpp_quote( "#define SMC_GETSFINFO 0x00000006" )
|
|
|
+cpp_quote( "#define SMC_GETOBJECT 0x00000007" )
|
|
|
+cpp_quote( "#define SMC_GETSFOBJECT 0x00000008" )
|
|
|
+cpp_quote( "#define SMC_SFEXEC 0x00000009" )
|
|
|
+cpp_quote( "#define SMC_SFSELECTITEM 0x0000000A" )
|
|
|
+cpp_quote( "#define SMC_REFRESH 0x00000010" )
|
|
|
+cpp_quote( "#define SMC_DEMOTE 0x00000011" )
|
|
|
+cpp_quote( "#define SMC_PROMOTE 0x00000012" )
|
|
|
+cpp_quote( "#define SMC_DEFAULTICON 0x00000016" )
|
|
|
+cpp_quote( "#define SMC_NEWITEM 0x00000017" )
|
|
|
+cpp_quote( "#define SMC_CHEVRONEXPAND 0x00000019" )
|
|
|
+cpp_quote( "#define SMC_DISPLAYCHEVRONTIP 0x0000002A" )
|
|
|
+cpp_quote( "#define SMC_SETSFOBJECT 0x0000002D" )
|
|
|
+cpp_quote( "#define SMC_SHCHANGENOTIFY 0x0000002E" )
|
|
|
+cpp_quote( "#define SMC_CHEVRONGETTIP 0x0000002F" )
|
|
|
+cpp_quote( "#define SMC_SFDDRESTRICTED 0x00000030" )
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( 4CA300A1-9B8D-11d1-8B22-00C04FD918D0 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellMenuCallback : IUnknown
|
|
|
+{
|
|
|
+ HRESULT CallbackSM(
|
|
|
+ [ in, out ] LPSMDATA psmd,
|
|
|
+ [ in ] UINT uMsg,
|
|
|
+ [ in ] WPARAM wParam,
|
|
|
+ [ in ] LPARAM lParam );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellMenu interface
|
|
|
+*/
|
|
|
+
|
|
|
+cpp_quote( "#define SMINIT_DEFAULT 0x00000000" )
|
|
|
+cpp_quote( "#define SMINIT_RESTRICT_DRAGDROP 0x00000002" )
|
|
|
+cpp_quote( "#define SMINIT_TOPLEVEL 0x00000004" )
|
|
|
+cpp_quote( "#define SMINIT_CACHED 0x00000010" )
|
|
|
+cpp_quote( "#define SMINIT_VERTICAL 0x10000000" )
|
|
|
+cpp_quote( "#define SMINIT_HORIZONTAL 0x20000000" )
|
|
|
+cpp_quote( "" )
|
|
|
+cpp_quote( "#define ANCESTORDEFAULT (UINT)-1" )
|
|
|
+cpp_quote( "" )
|
|
|
+cpp_quote( "#define SMSET_TOP 0x10000000" )
|
|
|
+cpp_quote( "#define SMSET_BOTTOM 0x20000000" )
|
|
|
+cpp_quote( "#define SMSET_DONTOWN 0x00000001" )
|
|
|
+cpp_quote( "" )
|
|
|
+cpp_quote( "#define SMINV_REFRESH 0x00000001" )
|
|
|
+cpp_quote( "#define SMINV_ID 0x00000008" )
|
|
|
+
|
|
|
+[
|
|
|
+ uuid( EE1F7637-E138-11d1-8379-00C04FD918D0 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellMenu : IUnknown
|
|
|
+{
|
|
|
+ HRESULT Initialize(
|
|
|
+ [ in ] IShellMenuCallback *psmc,
|
|
|
+ [ in ] UINT uId,
|
|
|
+ [ in ] UINT uIdAncestor,
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT GetMenuInfo(
|
|
|
+ [ out ] IShellMenuCallback **ppsmc,
|
|
|
+ [ out ] UINT *puId,
|
|
|
+ [ out ] UINT *puIdAncestor,
|
|
|
+ [ out ] DWORD *pdwFlags );
|
|
|
+
|
|
|
+ HRESULT SetShellFolder(
|
|
|
+ [ in ] IShellFolder *psf,
|
|
|
+ [ in ] LPCITEMIDLIST pidlFolder,
|
|
|
+ [ in ] HKEY hKey,
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT GetShellFolder(
|
|
|
+ [ out ] DWORD *pdwFlags,
|
|
|
+ [ out ] LPITEMIDLIST *ppidl,
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out ] void **ppv );
|
|
|
+
|
|
|
+ HRESULT SetMenu(
|
|
|
+ [ in ] HMENU hmenu,
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT GetMenu(
|
|
|
+ [ out ] HMENU *phmenu,
|
|
|
+ [ out ] HWND *phwnd,
|
|
|
+ [ out ] DWORD *pdwFlags );
|
|
|
+
|
|
|
+ HRESULT InvalidateItem(
|
|
|
+ [ in ] LPSMDATA psmd,
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT GetState(
|
|
|
+ [ out ] LPSMDATA psmd );
|
|
|
+
|
|
|
+ HRESULT SetMenuToolbar(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ [ in ] DWORD dwFlags );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+typedef struct _WINDOWDATA
|
|
|
+{
|
|
|
+ DWORD dwWindowID;
|
|
|
+ UINT uiCP;
|
|
|
+ LPITEMIDLIST pidl;
|
|
|
+ [string] LPWSTR lpszUrl;
|
|
|
+ [string] LPWSTR lpszUrlLocation;
|
|
|
+ [string] LPWSTR lpszTitle;
|
|
|
+} WINDOWDATA;
|
|
|
+
|
|
|
+typedef WINDOWDATA *LPWINDOWDATA;
|
|
|
+typedef const WINDOWDATA *LPCWINDOWDATA;
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ITravelEntry interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( F46EDB3B-BC2F-11d0-9412-00AA00A3EBD3 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface ITravelEntry : IUnknown
|
|
|
+{
|
|
|
+ HRESULT Invoke(
|
|
|
+ [ in ] IUnknown *punk );
|
|
|
+
|
|
|
+ HRESULT Update(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ BOOL fIsLocalAnchor );
|
|
|
+
|
|
|
+ HRESULT GetPidl(
|
|
|
+ [ in ] LPITEMIDLIST *ppidl );
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ITravelLogClient interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 241c033e-e659-43da-aa4d-4086dbc4758d ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface ITravelLogClient : IUnknown
|
|
|
+{
|
|
|
+ HRESULT FindWindowByIndex(
|
|
|
+ [ in ] DWORD dwID,
|
|
|
+ [ out ] IUnknown **ppunk );
|
|
|
+
|
|
|
+ HRESULT GetWindowData(
|
|
|
+ [ out ] LPWINDOWDATA pWinData );
|
|
|
+
|
|
|
+ HRESULT LoadHistoryPosition(
|
|
|
+ [ in ] LPWSTR pszUrlLocation,
|
|
|
+ [ in ] DWORD dwPosition );
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ITravelLog interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 02BA3B52-0547-11D1-B833-00C04FC9B31F ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface ITravelLog : IUnknown
|
|
|
+{
|
|
|
+ enum tagTLENUMF
|
|
|
+ {
|
|
|
+ TLEF_RELATIVE_INCLUDE_CURRENT = 0x00000001,
|
|
|
+ TLEF_RELATIVE_BACK = 0x00000010,
|
|
|
+ TLEF_RELATIVE_FORE = 0x00000020,
|
|
|
+ TLEF_INCLUDE_UNINVOKEABLE = 0x00000040,
|
|
|
+ TLEF_ABSOLUTE = 0x00000031,
|
|
|
+ };
|
|
|
+ typedef DWORD TLENUMF;
|
|
|
+
|
|
|
+ HRESULT AddEntry(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ BOOL fIsLocalAnchor );
|
|
|
+
|
|
|
+ HRESULT UpdateEntry(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ BOOL fIsLocalAnchor );
|
|
|
+
|
|
|
+ HRESULT UpdateExternal(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ [ in ] IUnknown *punkHLBrowseContext );
|
|
|
+
|
|
|
+ HRESULT Travel(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ int iOffset );
|
|
|
+
|
|
|
+ HRESULT GetTravelEntry(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ int iOffset,
|
|
|
+ [ out ] ITravelEntry **ppte );
|
|
|
+
|
|
|
+ HRESULT FindTravelEntry(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ out ] ITravelEntry **ppte );
|
|
|
+
|
|
|
+ HRESULT GetToolTipText(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ int iOffset,
|
|
|
+ int idsTemplate,
|
|
|
+ [ out ] LPWSTR pwzText,
|
|
|
+ DWORD cchText );
|
|
|
+
|
|
|
+ HRESULT InsertMenuEntries(
|
|
|
+ [ in ] IUnknown *punk,
|
|
|
+ [ in, out ] HMENU hmenu,
|
|
|
+ int nPos,
|
|
|
+ int idFirst,
|
|
|
+ int idLast,
|
|
|
+ DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT Clone(
|
|
|
+ [ out ] ITravelLog **pptl );
|
|
|
+
|
|
|
+ DWORD CountEntries(
|
|
|
+ [ in ] IUnknown *punk );
|
|
|
+
|
|
|
+ HRESULT Revert();
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellService interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 5836FB00-8187-11CF-A12B-00AA004AE837 ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IShellService : IUnknown
|
|
|
+{
|
|
|
+ HRESULT SetOwner(
|
|
|
+ [ in ] IUnknown *owner );
|
|
|
+};
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellBrowser interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ object,
|
|
|
+ uuid( 02BA3B52-0547-11D1-B833-00C04FC9B31F ),
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IBrowserService : IUnknown
|
|
|
+{
|
|
|
+ typedef enum tagBNSTATE
|
|
|
+ {
|
|
|
+ BNS_NORMAL = 0,
|
|
|
+ BNS_BEGIN_NAVIGATE = 1,
|
|
|
+ BNS_NAVIGATE = 2
|
|
|
+ } BNSTATE;
|
|
|
+
|
|
|
+ cpp_quote( "#include <pshpack8.h>" )
|
|
|
+ typedef struct basebrowserdataxp
|
|
|
+ {
|
|
|
+ HWND _hwnd;
|
|
|
+ ITravelLog *_ptl;
|
|
|
+ IUnknown *_phlf;
|
|
|
+ IUnknown *_pautoWB2;
|
|
|
+ IUnknown *_pautoEDS;
|
|
|
+ IShellService *_pautoSS;
|
|
|
+ int _eSecureLockIcon;
|
|
|
+ DWORD _fCreatingViewWindow;
|
|
|
+ UINT _uActivateState;
|
|
|
+ LPITEMIDLIST _pidlViewState;
|
|
|
+ IOleCommandTarget *_pctView;
|
|
|
+ LPITEMIDLIST _pidlCur;
|
|
|
+ IShellView *_psv;
|
|
|
+ IShellFolder *_psf;
|
|
|
+ HWND _hwndView;
|
|
|
+ LPWSTR _pszTitleCur;
|
|
|
+ LPITEMIDLIST _pidlPending;
|
|
|
+ IShellView *_psvPending;
|
|
|
+ IShellFolder *_psfPending;
|
|
|
+ HWND _hwndViewPending;
|
|
|
+ LPWSTR _pszTitlePending;
|
|
|
+ BOOL _fIsViewMSHTML;
|
|
|
+ BOOL _fPrivacyImpacted;
|
|
|
+ CLSID _clsidView;
|
|
|
+ CLSID _clsidViewPending;
|
|
|
+ HWND _hwndFrame;
|
|
|
+ } BASEBROWSERDATAXP;
|
|
|
+ typedef struct basebrowserdataxp *LPBASEBROWSERDATAXP;
|
|
|
+
|
|
|
+ typedef struct basebrowserdatalh
|
|
|
+ {
|
|
|
+ HWND _hwnd;
|
|
|
+ ITravelLog *_ptl;
|
|
|
+ IUnknown *_phlf;
|
|
|
+ IUnknown *_pautoWB2;
|
|
|
+ IUnknown *_pautoEDS;
|
|
|
+ IShellService *_pautoSS;
|
|
|
+ int _eSecureLockIcon;
|
|
|
+ DWORD _fCreatingViewWindow;
|
|
|
+ UINT _uActivateState;
|
|
|
+ LPITEMIDLIST _pidlViewState;
|
|
|
+ IOleCommandTarget *_pctView;
|
|
|
+ LPITEMIDLIST _pidlCur;
|
|
|
+ IShellView *_psv;
|
|
|
+ IShellFolder *_psf;
|
|
|
+ HWND _hwndView;
|
|
|
+ LPWSTR _pszTitleCur;
|
|
|
+ LPITEMIDLIST _pidlPending;
|
|
|
+ IShellView *_psvPending;
|
|
|
+ IShellFolder *_psfPending;
|
|
|
+ HWND _hwndViewPending;
|
|
|
+ LPWSTR _pszTitlePending;
|
|
|
+ BOOL _fIsViewMSHTML;
|
|
|
+ BOOL _fPrivacyImpacted;
|
|
|
+ CLSID _clsidView;
|
|
|
+ CLSID _clsidViewPending;
|
|
|
+ HWND _hwndFrame;
|
|
|
+ LONG _lPhishingFilterStatus;
|
|
|
+ } BASEBROWSERDATALH;
|
|
|
+ cpp_quote( "#include <poppack.h>" )
|
|
|
+ typedef struct basebrowserdatalh *LPBASEBROWSERDATALH;
|
|
|
+
|
|
|
+ typedef BASEBROWSERDATAXP BASEBROWSERDATA;
|
|
|
+
|
|
|
+ typedef const BASEBROWSERDATA *LPCBASEBROWSERDATA;
|
|
|
+
|
|
|
+ typedef BASEBROWSERDATA *LPBASEBROWSERDATA;
|
|
|
+
|
|
|
+ cpp_quote( "#if 0" )
|
|
|
+ typedef HANDLE HMONITOR;
|
|
|
+ cpp_quote( "#endif /* 0 */" )
|
|
|
+
|
|
|
+ typedef struct SToolbarItem
|
|
|
+ {
|
|
|
+ IDockingWindow *ptbar;
|
|
|
+ BORDERWIDTHS rcBorderTool;
|
|
|
+ LPWSTR pwszItem;
|
|
|
+ BOOL fShow;
|
|
|
+ HMONITOR hMon;
|
|
|
+ } TOOLBARITEM;
|
|
|
+
|
|
|
+ typedef struct SToolbarItem *LPTOOLBARITEM;
|
|
|
+
|
|
|
+ HRESULT GetParentSite(
|
|
|
+ [ out ] IOleInPlaceSite **ppipsite );
|
|
|
+
|
|
|
+ HRESULT SetTitle(
|
|
|
+ [ in ] IShellView *psv,
|
|
|
+ [ in ] LPCWSTR pszName );
|
|
|
+
|
|
|
+ HRESULT GetTitle(
|
|
|
+ [ in ] IShellView *psv,
|
|
|
+ [ out ] LPWSTR pszName,
|
|
|
+ DWORD cchName );
|
|
|
+
|
|
|
+ HRESULT GetOleObject(
|
|
|
+ [ out ] IOleObject **ppobjv );
|
|
|
+
|
|
|
+ HRESULT GetTravelLog(
|
|
|
+ [ out ] ITravelLog **pptl );
|
|
|
+
|
|
|
+ HRESULT ShowControlWindow(
|
|
|
+ UINT id,
|
|
|
+ BOOL fShow );
|
|
|
+
|
|
|
+ HRESULT IsControlWindowShown(
|
|
|
+ UINT id,
|
|
|
+ [ out ] BOOL *pfShown );
|
|
|
+
|
|
|
+ HRESULT IEGetDisplayName(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ out ] LPWSTR pwszName,
|
|
|
+ UINT uFlags );
|
|
|
+
|
|
|
+ HRESULT IEParseDisplayName(
|
|
|
+ UINT uiCP,
|
|
|
+ [ in ] LPCWSTR pwszPath,
|
|
|
+ [ out ] LPCITEMIDLIST *ppidlOut );
|
|
|
+
|
|
|
+ HRESULT DisplayParseError(
|
|
|
+ HRESULT hres,
|
|
|
+ [ in ] LPCWSTR pwszPath );
|
|
|
+
|
|
|
+ HRESULT NavigateToPidl(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ DWORD grfHLNF );
|
|
|
+
|
|
|
+ HRESULT SetNavigateState(
|
|
|
+ BNSTATE bnstate );
|
|
|
+
|
|
|
+ HRESULT GetNavigateState(
|
|
|
+ [ out ] BNSTATE *pbnstate );
|
|
|
+
|
|
|
+ HRESULT NotifyRedirect(
|
|
|
+ [ in ] IShellView *psv,
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ [ out ] BOOL *pfDidBrowse );
|
|
|
+
|
|
|
+ HRESULT UpdateWindowList();
|
|
|
+
|
|
|
+ HRESULT UpdateBackForwardState();
|
|
|
+
|
|
|
+ HRESULT SetFlags(
|
|
|
+ DWORD dwFlags,
|
|
|
+ DWORD dwFlagMask );
|
|
|
+
|
|
|
+ HRESULT GetFlags(
|
|
|
+ [ out ] DWORD *pdwFlags );
|
|
|
+
|
|
|
+ HRESULT CanNavigateNow();
|
|
|
+
|
|
|
+ HRESULT GetPidl(
|
|
|
+ [ out ] LPCITEMIDLIST *ppidl );
|
|
|
+
|
|
|
+ HRESULT SetReferrer(
|
|
|
+ [ in ] LPCITEMIDLIST pidl );
|
|
|
+
|
|
|
+ DWORD GetBrowserIndex();
|
|
|
+
|
|
|
+ HRESULT GetBrowserByIndex(
|
|
|
+ DWORD dwID,
|
|
|
+ [ out ] IUnknown **ppunk );
|
|
|
+
|
|
|
+ HRESULT GetHistoryObject(
|
|
|
+ [ out ] IOleObject **ppole,
|
|
|
+ [ out ] IStream **pstm,
|
|
|
+ [ out ] IBindCtx **ppbc );
|
|
|
+
|
|
|
+ HRESULT SetHistoryObject(
|
|
|
+ [ in ] IOleObject *pole,
|
|
|
+ BOOL fIsLocalAnchor );
|
|
|
+
|
|
|
+ HRESULT CacheOLEServer(
|
|
|
+ [ in ] IOleObject *pole );
|
|
|
+
|
|
|
+ HRESULT GetSetCodePage(
|
|
|
+ [ in ] VARIANT *pvarIn,
|
|
|
+ [ out ] VARIANT *pvarOut );
|
|
|
+
|
|
|
+ HRESULT OnHttpEquiv(
|
|
|
+ [ in ] IShellView *psv,
|
|
|
+ BOOL fDone,
|
|
|
+ [ in ] VARIANT *pvarargIn,
|
|
|
+ [ out ] VARIANT *pvarargOut );
|
|
|
+
|
|
|
+ HRESULT GetPalette(
|
|
|
+ [ out ] HPALETTE *hpal );
|
|
|
+
|
|
|
+ HRESULT RegisterWindow(
|
|
|
+ BOOL fForceRegister,
|
|
|
+ int swc );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellBrowser2 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 68BD21CC-438B-11D2-A560-00A0C92DBFE8 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IBrowserService2 : IBrowserService
|
|
|
+{
|
|
|
+ typedef struct tagFolderSetData
|
|
|
+ {
|
|
|
+ FOLDERSETTINGS _fs;
|
|
|
+ SHELLVIEWID _vidRestore;
|
|
|
+ DWORD _dwViewPriority;
|
|
|
+ } FOLDERSETDATA;
|
|
|
+
|
|
|
+ typedef struct tagFolderSetData *LPFOLDERSETDATA;
|
|
|
+
|
|
|
+ LRESULT WndProcBS(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ UINT uMsg,
|
|
|
+ WPARAM wParam,
|
|
|
+ LPARAM lParam );
|
|
|
+
|
|
|
+ HRESULT SetAsDefFolderSettings();
|
|
|
+
|
|
|
+ HRESULT GetViewRect(
|
|
|
+ [ out ] RECT *prc );
|
|
|
+
|
|
|
+ HRESULT OnSize(
|
|
|
+ WPARAM wParam );
|
|
|
+
|
|
|
+ HRESULT OnCreate(
|
|
|
+ [ in ] struct tagCREATESTRUCTW *pcs );
|
|
|
+
|
|
|
+ LRESULT OnCommand(
|
|
|
+ WPARAM wParam,
|
|
|
+ LPARAM lParam );
|
|
|
+
|
|
|
+ HRESULT OnDestroy();
|
|
|
+
|
|
|
+ LRESULT OnNotify(
|
|
|
+ [ in ] struct tagNMHDR *pnm );
|
|
|
+
|
|
|
+ HRESULT OnSetFocus();
|
|
|
+
|
|
|
+ HRESULT OnFrameWindowActivateBS(
|
|
|
+ BOOL fActive );
|
|
|
+
|
|
|
+ HRESULT ReleaseShellView();
|
|
|
+
|
|
|
+ HRESULT ActivatePendingView();
|
|
|
+
|
|
|
+ HRESULT CreateViewWindow(
|
|
|
+ [ in ] IShellView *psvNew,
|
|
|
+ [ in ] IShellView *psvOld,
|
|
|
+ [ in ] LPRECT prcView,
|
|
|
+ [ out ] HWND *phwnd );
|
|
|
+
|
|
|
+ HRESULT CreateBrowserPropSheetExt(
|
|
|
+ [ in ] REFIID riid,
|
|
|
+ [ out ] void **ppv );
|
|
|
+
|
|
|
+ HRESULT GetViewWindow(
|
|
|
+ [ out ] HWND *phwndView );
|
|
|
+
|
|
|
+ HRESULT GetBaseBrowserData(
|
|
|
+ [ out ] LPCBASEBROWSERDATA *pbbd );
|
|
|
+
|
|
|
+ LPBASEBROWSERDATA PutBaseBrowserData();
|
|
|
+
|
|
|
+ HRESULT InitializeTravelLog(
|
|
|
+ [ in ] ITravelLog *ptl,
|
|
|
+ DWORD dw );
|
|
|
+
|
|
|
+ HRESULT SetTopBrowser();
|
|
|
+
|
|
|
+ HRESULT Offline(
|
|
|
+ int iCmd );
|
|
|
+
|
|
|
+ HRESULT AllowViewResize(
|
|
|
+ BOOL f );
|
|
|
+
|
|
|
+ HRESULT SetActivateState(
|
|
|
+ UINT u );
|
|
|
+
|
|
|
+ HRESULT UpdateSecureLockIcon(
|
|
|
+ int eSecureLock );
|
|
|
+
|
|
|
+ HRESULT InitializeDownloadManager();
|
|
|
+
|
|
|
+ HRESULT InitializeTransitionSite();
|
|
|
+
|
|
|
+ HRESULT _Initialize(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] IUnknown *pauto );
|
|
|
+
|
|
|
+ HRESULT _CancelPendingNavigationAsync();
|
|
|
+
|
|
|
+ HRESULT _CancelPendingView();
|
|
|
+
|
|
|
+ HRESULT _MaySaveChanges();
|
|
|
+
|
|
|
+ HRESULT _PauseOrResumeView(
|
|
|
+ BOOL fPaused );
|
|
|
+
|
|
|
+ HRESULT _DisableModeless();
|
|
|
+
|
|
|
+ HRESULT _NavigateToPidl(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ DWORD grfHLNF,
|
|
|
+ DWORD dwFlags );
|
|
|
+
|
|
|
+ HRESULT _TryShell2Rename(
|
|
|
+ [ in ] IShellView *psv,
|
|
|
+ [ in ] LPCITEMIDLIST pidlNew );
|
|
|
+
|
|
|
+ HRESULT _SwitchActivationNow();
|
|
|
+
|
|
|
+ HRESULT _ExecChildren(
|
|
|
+ [ in ] IUnknown *punkBar,
|
|
|
+ BOOL fBroadcast,
|
|
|
+ [ in ] const GUID *pguidCmdGroup,
|
|
|
+ DWORD nCmdID,
|
|
|
+ DWORD nCmdexecopt,
|
|
|
+ [ in ] VARIANTARG *pvarargIn,
|
|
|
+ [ in, out ] VARIANTARG *pvarargOut );
|
|
|
+
|
|
|
+ HRESULT _SendChildren(
|
|
|
+ [ in ] HWND hwndBar,
|
|
|
+ BOOL fBroadcast,
|
|
|
+ UINT uMsg,
|
|
|
+ WPARAM wParam,
|
|
|
+ LPARAM lParam );
|
|
|
+
|
|
|
+ HRESULT GetFolderSetData(
|
|
|
+ [ out ] struct tagFolderSetData *pfsd );
|
|
|
+
|
|
|
+ HRESULT _OnFocusChange(
|
|
|
+ UINT itb );
|
|
|
+
|
|
|
+ HRESULT v_ShowHideChildWindows(
|
|
|
+ BOOL fChildOnly );
|
|
|
+
|
|
|
+ UINT _get_itbLastFocus();
|
|
|
+
|
|
|
+ HRESULT _put_itbLastFocus(
|
|
|
+ UINT itbLastFocus );
|
|
|
+
|
|
|
+ HRESULT _UIActivateView(
|
|
|
+ UINT uState );
|
|
|
+
|
|
|
+ HRESULT _GetViewBorderRect(
|
|
|
+ [ out ] RECT *prc );
|
|
|
+
|
|
|
+ HRESULT _UpdateViewRectSize();
|
|
|
+
|
|
|
+ HRESULT _ResizeNextBorder(
|
|
|
+ UINT itb );
|
|
|
+
|
|
|
+ HRESULT _ResizeView();
|
|
|
+
|
|
|
+ HRESULT _GetEffectiveClientArea(
|
|
|
+ [ out ] LPRECT lprectBorder,
|
|
|
+ [ in ] HMONITOR hmon );
|
|
|
+
|
|
|
+ IStream *v_GetViewStream(
|
|
|
+ [ in ] LPCITEMIDLIST pidl,
|
|
|
+ DWORD grfMode,
|
|
|
+ [ in ] LPCWSTR pwszName );
|
|
|
+
|
|
|
+ LRESULT ForwardViewMsg(
|
|
|
+ UINT uMsg,
|
|
|
+ WPARAM wParam,
|
|
|
+ LPARAM lParam );
|
|
|
+
|
|
|
+ HRESULT SetAcceleratorMenu(
|
|
|
+ [ in ] HACCEL hacc );
|
|
|
+
|
|
|
+ int _GetToolbarCount();
|
|
|
+
|
|
|
+ LPTOOLBARITEM _GetToolbarItem(
|
|
|
+ int itb );
|
|
|
+
|
|
|
+ HRESULT _SaveToolbars(
|
|
|
+ [ in ] IStream *pstm );
|
|
|
+
|
|
|
+ HRESULT _LoadToolbars(
|
|
|
+ [ in ] IStream *pstm );
|
|
|
+
|
|
|
+ HRESULT _CloseAndReleaseToolbars(
|
|
|
+ BOOL fClose );
|
|
|
+
|
|
|
+ HRESULT v_MayGetNextToolbarFocus(
|
|
|
+ [ in ] LPMSG lpMsg,
|
|
|
+ UINT itbNext,
|
|
|
+ int citb,
|
|
|
+ [ out ] LPTOOLBARITEM *pptbi,
|
|
|
+ [ out ] HWND *phwnd );
|
|
|
+
|
|
|
+ HRESULT _ResizeNextBorderHelper(
|
|
|
+ UINT itb,
|
|
|
+ BOOL bUseHmonitor );
|
|
|
+
|
|
|
+ UINT _FindTBar(
|
|
|
+ [ in ] IUnknown *punkSrc );
|
|
|
+
|
|
|
+ HRESULT _SetFocus(
|
|
|
+ [ in ] LPTOOLBARITEM ptbi,
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] LPMSG lpMsg );
|
|
|
+
|
|
|
+ HRESULT v_MayTranslateAccelerator(
|
|
|
+ [ in ] MSG *pmsg );
|
|
|
+
|
|
|
+ HRESULT _GetBorderDWHelper(
|
|
|
+ [ in ] IUnknown *punkSrc,
|
|
|
+ [ out ] LPRECT lprectBorder,
|
|
|
+ BOOL bUseHmonitor );
|
|
|
+
|
|
|
+ HRESULT v_CheckZoneCrossing(
|
|
|
+ [ in ] LPCITEMIDLIST pidl );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellBrowser3 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 27D7CE21-762D-48F3-86F3-40E2FD3749C4 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IBrowserService3 : IBrowserService2
|
|
|
+{
|
|
|
+ HRESULT _PositionViewWindow(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] LPRECT prc );
|
|
|
+
|
|
|
+ HRESULT IEParseDisplayNameEx(
|
|
|
+ UINT uiCP,
|
|
|
+ [ in ] LPCWSTR pwszPath,
|
|
|
+ DWORD dwFlags,
|
|
|
+ [ out ] LPITEMIDLIST *ppidlOut );
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* IShellBrowser4 interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 639f1bff-e135-4096-abd8-e0f504d649a4 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface IBrowserService4 : IBrowserService3
|
|
|
+{
|
|
|
+ HRESULT ActivateView(
|
|
|
+ BOOL fPendingView );
|
|
|
+
|
|
|
+ HRESULT SaveViewState();
|
|
|
+
|
|
|
+ HRESULT _ResizeAllBorders();
|
|
|
+}
|
|
|
+
|
|
|
+cpp_quote( "#if (_WIN32_IE >= _WIN32_IE_IE60)" )
|
|
|
+
|
|
|
+/*****************************************************************************
|
|
|
+* ITrackShellMenu interface
|
|
|
+*/
|
|
|
+[
|
|
|
+ uuid( 8278F932-2A3E-11d2-838F-00C04FD918D0 ),
|
|
|
+ object,
|
|
|
+ pointer_default( unique ),
|
|
|
+ local
|
|
|
+]
|
|
|
+interface ITrackShellMenu : IShellMenu
|
|
|
+{
|
|
|
+ HRESULT SetObscured(
|
|
|
+ [ in ] HWND hwndTB,
|
|
|
+ [ in ] IUnknown *punkBand,
|
|
|
+ DWORD dwSMSetFlags );
|
|
|
+
|
|
|
+ HRESULT Popup(
|
|
|
+ [ in ] HWND hwnd,
|
|
|
+ [ in ] POINTL *ppt,
|
|
|
+ [ in ] RECTL *prcExclude,
|
|
|
+ MP_POPUPFLAGS dwFlags );
|
|
|
+};
|
|
|
+
|
|
|
+cpp_quote( "#endif /* _WIN32_IE_IE60 */" )
|