summaryrefslogtreecommitdiffstats
path: root/winsup/w32api/include/shlobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/shlobj.h')
-rw-r--r--winsup/w32api/include/shlobj.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h
index 446a22918..7386e58f5 100644
--- a/winsup/w32api/include/shlobj.h
+++ b/winsup/w32api/include/shlobj.h
@@ -480,6 +480,83 @@ DECLARE_INTERFACE_(IContextMenu2,IUnknown)
};
typedef IContextMenu2 *LPCONTEXTMENU2;
+#if (_WIN32_IE >= 0x0500)
+#pragma pack(push,8)
+typedef struct {
+ ULONG dwFlags;
+ ULONG dwReserved;
+ WCHAR wszFolder[MAX_PATH];
+} SHCOLUMNINIT,*LPSHCOLUMNINIT;
+typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT;
+typedef struct {
+ ULONG dwFlags;
+ DWORD dwFileAttributes;
+ ULONG dwReserved;
+ WCHAR *pwszExt;
+ WCHAR wszFile[MAX_PATH];
+} SHCOLUMNDATA,*LPSHCOLUMNDATA;
+typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA;
+#pragma pack(pop)
+
+typedef struct {
+ GUID fmtid;
+ DWORD pid;
+} SHCOLUMNID,*LPSHCOLUMNID;
+typedef const SHCOLUMNID *LPCSHCOLUMNID;
+
+#define MAX_COLUMN_NAME_LEN 80
+#define MAX_COLUMN_DESC_LEN 128
+
+#pragma pack(push,1)
+typedef struct {
+ SHCOLUMNID scid;
+ VARTYPE vt;
+ DWORD fmt;
+ UINT cChars;
+ DWORD csFlags;
+ WCHAR wszTitle[MAX_COLUMN_NAME_LEN];
+ WCHAR wszDescription[MAX_COLUMN_DESC_LEN];
+} SHCOLUMNINFO,*LPSHCOLUMNINFO;
+typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO;
+#pragma pack(pop)
+
+typedef enum {
+ SHCOLSTATE_TYPE_STR = 0x00000001,
+ SHCOLSTATE_TYPE_INT = 0x00000002,
+ SHCOLSTATE_TYPE_DATE = 0x00000003,
+ SHCOLSTATE_TYPEMASK = 0x0000000f,
+ SHCOLSTATE_ONBYDEFAULT = 0x00000010,
+ SHCOLSTATE_SLOW = 0x00000020,
+ SHCOLSTATE_EXTENDED = 0x00000040,
+ SHCOLSTATE_SECONDARYUI = 0x00000080,
+ SHCOLSTATE_HIDDEN = 0x00000100,
+ SHCOLSTATE_PREFER_VARCMP = 0x00000200
+} SHCOLSTATE;
+
+#undef INTERFACE
+#define INTERFACE IColumnProvider
+DECLARE_INTERFACE_(IColumnProvider,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE;
+ STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE;
+ STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE;
+};
+#endif /* _WIN32_IE >= 0x0500 */
+
+#undef INTERFACE
+#define INTERFACE IQueryInfo
+DECLARE_INTERFACE_(IQueryInfo,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE;
+ STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE;
+};
+
#undef INTERFACE
#define INTERFACE IShellExtInit
DECLARE_INTERFACE_(IShellExtInit, IUnknown)
@@ -809,6 +886,22 @@ typedef struct {
UINT fRestFlags : 3;
} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
+#undef INTERFACE
+#define INTERFACE IShellIconOverlayIdentifier
+DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE;
+ STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE;
+ STDMETHOD(GetPriority)(THIS_ int*) PURE;
+};
+
+#define ISIOI_ICONFILE 0x00000001
+#define ISIOI_ICONINDEX 0x00000002
+
+
#if (_WIN32_WINNT >= 0x0500) /* W2K */
typedef struct {
BOOL fShowAllObjects : 1;