Commit d937dc29 authored by Alexandre Julliard's avatar Alexandre Julliard

Implemented shtypes.idl and shobjidl.idl and removed a few more

wine/obj_* headers.
parent 837e357d
......@@ -1186,7 +1186,7 @@ static ULONG WINAPI IShellLinkW_fnRelease(IShellLinkW * iface)
return IShellLinkA_Release((IShellLinkA*)This);
}
static HRESULT WINAPI IShellLinkW_fnGetPath(IShellLinkW * iface, LPWSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags)
static HRESULT WINAPI IShellLinkW_fnGetPath(IShellLinkW * iface, LPWSTR pszFile,INT cchMaxPath, WIN32_FIND_DATAW *pfd, DWORD fFlags)
{
_ICOM_THIS_From_IShellLinkW(IShellLinkImpl, iface);
......
......@@ -636,7 +636,7 @@ static HRESULT WINAPI ISF_Desktop_fnGetDetailsOf (IShellFolder2 * iface,
return hr;
}
static HRESULT WINAPI ISF_Desktop_fnMapNameToSCID (IShellFolder2 * iface, LPCWSTR pwszName, SHCOLUMNID * pscid)
static HRESULT WINAPI ISF_Desktop_fnMapColumnToSCID (IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
{
ICOM_THIS (IGenericSFImpl, iface);
FIXME ("(%p)\n", This);
......@@ -666,4 +666,4 @@ static ICOM_VTABLE (IShellFolder2) vt_MCFldr_ShellFolder2 =
ISF_Desktop_fnGetDefaultColumnState,
ISF_Desktop_fnGetDetailsEx,
ISF_Desktop_fnGetDetailsOf,
ISF_Desktop_fnMapNameToSCID};
ISF_Desktop_fnMapColumnToSCID};
......@@ -805,7 +805,7 @@ IShellFolder_fnGetDetailsOf (IShellFolder2 * iface, LPCITEMIDLIST pidl, UINT iCo
return hr;
}
static HRESULT WINAPI IShellFolder_fnMapNameToSCID (IShellFolder2 * iface, LPCWSTR pwszName, SHCOLUMNID * pscid)
static HRESULT WINAPI IShellFolder_fnMapColumnToSCID (IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
{
_ICOM_THIS_From_IShellFolder2 (IGenericSFImpl, iface)
FIXME ("(%p)\n", This);
......@@ -835,7 +835,7 @@ static ICOM_VTABLE (IShellFolder2) sfvt =
IShellFolder_fnGetDefaultColumnState,
IShellFolder_fnGetDetailsEx,
IShellFolder_fnGetDetailsOf,
IShellFolder_fnMapNameToSCID
IShellFolder_fnMapColumnToSCID
};
/****************************************************************************
......
......@@ -591,7 +591,7 @@ static HRESULT WINAPI ISF_MyComputer_fnGetDetailsOf (IShellFolder2 * iface, LPCI
return hr;
}
static HRESULT WINAPI ISF_MyComputer_fnMapNameToSCID (IShellFolder2 * iface, LPCWSTR pwszName, SHCOLUMNID * pscid)
static HRESULT WINAPI ISF_MyComputer_fnMapColumnToSCID (IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
{
ICOM_THIS (IGenericSFImpl, iface);
FIXME ("(%p)\n", This);
......@@ -621,7 +621,7 @@ static ICOM_VTABLE (IShellFolder2) vt_ShellFolder2 =
ISF_MyComputer_fnGetDefaultColumnState,
ISF_MyComputer_fnGetDetailsEx,
ISF_MyComputer_fnGetDetailsOf,
ISF_MyComputer_fnMapNameToSCID
ISF_MyComputer_fnMapColumnToSCID
};
/************************************************************************
......
......@@ -1851,24 +1851,6 @@ static HRESULT WINAPI IShellView_fnGetItemObject(IShellView * iface, UINT uItem,
return S_OK;
}
static HRESULT WINAPI IShellView_fnEditItem(
IShellView * iface,
LPCITEMIDLIST pidl)
{
ICOM_THIS(IShellViewImpl, iface);
int i;
TRACE("(%p)->(pidl=%p)\n",This, pidl);
i = LV_FindItemByPidl(This, pidl);
if (i != -1)
{
SetFocus(This->hWndList);
ListView_EditLabelA(This->hWndList, i);
}
return S_OK;
}
static struct ICOM_VTABLE(IShellView) svvt =
{
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
......@@ -1887,8 +1869,7 @@ static struct ICOM_VTABLE(IShellView) svvt =
IShellView_fnAddPropertySheetPages,
IShellView_fnSaveViewState,
IShellView_fnSelectItem,
IShellView_fnGetItemObject,
IShellView_fnEditItem
IShellView_fnGetItemObject
};
......
......@@ -13,6 +13,8 @@ IDL_SRCS = \
ocidl.idl \
oleidl.idl \
servprov.idl \
shobjidl.idl \
shtypes.idl \
strmif.idl \
unknwn.idl \
urlmon.idl \
......@@ -246,13 +248,8 @@ WINE_INCLUDES = \
obj_contextmenu.h \
obj_dockingwindowframe.h \
obj_dragdrophelper.h \
obj_enumidlist.h \
obj_extracticon.h \
obj_shellbrowser.h \
obj_shellextinit.h \
obj_shellfolder.h \
obj_shelllink.h \
obj_shellview.h \
unicode.h
EXTRASUBDIRS = bitmaps msvcrt msvcrt/sys wine
......
......@@ -43,35 +43,41 @@ DEFINE_SHLGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
DEFINE_SHLGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0);
DEFINE_SHLGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0);
DEFINE_SHLGUID(IID_IShellBrowser, 0x000214E2L, 0, 0);
DEFINE_SHLGUID(IID_IShellView, 0x000214E3L, 0, 0);
DEFINE_SHLGUID(IID_IContextMenu, 0x000214E4L, 0, 0);
DEFINE_SHLGUID(IID_IShellIcon, 0x000214E5L, 0, 0);
DEFINE_SHLGUID(IID_IShellFolder, 0x000214E6L, 0, 0);
DEFINE_SHLGUID(IID_IShellExtInit, 0x000214E8L, 0, 0);
DEFINE_SHLGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0);
DEFINE_SHLGUID(IID_IPersistFolder, 0x000214EAL, 0, 0);
DEFINE_SHLGUID(IID_IExtractIconA, 0x000214EBL, 0, 0);
DEFINE_SHLGUID(IID_IShellDetails, 0x000214ECL, 0, 0);
DEFINE_SHLGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0);
DEFINE_SHLGUID(IID_IShellLinkA, 0x000214EEL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerA, 0x000214F0L, 0, 0);
DEFINE_SHLGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0);
DEFINE_SHLGUID(IID_IEnumIDList, 0x000214F2L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0);
DEFINE_SHLGUID(IID_IContextMenu2, 0x000214F4L, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0);
DEFINE_SHLGUID(IID_IPropSheetPage, 0x000214F6L, 0, 0);
DEFINE_SHLGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerW, 0x000214F8L, 0, 0);
DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0);
DEFINE_SHLGUID(IID_IExtractIconW, 0x000214FAL, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookW, 0x000214FCL, 0, 0);
DEFINE_SHLGUID(IID_IRemoteComputer, 0x000214FEL, 0, 0);
DEFINE_SHLGUID(IID_IQueryInfo, 0x00021500L, 0, 0);
/* avoid duplicate definitions with shobjidl.h (FIXME) */
/* DEFINE_SHLGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellView, 0x000214E3L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellExtInit, 0x000214E8L, 0, 0); */
/* DEFINE_SHLGUID(IID_IPersistFolder, 0x000214EAL, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellLinkA, 0x000214EEL, 0, 0); */
/* DEFINE_SHLGUID(IID_IEnumIDList, 0x000214F2L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); */
DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
#define SID_SShellBrowser IID_IShellBrowser
#define IID_IFileViewer WINELIB_NAME_AW(IID_IFileViewer)
#define IID_IShellLink WINELIB_NAME_AW(IID_IShellLink)
#define IID_IExtractIcon WINELIB_NAME_AW(IID_IExtractIcon)
......
......@@ -33,36 +33,17 @@ extern "C" {
#include <pshpack1.h>
/****************************************************************************
* SHITEMID, ITEMIDLIST, PIDL API
*/
#include <pshpack1.h>
typedef struct
{
WORD cb; /* nr of bytes in this item */
BYTE abID[1]; /* first byte in this item */
} SHITEMID, *LPSHITEMID;
typedef const SHITEMID *LPCSHITEMID;
#include <shtypes.h>
#include <shobjidl.h>
typedef struct _ITEMIDLIST
{
SHITEMID mkid; /* first itemid in list */
} ITEMIDLIST,*LPITEMIDLIST;
typedef const ITEMIDLIST *LPCITEMIDLIST;
#include <poppack.h>
BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
#include <wine/obj_enumidlist.h>
#include <wine/obj_shellfolder.h>
#include <wine/obj_shellview.h>
#include <wine/obj_shelllink.h>
#include <wine/obj_shellbrowser.h>
#include <wine/obj_contextmenu.h>
#include <wine/obj_shellextinit.h>
#include <wine/obj_extracticon.h>
#include <wine/obj_commdlgbrowser.h>
#include <wine/obj_dockingwindowframe.h>
......@@ -123,6 +104,69 @@ extern UINT cfFileContents;
typedef GUID SHELLVIEWID;
#define SV_CLASS_NAME ("SHELLDLL_DefView")
#define FCIDM_SHVIEWFIRST 0x0000
/* undocumented */
#define FCIDM_SHVIEW_ARRANGE 0x7001
#define FCIDM_SHVIEW_DELETE 0x7011
#define FCIDM_SHVIEW_PROPERTIES 0x7013
#define FCIDM_SHVIEW_CUT 0x7018
#define FCIDM_SHVIEW_COPY 0x7019
#define FCIDM_SHVIEW_INSERT 0x701A
#define FCIDM_SHVIEW_UNDO 0x701B
#define FCIDM_SHVIEW_INSERTLINK 0x701C
#define FCIDM_SHVIEW_SELECTALL 0x7021
#define FCIDM_SHVIEW_INVERTSELECTION 0x7022
#define FCIDM_SHVIEW_BIGICON 0x7029
#define FCIDM_SHVIEW_SMALLICON 0x702A
#define FCIDM_SHVIEW_LISTVIEW 0x702B
#define FCIDM_SHVIEW_REPORTVIEW 0x702C
/* 0x7030-0x703f are used by the shellbrowser */
#define FCIDM_SHVIEW_AUTOARRANGE 0x7031
#define FCIDM_SHVIEW_SNAPTOGRID 0x7032
#define FCIDM_SHVIEW_HELP 0x7041
#define FCIDM_SHVIEW_RENAME 0x7050
#define FCIDM_SHVIEW_CREATELINK 0x7051
#define FCIDM_SHVIEW_NEWLINK 0x7052
#define FCIDM_SHVIEW_NEWFOLDER 0x7053
#define FCIDM_SHVIEW_REFRESH 0x7100 /* FIXME */
#define FCIDM_SHVIEW_EXPLORE 0x7101 /* FIXME */
#define FCIDM_SHVIEW_OPEN 0x7102 /* FIXME */
#define FCIDM_SHVIEWLAST 0x7fff
#define FCIDM_BROWSERFIRST 0xA000
/* undocumented toolbar items from stddlg's*/
#define FCIDM_TB_UPFOLDER 0xA001
#define FCIDM_TB_NEWFOLDER 0xA002
#define FCIDM_TB_SMALLICON 0xA003
#define FCIDM_TB_REPORTVIEW 0xA004
#define FCIDM_TB_DESKTOP 0xA005 /* FIXME */
#define FCIDM_BROWSERLAST 0xbf00
#define FCIDM_GLOBALFIRST 0x8000
#define FCIDM_GLOBALLAST 0x9fff
/*
* Global submenu IDs and separator IDs
*/
#define FCIDM_MENU_FILE (FCIDM_GLOBALFIRST+0x0000)
#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
/* control IDs known to the view */
#define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0)
#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
/****************************************************************************
* IShellIcon interface
*/
......
/*** Autogenerated by WIDL 0.1 from shtypes.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef __WIDL_SHTYPES_H
#define __WIDL_SHTYPES_H
#ifdef __cplusplus
extern "C" {
#endif
#include <wtypes.h>
#include <pshpack1.h>
typedef struct {
WORD cb;
BYTE abID[1];
} SHITEMID, *LPSHITEMID;
typedef const SHITEMID *LPCSHITEMID;
typedef struct _ITEMIDLIST {
SHITEMID mkid;
} ITEMIDLIST, *LPITEMIDLIST;
typedef const ITEMIDLIST *LPCITEMIDLIST;
#include <poppack.h>
#if 0
typedef struct {
int dummy;
} WIN32_FIND_DATAA, WIN32_FIND_DATAW;
#endif
typedef enum tagSTRRET_TYPE {
STRRET_WSTR = 0,
STRRET_OFFSET = 1,
STRRET_CSTR = 2
} STRRET_TYPE;
#include <pshpack4.h>
typedef struct _STRRET {
UINT uType;
union {
LPWSTR pOleStr;
UINT uOffset;
char cStr[260];
} DUMMYUNIONNAME;
} STRRET, *LPSTRRET;
#include <poppack.h>
#include <pshpack1.h>
typedef struct {
int fmt;
int cxChar;
STRRET str;
} SHELLDETAILS, *LPSHELLDETAILS;
#include <poppack.h>
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_SHTYPES_H */
/*
* Type definitions 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import "wtypes.idl";
cpp_quote("#include <pshpack1.h>")
typedef struct
{
WORD cb; /* nr of bytes in this item */
BYTE abID[1]; /* first byte in this item */
} SHITEMID, *LPSHITEMID;
typedef const SHITEMID *LPCSHITEMID;
typedef struct _ITEMIDLIST
{
SHITEMID mkid; /* first itemid in list */
} ITEMIDLIST,*LPITEMIDLIST;
typedef const ITEMIDLIST *LPCITEMIDLIST;
cpp_quote("#include <poppack.h>")
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
cpp_quote("#if 0")
typedef struct { int dummy; } WIN32_FIND_DATAA, WIN32_FIND_DATAW;
cpp_quote("#endif")
typedef enum tagSTRRET_TYPE
{
STRRET_WSTR = 0,
STRRET_OFFSET = 1,
STRRET_CSTR = 2
} STRRET_TYPE;
cpp_quote("#include <pshpack4.h>")
typedef struct _STRRET
{
UINT uType; /* STRRET_xxx */
[switch_type(UINT), switch_is(uType)] union
{
[case(STRRET_WSTR)][string] LPWSTR pOleStr; /* OLESTR that will be freed */
[case(STRRET_OFFSET)] UINT uOffset; /* Offset into SHITEMID (ANSI) */
[case(STRRET_CSTR)] char cStr[MAX_PATH]; /* ANSI Buffer */
} DUMMYUNIONNAME;
} STRRET, *LPSTRRET;
cpp_quote("#include <poppack.h>")
cpp_quote("#include <pshpack1.h>")
typedef struct
{
int fmt;
int cxChar;
STRRET str;
} SHELLDETAILS, *LPSHELLDETAILS;
cpp_quote("#include <poppack.h>")
/*
* Defines the COM interfaces and APIs related to EnumIDList
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Juergen Schmied
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_ENUMIDLIST_H
#define __WINE_WINE_OBJ_ENUMIDLIST_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the interfaces
*/
typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
#define INTERFACE IEnumIDList
#define IEnumIDList_METHODS \
IUnknown_METHODS \
STDMETHOD(Next)(THIS_ ULONG celt, LPITEMIDLIST * rgelt, ULONG * pceltFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumIDList ** ppenum) PURE;
ICOM_DEFINE(IEnumIDList,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
/*** IEnumIDList methods ***/
#define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
#define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
#define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
#define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_ENUMIDLIST_H */
/*
* IShellBrowser
*
* Copyright (C) 1999 Juergen Schmied
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_SHELLBROWSER_H
#define __WINE_WINE_OBJ_SHELLBROWSER_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/* it's ok commented out, see obj_shellview.h
typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
*/
#define SID_SShellBrowser IID_IShellBrowser
DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
/* targets for GetWindow/SendControlMsg */
#define FCW_STATUS 0x0001
#define FCW_TOOLBAR 0x0002
#define FCW_TREE 0x0003
#define FCW_INTERNETBAR 0x0006
#define FCW_PROGRESS 0x0008
/* wFlags for BrowseObject*/
#define SBSP_DEFBROWSER 0x0000
#define SBSP_SAMEBROWSER 0x0001
#define SBSP_NEWBROWSER 0x0002
#define SBSP_DEFMODE 0x0000
#define SBSP_OPENMODE 0x0010
#define SBSP_EXPLOREMODE 0x0020
#define SBSP_ABSOLUTE 0x0000
#define SBSP_RELATIVE 0x1000
#define SBSP_PARENT 0x2000
#define SBSP_NAVIGATEBACK 0x4000
#define SBSP_NAVIGATEFORWARD 0x8000
#define SBSP_ALLOW_AUTONAVIGATE 0x10000
#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
#define SBSP_REDIRECT 0x40000000
#define SBSP_WRITENOHISTORY 0x08000000
/* uFlage for SetToolbarItems */
#define FCT_MERGE 0x0001
#define FCT_CONFIGABLE 0x0002
#define FCT_ADDTOEND 0x0004
#define INTERFACE IShellBrowser
#define IShellBrowser_METHODS \
IOleWindow_METHODS \
STDMETHOD(InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
STDMETHOD(SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
STDMETHOD(RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR lpszStatusText) PURE; \
STDMETHOD(EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(TranslateAcceleratorSB)(THIS_ LPMSG lpmsg, WORD wID) PURE; \
STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
STDMETHOD(GetViewStateStream)(THIS_ DWORD grfMode, LPSTREAM * ppStrm) PURE; \
STDMETHOD(GetControlWindow)(THIS_ UINT id, HWND * lphwnd) PURE; \
STDMETHOD(SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT * pret) PURE; \
STDMETHOD(QueryActiveShellView)(THIS_ IShellView ** IShellView) PURE; \
STDMETHOD(OnViewWindowActive)(THIS_ IShellView * IShellView) PURE; \
STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) PURE;
ICOM_DEFINE(IShellBrowser,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellBrowser_Release(p) (p)->lpVtbl->Release(p)
/*** IShellBrowser methods ***/
#define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b)
#define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c)
#define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a)
#define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a)
#define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a)
#define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b)
#define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b)
#define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b)
#define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b)
#define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e)
#define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a)
#define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a)
#define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_SHELLBROWSER_H */
/*
* IShellExtInit
*
* Copyright (C) 1999 Juergen Schmied
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_SHELLEXTINIT_H
#define __WINE_WINE_OBJ_SHELLEXTINIT_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
typedef struct IShellExtInit IShellExtInit, *LPSHELLEXTINIT;
#define INTERFACE IShellExtInit
#define IShellExtInit_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY hkeyProgID) PURE;
ICOM_DEFINE(IShellExtInit,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellExtInit_Release(p) (p)->lpVtbl->Release(p)
/*** IShellExtInit methods ***/
#define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_SHELLEXTINIT_H */
/*
* Defines the COM interfaces and APIs related to IShellLink.
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Juergen Schmied
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_SHELLLINK_H
#define __WINE_WINE_OBJ_SHELLLINK_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
#define IShellLink WINELIB_NAME_AW(IShellLink)
/*****************************************************************************
* Predeclare the interfaces
*/
typedef struct IShellLinkA IShellLinkA,*LPSHELLLINK;
typedef struct IShellLinkW IShellLinkW,*LPSHELLLINKW;
/*****************************************************************************
*
*/
typedef enum
{ SLR_NO_UI = 0x0001,
SLR_ANY_MATCH = 0x0002,
SLR_UPDATE = 0x0004
} SLR_FLAGS;
/*****************************************************************************
* GetPath fFlags
*/
typedef enum
{ SLGP_SHORTPATH = 0x0001,
SLGP_UNCPRIORITY = 0x0002,
SLGP_RAWPATH = 0x0004
} SLGP_FLAGS;
/*****************************************************************************
* IShellLink interface
*/
#define INTERFACE IShellLinkA
#define IShellLinkA_METHODS \
IUnknown_METHODS \
STDMETHOD(GetPath)(THIS_ LPSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
STDMETHOD(GetDescription)(THIS_ LPSTR pszName, INT cchMaxName) PURE; \
STDMETHOD(SetDescription)(THIS_ LPCSTR pszName) PURE; \
STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR pszDir,INT cchMaxPath) PURE; \
STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
STDMETHOD(GetArguments)(THIS_ LPSTR pszArgs, INT cchMaxPath) PURE; \
STDMETHOD(SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
STDMETHOD(GetIconLocation)(THIS_ LPSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
STDMETHOD(SetIconLocation)(THIS_ LPCSTR pszIconPath,INT iIcon) PURE; \
STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
STDMETHOD(SetPath)(THIS_ LPCSTR pszFile) PURE;
ICOM_DEFINE(IShellLinkA,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellLinkA_Release(p) (p)->lpVtbl->Release(p)
/*** IShellLink methods ***/
#define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
#define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
#define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
#define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
#define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
#define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
#define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
#define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
#define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
#define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
#define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
#define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
#define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
#define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
#define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
#define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
#define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
#define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
#endif
/*****************************************************************************
* IShellLinkW interface
*/
#define INTERFACE IShellLinkW
#define IShellLinkW_METHODS \
IUnknown_METHODS \
STDMETHOD(GetPath)(THIS_ LPWSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
STDMETHOD(GetDescription)(THIS_ LPWSTR pszName, INT cchMaxName) PURE; \
STDMETHOD(SetDescription)(THIS_ LPCWSTR pszName) PURE; \
STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR pszDir,INT cchMaxPath) PURE; \
STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
STDMETHOD(GetArguments)(THIS_ LPWSTR pszArgs, INT cchMaxPath) PURE; \
STDMETHOD(SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
STDMETHOD(GetIconLocation)(THIS_ LPWSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
STDMETHOD(SetIconLocation)(THIS_ LPCWSTR pszIconPath,INT iIcon) PURE; \
STDMETHOD(SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
STDMETHOD(SetPath)(THIS_ LPCWSTR pszFile) PURE;
ICOM_DEFINE(IShellLinkW,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellLinkW_Release(p) (p)->lpVtbl->Release(p)
/*** IShellLinkW methods ***/
#define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
#define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
#define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
#define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
#define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
#define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
#define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
#define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
#define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
#define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
#define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
#define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
#define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
#define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
#define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
#define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
#define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
#define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_SHELLLINK_H */
/*
* IShellView
*
* Copyright (C) 1999 Juergen Schmied
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINE_OBJ_SHELLVIEW_H
#define __WINE_WINE_OBJ_SHELLVIEW_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/****************************************************************************
* IShellBrowser is here defined because of a cyclic dependance between
* IShellBrowser and IShellView
*/
typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
typedef struct IShellView IShellView, *LPSHELLVIEW;
/* shellview select item flags*/
#define SVSI_DESELECT 0x0000
#define SVSI_SELECT 0x0001
#define SVSI_EDIT 0x0003 /* includes select */
#define SVSI_DESELECTOTHERS 0x0004
#define SVSI_ENSUREVISIBLE 0x0008
#define SVSI_FOCUSED 0x0010
/* shellview get item object flags */
#define SVGIO_BACKGROUND 0x00000000
#define SVGIO_SELECTION 0x00000001
#define SVGIO_ALLVIEW 0x00000002
/* The explorer dispatches WM_COMMAND messages based on the range of
command/menuitem IDs. All the IDs of menuitems that the view (right
pane) inserts must be in FCIDM_SHVIEWFIRST/LAST (otherwise, the explorer
won't dispatch them). The view should not deal with any menuitems
in FCIDM_BROWSERFIRST/LAST (otherwise, it won't work with the future
version of the shell).
FCIDM_SHVIEWFIRST/LAST for the right pane (IShellView)
FCIDM_BROWSERFIRST/LAST for the explorer frame (IShellBrowser)
FCIDM_GLOBAL/LAST for the explorer's submenu IDs
*/
#define FCIDM_SHVIEWFIRST 0x0000
/* undocumented */
#define FCIDM_SHVIEW_ARRANGE 0x7001
#define FCIDM_SHVIEW_DELETE 0x7011
#define FCIDM_SHVIEW_PROPERTIES 0x7013
#define FCIDM_SHVIEW_CUT 0x7018
#define FCIDM_SHVIEW_COPY 0x7019
#define FCIDM_SHVIEW_INSERT 0x701A
#define FCIDM_SHVIEW_UNDO 0x701B
#define FCIDM_SHVIEW_INSERTLINK 0x701C
#define FCIDM_SHVIEW_SELECTALL 0x7021
#define FCIDM_SHVIEW_INVERTSELECTION 0x7022
#define FCIDM_SHVIEW_BIGICON 0x7029
#define FCIDM_SHVIEW_SMALLICON 0x702A
#define FCIDM_SHVIEW_LISTVIEW 0x702B
#define FCIDM_SHVIEW_REPORTVIEW 0x702C
/* 0x7030-0x703f are used by the shellbrowser */
#define FCIDM_SHVIEW_AUTOARRANGE 0x7031
#define FCIDM_SHVIEW_SNAPTOGRID 0x7032
#define FCIDM_SHVIEW_HELP 0x7041
#define FCIDM_SHVIEW_RENAME 0x7050
#define FCIDM_SHVIEW_CREATELINK 0x7051
#define FCIDM_SHVIEW_NEWLINK 0x7052
#define FCIDM_SHVIEW_NEWFOLDER 0x7053
#define FCIDM_SHVIEW_REFRESH 0x7100 /* FIXME */
#define FCIDM_SHVIEW_EXPLORE 0x7101 /* FIXME */
#define FCIDM_SHVIEW_OPEN 0x7102 /* FIXME */
#define FCIDM_SHVIEWLAST 0x7fff
#define FCIDM_BROWSERFIRST 0xA000
/* undocumented toolbar items from stddlg's*/
#define FCIDM_TB_UPFOLDER 0xA001
#define FCIDM_TB_NEWFOLDER 0xA002
#define FCIDM_TB_SMALLICON 0xA003
#define FCIDM_TB_REPORTVIEW 0xA004
#define FCIDM_TB_DESKTOP 0xA005 /* FIXME */
#define FCIDM_BROWSERLAST 0xbf00
#define FCIDM_GLOBALFIRST 0x8000
#define FCIDM_GLOBALLAST 0x9fff
/*
* Global submenu IDs and separator IDs
*/
#define FCIDM_MENU_FILE (FCIDM_GLOBALFIRST+0x0000)
#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
/* control IDs known to the view */
#define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0)
#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
/* uState values for IShellView::UIActivate */
typedef enum
{ SVUIA_DEACTIVATE = 0,
SVUIA_ACTIVATE_NOFOCUS = 1,
SVUIA_ACTIVATE_FOCUS = 2,
SVUIA_INPLACEACTIVATE = 3 /* new flag for IShellView2 */
} SVUIA_STATUS;
#define INTERFACE IShellView
#define IShellView_METHODS \
IOleWindow_METHODS \
STDMETHOD(TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(UIActivate)(THIS_ UINT uState) PURE; \
STDMETHOD(Refresh)(THIS) PURE; \
STDMETHOD(CreateViewWindow)(THIS_ IShellView * lpPrevView, LPCFOLDERSETTINGS lpfs, IShellBrowser * psb, RECT * prcView, HWND * phWnd) PURE; \
STDMETHOD(DestroyViewWindow)(THIS) PURE; \
STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
STDMETHOD(AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam) PURE; \
STDMETHOD(SaveViewState)(THIS) PURE; \
STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST pidlItem, UINT uFlags) PURE; \
STDMETHOD(GetItemObject)(THIS_ UINT uItem, REFIID riid, LPVOID * ppv) PURE; \
STDMETHOD(EditItem)(THIS_ LPCITEMIDLIST pidlItem) PURE;
ICOM_DEFINE(IShellView,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellView_Release(p) (p)->lpVtbl->Release(p)
/*** IShellView methods ***/
#define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
#define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
#define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a)
#define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p)
#define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e)
#define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p)
#define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a)
#define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c)
#define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p)
#define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b)
#define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c)
/* WINE specific */
#define IShellView_EditItem(p,a) (p)->lpVtbl->EditItem(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_SHELLVIEW_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment