mirror of
https://github.com/reactos/wine.git
synced 2024-11-29 14:40:56 +00:00
66 lines
2.9 KiB
C
66 lines
2.9 KiB
C
|
#ifndef _WINE_SHLOBJ_H
|
||
|
#define _WINE_SHLOBJ_H
|
||
|
|
||
|
#include "ole.h"
|
||
|
#include "ole2.h"
|
||
|
#include "compobj.h"
|
||
|
|
||
|
typedef LPVOID LPBC; /* *IBindCtx really */
|
||
|
typedef LPVOID LPSTRRET,LPENUMIDLIST;
|
||
|
|
||
|
/*
|
||
|
* shell32 classids
|
||
|
*/
|
||
|
DEFINE_SHLGUID(CLSID_ShellDesktop, 0x00021400L, 0, 0);
|
||
|
DEFINE_SHLGUID(CLSID_ShellLink, 0x00021401L, 0, 0);
|
||
|
|
||
|
/*
|
||
|
* shell32 Interface ids
|
||
|
*/
|
||
|
DEFINE_SHLGUID(IID_IContextMenu, 0x000214E4L, 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_IExtractIcon, 0x000214EBL, 0, 0);
|
||
|
DEFINE_SHLGUID(IID_IShellLink, 0x000214EEL, 0, 0);
|
||
|
DEFINE_SHLGUID(IID_IShellCopyHook, 0x000214EFL, 0, 0);
|
||
|
DEFINE_SHLGUID(IID_IFileViewer, 0x000214F0L, 0, 0);
|
||
|
DEFINE_SHLGUID(IID_IEnumIDList, 0x000214F2L, 0, 0);
|
||
|
DEFINE_SHLGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0);
|
||
|
|
||
|
typedef struct {
|
||
|
WORD cb; /* nr of bytes in this item */
|
||
|
BYTE abID[1];/* first byte in this item */
|
||
|
} SHITEMID,*LPSHITEMID;
|
||
|
|
||
|
typedef struct {
|
||
|
SHITEMID mkid; /* first itemid in list */
|
||
|
} ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
|
||
|
|
||
|
/* The IShellFolder interface ... the basic interface for a lot of stuff */
|
||
|
|
||
|
typedef struct tagSHELLFOLDER *LPSHELLFOLDER,IShellFolder;
|
||
|
typedef struct {
|
||
|
HRESULT (CALLBACK *fnQueryInterface)(LPSHELLFOLDER this,REFIID refiid,LPVOID *obj);
|
||
|
HRESULT (CALLBACK *fnAddRef)(LPSHELLFOLDER this);
|
||
|
HRESULT (CALLBACK *fnRelease)(LPSHELLFOLDER this);
|
||
|
/* IShellFolder methods */
|
||
|
|
||
|
HRESULT (CALLBACK *fnParseDisplayName) (LPSHELLFOLDER this,HWND32 hwndOwner,LPBC pbcReserved,LPOLESTR lpszDisplayName,DWORD * pchEaten,LPITEMIDLIST * ppidl, DWORD *pdwAttributes) ;
|
||
|
|
||
|
HRESULT (CALLBACK *fnEnumObjects)( LPSHELLFOLDER this,HWND32 hwndOwner, DWORD grfFlags, LPENUMIDLIST* ppenumIDList);
|
||
|
HRESULT (CALLBACK *fnBindToObject)(LPSHELLFOLDER this, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut);
|
||
|
HRESULT (CALLBACK *fnBindToStorage)(LPSHELLFOLDER this, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvObj);
|
||
|
HRESULT (CALLBACK *fnCompareIDs) (LPSHELLFOLDER this, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
|
||
|
HRESULT (CALLBACK *fnCreateViewObject) (LPSHELLFOLDER this, HWND32 hwndOwner, REFIID riid, LPVOID * ppvOut);
|
||
|
HRESULT (CALLBACK *fnGetAttributesOf) (LPSHELLFOLDER this, UINT32 cidl, LPCITEMIDLIST * apidl, DWORD * rgfInOut);
|
||
|
HRESULT (CALLBACK *fnGetUIObjectOf) (LPSHELLFOLDER this, HWND32 hwndOwner, UINT32 cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT32 * prgfInOut, LPVOID * ppvOut);
|
||
|
HRESULT (CALLBACK *fnGetDisplayNameOf) (LPSHELLFOLDER this, LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName);
|
||
|
HRESULT (CALLBACK *fnSetNameOf) (LPSHELLFOLDER this, HWND32 hwndOwner, LPCITEMIDLIST pidl, LPCOLESTR lpszName, DWORD uFlags, LPITEMIDLIST * ppidlOut);
|
||
|
} *LPSHELLFOLDER_VTABLE;
|
||
|
|
||
|
struct tagSHELLFOLDER {
|
||
|
LPSHELLFOLDER_VTABLE *lpvtbl;
|
||
|
};
|
||
|
#endif /*_WINE_SHLOBJ_H*/
|