diff options
Diffstat (limited to 'winsup/w32api/include/shlobj.h')
-rw-r--r-- | winsup/w32api/include/shlobj.h | 93 |
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; |