New structures DVASPECT, TYMED, IDLList.
Shell specific clipboard formats.
This commit is contained in:
parent
c289be71e5
commit
5371e45285
132
include/shlobj.h
132
include/shlobj.h
|
@ -15,7 +15,9 @@
|
||||||
#define FAR
|
#define FAR
|
||||||
#define THIS_ THIS,
|
#define THIS_ THIS,
|
||||||
|
|
||||||
|
#define __T(x) x
|
||||||
|
#define _T(x) __T(x)
|
||||||
|
#define TEXT _T
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* DllGetClassObject
|
* DllGetClassObject
|
||||||
|
@ -237,8 +239,26 @@ struct tagCONTEXTMENU
|
||||||
|
|
||||||
#undef THIS
|
#undef THIS
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IData structures
|
* structures for shell clipboard formats
|
||||||
*/
|
*/
|
||||||
|
typedef enum tagDVASPECT
|
||||||
|
{ DVASPECT_CONTENT = 1,
|
||||||
|
DVASPECT_THUMBNAIL = 2,
|
||||||
|
DVASPECT_ICON = 4,
|
||||||
|
DVASPECT_DOCPRINT = 8
|
||||||
|
} DVASPECT;
|
||||||
|
|
||||||
|
enum tagTYMED
|
||||||
|
{ TYMED_HGLOBAL = 1,
|
||||||
|
TYMED_FILE = 2,
|
||||||
|
TYMED_ISTREAM = 4,
|
||||||
|
TYMED_ISTORAGE = 8,
|
||||||
|
TYMED_GDI = 16,
|
||||||
|
TYMED_MFPICT = 32,
|
||||||
|
TYMED_ENHMF = 64,
|
||||||
|
TYMED_NULL = 0
|
||||||
|
} TYMED;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{ DWORD tdSize;
|
{ DWORD tdSize;
|
||||||
WORD tdDriverNameOffset;
|
WORD tdDriverNameOffset;
|
||||||
|
@ -246,10 +266,11 @@ typedef struct
|
||||||
WORD tdPortNameOffset;
|
WORD tdPortNameOffset;
|
||||||
WORD tdExtDevmodeOffset;
|
WORD tdExtDevmodeOffset;
|
||||||
BYTE tdData[ 1 ];
|
BYTE tdData[ 1 ];
|
||||||
} DVTARGETDEVICE32;
|
} DVTARGETDEVICE32;
|
||||||
|
|
||||||
typedef WORD CLIPFORMAT32, *LPCLIPFORMAT32;
|
typedef WORD CLIPFORMAT32, *LPCLIPFORMAT32;
|
||||||
|
|
||||||
|
/* dataobject as answer to a request */
|
||||||
typedef struct
|
typedef struct
|
||||||
{ DWORD tymed;
|
{ DWORD tymed;
|
||||||
union
|
union
|
||||||
|
@ -263,7 +284,8 @@ typedef struct
|
||||||
} u;
|
} u;
|
||||||
IUnknown *pUnkForRelease;
|
IUnknown *pUnkForRelease;
|
||||||
} STGMEDIUM32;
|
} STGMEDIUM32;
|
||||||
|
|
||||||
|
/* wished data format */
|
||||||
typedef struct
|
typedef struct
|
||||||
{ CLIPFORMAT32 cfFormat;
|
{ CLIPFORMAT32 cfFormat;
|
||||||
DVTARGETDEVICE32 *ptd;
|
DVTARGETDEVICE32 *ptd;
|
||||||
|
@ -272,6 +294,77 @@ typedef struct
|
||||||
DWORD tymed;
|
DWORD tymed;
|
||||||
} FORMATETC32, *LPFORMATETC32;
|
} FORMATETC32, *LPFORMATETC32;
|
||||||
|
|
||||||
|
/* shell specific clipboard formats */
|
||||||
|
|
||||||
|
/* DATAOBJECT_InitShellIDList*/
|
||||||
|
#define CFSTR_SHELLIDLIST TEXT("Shell IDList Array") /* CF_IDLIST */
|
||||||
|
|
||||||
|
extern UINT32 cfShellIDList;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{ UINT32 cidl;
|
||||||
|
UINT32 aoffset[1];
|
||||||
|
} CIDA, *LPCIDA;
|
||||||
|
|
||||||
|
#define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets") /* CF_OBJECTPOSITIONS */
|
||||||
|
#define CFSTR_NETRESOURCES TEXT("Net Resource") /* CF_NETRESOURCE */
|
||||||
|
|
||||||
|
/* DATAOBJECT_InitFileGroupDesc */
|
||||||
|
#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor") /* CF_FILEGROUPDESCRIPTORA */
|
||||||
|
extern UINT32 cfFileGroupDesc;
|
||||||
|
|
||||||
|
#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW") /* CF_FILEGROUPDESCRIPTORW */
|
||||||
|
|
||||||
|
/* DATAOBJECT_InitFileContents*/
|
||||||
|
#define CFSTR_FILECONTENTS TEXT("FileContents") /* CF_FILECONTENTS */
|
||||||
|
extern UINT32 cfFileContents;
|
||||||
|
|
||||||
|
#define CFSTR_FILENAMEA TEXT("FileName") /* CF_FILENAMEA */
|
||||||
|
#define CFSTR_FILENAMEW TEXT("FileNameW") /* CF_FILENAMEW */
|
||||||
|
#define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName") /* CF_PRINTERS */
|
||||||
|
#define CFSTR_FILENAMEMAPA TEXT("FileNameMap") /* CF_FILENAMEMAPA */
|
||||||
|
#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW") /* CF_FILENAMEMAPW */
|
||||||
|
#define CFSTR_SHELLURL TEXT("UniformResourceLocator")
|
||||||
|
#define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect")
|
||||||
|
#define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect")
|
||||||
|
#define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded")
|
||||||
|
#define CFSTR_INDRAGLOOP TEXT("InShellDragLoop")
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* IDLList "Item ID List List"
|
||||||
|
*
|
||||||
|
* NOTES
|
||||||
|
* interal data holder for IDataObject
|
||||||
|
*/
|
||||||
|
typedef struct tagLPIDLLIST *LPIDLLIST, IDLList;
|
||||||
|
|
||||||
|
#define THIS LPIDLLIST this
|
||||||
|
|
||||||
|
enum
|
||||||
|
{ State_UnInit=1,
|
||||||
|
State_Init=2,
|
||||||
|
State_OutOfMem=3
|
||||||
|
} IDLListState;
|
||||||
|
|
||||||
|
typedef struct IDLList_VTable
|
||||||
|
{ STDMETHOD_(UINT32, GetState)(THIS);
|
||||||
|
STDMETHOD_(LPITEMIDLIST, GetElement)(THIS_ UINT32 nIndex);
|
||||||
|
STDMETHOD_(UINT32, GetCount)(THIS);
|
||||||
|
STDMETHOD_(BOOL32, StoreItem)(THIS_ LPITEMIDLIST pidl);
|
||||||
|
STDMETHOD_(BOOL32, AddItems)(THIS_ LPITEMIDLIST *apidl, UINT32 cidl);
|
||||||
|
STDMETHOD_(BOOL32, InitList)(THIS);
|
||||||
|
STDMETHOD_(void, CleanList)(THIS);
|
||||||
|
} IDLList_VTable,*LPIDLLIST_VTABLE;
|
||||||
|
|
||||||
|
struct tagLPIDLLIST
|
||||||
|
{ LPIDLLIST_VTABLE lpvtbl;
|
||||||
|
HDPA dpa;
|
||||||
|
UINT32 uStep;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern LPIDLLIST IDLList_Constructor (UINT32 uStep);
|
||||||
|
extern void IDLList_Destructor(LPIDLLIST this);
|
||||||
|
#undef THIS
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* IEnumFORMATETC interface
|
* IEnumFORMATETC interface
|
||||||
*/
|
*/
|
||||||
|
@ -324,7 +417,10 @@ typedef struct IDataObject_VTable
|
||||||
|
|
||||||
struct tagDATAOBJECT
|
struct tagDATAOBJECT
|
||||||
{ LPDATAOBJECT_VTABLE lpvtbl;
|
{ LPDATAOBJECT_VTABLE lpvtbl;
|
||||||
DWORD ref;
|
DWORD ref;
|
||||||
|
LPSHELLFOLDER psf;
|
||||||
|
LPIDLLIST lpill; /* the data of the dataobject */
|
||||||
|
LPITEMIDLIST pidl;
|
||||||
};
|
};
|
||||||
|
|
||||||
#undef THIS
|
#undef THIS
|
||||||
|
@ -697,17 +793,19 @@ typedef struct IShellView_VTable
|
||||||
|
|
||||||
struct tagSHELLVIEW
|
struct tagSHELLVIEW
|
||||||
{ LPSHELLVIEW_VTABLE lpvtbl;
|
{ LPSHELLVIEW_VTABLE lpvtbl;
|
||||||
DWORD ref;
|
DWORD ref;
|
||||||
LPITEMIDLIST mpidl;
|
LPITEMIDLIST mpidl;
|
||||||
LPSHELLFOLDER pSFParent;
|
LPSHELLFOLDER pSFParent;
|
||||||
LPSHELLBROWSER pShellBrowser;
|
LPSHELLBROWSER pShellBrowser;
|
||||||
LPCOMMDLGBROWSER pCommDlgBrowser;
|
LPCOMMDLGBROWSER pCommDlgBrowser;
|
||||||
HWND32 hWnd;
|
HWND32 hWnd;
|
||||||
HWND32 hWndList;
|
HWND32 hWndList;
|
||||||
FOLDERSETTINGS FolderSettings;
|
HWND32 hWndParent;
|
||||||
HWND32 hWndParent;
|
FOLDERSETTINGS FolderSettings;
|
||||||
HMENU32 hMenu;
|
HMENU32 hMenu;
|
||||||
UINT32 uState;
|
UINT32 uState;
|
||||||
|
UINT32 uSelected;
|
||||||
|
LPITEMIDLIST *aSelectedItems;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef GUID SHELLVIEWID;
|
typedef GUID SHELLVIEWID;
|
||||||
|
@ -925,7 +1023,7 @@ extern LPENUMFORMATETC IEnumFORMATETC_Constructor(UINT32, const FORMATETC32 []);
|
||||||
extern LPCLASSFACTORY IClassFactory_Constructor();
|
extern LPCLASSFACTORY IClassFactory_Constructor();
|
||||||
extern LPCONTEXTMENU IContextMenu_Constructor(LPSHELLFOLDER, LPCITEMIDLIST *, UINT32);
|
extern LPCONTEXTMENU IContextMenu_Constructor(LPSHELLFOLDER, LPCITEMIDLIST *, UINT32);
|
||||||
extern LPSHELLFOLDER IShellFolder_Constructor(LPSHELLFOLDER,LPITEMIDLIST);
|
extern LPSHELLFOLDER IShellFolder_Constructor(LPSHELLFOLDER,LPITEMIDLIST);
|
||||||
extern LPSHELLVIEW IShellView_Constructor();
|
extern LPSHELLVIEW IShellView_Constructor(LPSHELLFOLDER, LPCITEMIDLIST);
|
||||||
extern LPSHELLLINK IShellLink_Constructor();
|
extern LPSHELLLINK IShellLink_Constructor();
|
||||||
extern LPENUMIDLIST IEnumIDList_Constructor(LPCSTR,DWORD);
|
extern LPENUMIDLIST IEnumIDList_Constructor(LPCSTR,DWORD);
|
||||||
extern LPEXTRACTICON IExtractIcon_Constructor(LPITEMIDLIST);
|
extern LPEXTRACTICON IExtractIcon_Constructor(LPITEMIDLIST);
|
||||||
|
|
Loading…
Reference in New Issue