diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
commit | 48540940b6c28bb4378abfeb500ec45a625b37b6 (patch) | |
tree | 2ef294c0763e802f91d868bdef4229b6868527de /include/win2k.h | |
parent | 5c350913f011e119127baeb32a6aedeb4f0d33bc (diff) |
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'include/win2k.h')
-rw-r--r-- | include/win2k.h | 551 |
1 files changed, 551 insertions, 0 deletions
diff --git a/include/win2k.h b/include/win2k.h new file mode 100644 index 0000000000..d7b04565ba --- /dev/null +++ b/include/win2k.h @@ -0,0 +1,551 @@ +/*
+
+Miranda IM: the free IM client for Microsoft* Windows*
+
+Copyright 2000-2008 Miranda ICQ/IM project,
+all portions of this codebase are copyrighted to the people
+listed in contributors.txt.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#ifndef WIN2K_H__
+#define WIN2K_H__ 1
+
+/*
+This file was made to define the new constants normally provided by the windows
+sdk you can get from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
+To not need to install the whole sdk you can simply comment out the following lines.
+To make myself clear, you are supposed to use the sdk, this is just a work around.
+
+All constants are normally declared in winuser.h
+
+File created by Christian Kästner, and tweaked a bit by Richard Hughes*/
+
+//Windows versions in order of feature presence is:
+//95, NT4, 98, ME, 2000, XP
+//This is chronological order of release except for ME/2000. ME is barely an
+//improvement on 98.
+//These macros use the above order, not release order.
+#define WinVerMajor() LOBYTE(LOWORD(GetVersion()))
+#define WinVerMinor() HIBYTE(LOWORD(GetVersion()))
+#define IsWinVerNT() ((GetVersion()&0x80000000)==0)
+// IsWinVerNT4Plus() is buggy, Windows 98 is 4.10.1998
+#define IsWinVerNT4Plus() (WinVerMajor()>=5 || WinVerMinor()>0 || IsWinVerNT())
+#define IsWinVer98Plus() (LOWORD(GetVersion())!=4)
+#define IsWinVerMEPlus() (WinVerMajor()>=5 || WinVerMinor()>10)
+#define IsWinVer2000Plus() (WinVerMajor()>=5 && IsWinVerNT())
+#define IsWinVerXPPlus() (WinVerMajor()>=5 && LOWORD(GetVersion())!=5)
+#define IsWinVerVistaPlus() (WinVerMajor()>=6)
+#define IsWinVer7Plus() (WinVerMajor()>6 || (WinVerMajor()==6 && WinVerMinor()>=1))
+
+// put stuff that's not apart of any SDKs but is used nonetheless
+
+#define SIZEOF(X) (sizeof(X)/sizeof(X[0]))
+
+#ifdef _WIN64
+#define MENUITEMINFO_V4_SIZE sizeof(MENUITEMINFO)
+#else
+//mii was extended for NT5/Win98, so need the old length for some stuff
+#define MENUITEMINFO_V4_SIZE (offsetof(MENUITEMINFO,cch)+sizeof((*((MENUITEMINFO*)0)).cch))
+#endif
+
+#if _MSC_VER >= 1300
+#define NOWIN2K
+#endif
+
+#if WINVER >= 0x501
+#define NOWIN2K
+#endif
+
+#ifdef _MSC_VER
+#define BIGI(x) x##i64
+#else
+#define BIGI(x) x##LL
+#endif
+
+// collapsible groups for Vista
+#ifndef LVGS_COLLAPSIBLE
+ #define LVGS_COLLAPSIBLE 0x00000008
+#endif
+
+#ifndef SM_SERVERR2
+ #define SM_SERVERR2 89
+ #define VER_SUITE_STORAGE_SERVER 0x00002000
+ #define VER_SUITE_COMPUTE_SERVER 0x00004000
+ #define VER_SUITE_WH_SERVER 0x00008000
+#endif
+
+#if _MSC_VER
+ #if !defined(DTBG_CLIPRECT)
+ #define DTBG_CLIPRECT 0x00000001 // rcClip has been specified
+ #define DTBG_DRAWSOLID 0x00000002 // DEPRECATED: draw transparent/alpha images as solid
+ #define DTBG_OMITBORDER 0x00000004 // don't draw border of part
+ #define DTBG_OMITCONTENT 0x00000008 // don't draw content area of part
+ #define DTBG_COMPUTINGREGION 0x00000010 // TRUE if calling to compute region
+ #define DTBG_MIRRORDC 0x00000020 // assume the hdc is mirrorred and
+ // flip images as appropriate (currently
+ // only supported for bgtype=imagefile)
+ #define DTBG_NOMIRROR 0x00000040 // don't mirror the output, overrides everything else
+
+ typedef struct _DTBGOPTS
+ {
+ DWORD dwSize; // size of the struct
+ DWORD dwFlags; // which options have been specified
+ RECT rcClip; // clipping rectangle
+ } DTBGOPTS, *PDTBGOPTS;
+ #endif
+ #if !defined( DTT_COMPOSITED )
+ #define DTT_TEXTCOLOR (1UL << 0) // crText has been specified
+ #define DTT_BORDERCOLOR (1UL << 1) // crBorder has been specified
+ #define DTT_SHADOWCOLOR (1UL << 2) // crShadow has been specified
+ #define DTT_SHADOWTYPE (1UL << 3) // iTextShadowType has been specified
+ #define DTT_SHADOWOFFSET (1UL << 4) // ptShadowOffset has been specified
+ #define DTT_BORDERSIZE (1UL << 5) // iBorderSize has been specified
+ #define DTT_FONTPROP (1UL << 6) // iFontPropId has been specified
+ #define DTT_COLORPROP (1UL << 7) // iColorPropId has been specified
+ #define DTT_STATEID (1UL << 8) // IStateId has been specified
+ #define DTT_CALCRECT (1UL << 9) // Use pRect as and in/out parameter
+ #define DTT_APPLYOVERLAY (1UL << 10) // fApplyOverlay has been specified
+ #define DTT_GLOWSIZE (1UL << 11) // iGlowSize has been specified
+ #define DTT_CALLBACK (1UL << 12) // pfnDrawTextCallback has been specified
+ #define DTT_COMPOSITED (1UL << 13) // Draws text with antialiased alpha (needs a DIB section)
+
+ typedef
+ int
+ (WINAPI *DTT_CALLBACK_PROC)
+ (
+ HDC hdc,
+ LPWSTR pszText,
+ int cchText,
+ LPRECT prc,
+ UINT dwFlags,
+ LPARAM lParam);
+
+ typedef struct _DTTOPTS
+ {
+ DWORD dwSize; // size of the struct
+ DWORD dwFlags; // which options have been specified
+ COLORREF crText; // color to use for text fill
+ COLORREF crBorder; // color to use for text outline
+ COLORREF crShadow; // color to use for text shadow
+ int iTextShadowType; // TST_SINGLE or TST_CONTINUOUS
+ POINT ptShadowOffset; // where shadow is drawn (relative to text)
+ int iBorderSize; // Border radius around text
+ int iFontPropId; // Font property to use for the text instead of TMT_FONT
+ int iColorPropId; // Color property to use for the text instead of TMT_TEXTCOLOR
+ int iStateId; // Alternate state id
+ BOOL fApplyOverlay; // Overlay text on top of any text effect?
+ int iGlowSize; // Glow radious around text
+ DTT_CALLBACK_PROC pfnDrawTextCallback; // Callback for DrawText
+ LPARAM lParam; // Parameter for callback
+ } DTTOPTS, *PDTTOPTS;
+
+ #define WTNCA_NODRAWCAPTION 0x00000001 // don't draw the window caption
+ #define WTNCA_NODRAWICON 0x00000002 // don't draw the system icon
+ #define WTNCA_NOSYSMENU 0x00000004 // don't expose the system menu icon functionality
+ #define WTNCA_NOMIRRORHELP 0x00000008 // don't mirror the question mark, even in RTL layout
+
+ enum WINDOWTHEMEATTRIBUTETYPE
+ {
+ WTA_NONCLIENT = 1
+ };
+
+ typedef struct _WTA_OPTIONS
+ {
+ DWORD dwFlags; // values for each style option specified in the bitmask
+ DWORD dwMask; // bitmask for flags that are changing
+ // valid options are: WTNCA_NODRAWCAPTION, WTNCA_NODRAWICON, WTNCA_NOSYSMENU
+ } WTA_OPTIONS, *PWTA_OPTIONS;
+ #endif
+#endif
+
+#if defined (__GNUC__)
+ #define SECURITY_ENTRYPOINTA "InitSecurityInterfaceA"
+ #define SECURITY_ENTRYPOINT SECURITY_ENTRYPOINTA
+ #define FreeCredentialsHandle FreeCredentialsHandle
+ #define FAPPCOMMAND_MASK 0xF000
+ #define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK))
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
+ #ifdef __cplusplus
+ }
+ #endif
+ /* FIXME: MinGW doesn't provide _snscanf, we wrap unsafe sscanf here */
+ #define _snscanf(buf, size, fmt, ...) sscanf(buf, fmt, ## __VA_ARGS__)
+ #ifndef CDSIZEOF_STRUCT
+ #define CDSIZEOF_STRUCT(structname, member) \
+ (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
+ #endif
+ #ifndef OPENFILENAME_SIZE_VERSION_400
+ #define OPENFILENAME_SIZE_VERSION_400 CDSIZEOF_STRUCT(OPENFILENAME,lpTemplateName)
+ #endif
+ #ifndef NOTIFYICONDATAA_V1_SIZE
+ #define NOTIFYICONDATAA_V1_SIZE CDSIZEOF_STRUCT(NOTIFYICONDATAA, szTip[64])
+ #endif
+ #ifndef NOTIFYICONDATA_V1_SIZE
+ #define NOTIFYICONDATA_V1_SIZE CDSIZEOF_STRUCT(NOTIFYICONDATA, szTip[64])
+ #endif
+ #ifndef OPENFILENAMEW_SIZE_VERSION_400
+ #define OPENFILENAMEW_SIZE_VERSION_400 CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName)
+ #endif
+ #ifndef NOTIFYICONDATAW_V1_SIZE
+ #define NOTIFYICONDATAW_V1_SIZE CDSIZEOF_STRUCT(NOTIFYICONDATAW, szTip[64])
+ #endif
+ #ifndef TV_KEYDOWN
+ typedef struct tagNMKEY {
+ NMHDR hdr;
+ UINT nVKey;
+ UINT uFlags;
+ } NMKEY, *LPNMKEY;
+ typedef struct tagTVKEYDOWN
+ {
+ NMHDR hdr;
+ WORD wVKey;
+ UINT flags;
+ } NMTVKEYDOWN, *LPNMTVKEYDOWN;
+ #define TV_KEYDOWN NMTVKEYDOWN
+ #endif
+ #define ODS_HOTLIGHT 0x0040
+ #define ODS_INACTIVE 0x0080
+ #define OLERENDER_FORMAT 2
+ #define SES_EXTENDBACKCOLOR 4
+ #define SPI_GETFLATMENU 0x1022
+ #define COLOR_HOTLIGHT 26
+ #define COLOR_MENUBAR 30
+ #define COLOR_MENUHILIGHT 29
+ #define COLOR_HIGHLIGHT 13
+ #define BP_PUSHBUTTON 1 // Push Button Type
+ #define PBS_NORMAL 1
+ #define PBS_HOT 2
+ #define PBS_PRESSED 3
+ #define PBS_DISABLED 4
+ #define PBS_DEFAULTED 5
+ #define BP_CHECKBOX 3 // CheckBox Type
+ #define TP_BUTTON 1
+ #define TS_NORMAL 1
+ #define TS_HOT 2
+ #define TS_PRESSED 3
+ #define TS_DISABLED 4
+ #define TS_CHECKED 5
+ #define TS_HOTCHECKED 6
+ #ifndef TTM_SETTITLE
+ #ifndef UNICODE
+ #define TTM_SETTITLE TTM_SETTITLEA
+ #else
+ #define TTM_SETTITLE TTM_SETTITLEW
+ #endif
+ #endif
+ #define CBS_UNCHECKEDNORMAL 1
+ #define CBS_UNCHECKEDHOT 2
+ #define CBS_CHECKEDNORMAL 5
+ #define CBS_CHECKEDHOT 6
+ #define CFM_WEIGHT 0x00400000
+ #define CFM_UNDERLINETYPE 0x00800000
+ #define CFM_BACKCOLOR 0x04000000
+ #define CFU_UNDERLINE 1
+ #define CFU_UNDERLINEWORD 2
+ #define EP_EDITTEXT 1 // Edit
+ #define EP_CARET 2
+ #define ETS_NORMAL 1
+ #define ETS_HOT 2
+ #define ETS_SELECTED 3
+ #define ETS_DISABLED 4
+ #define ETS_FOCUSED 5
+ #define ETS_READONLY 6
+ #define ETS_ASSIST 7
+ #ifndef PBT_APMRESUMESUSPEND
+ #define PBT_APMSUSPEND 0x0004
+ #define PBT_APMRESUMESUSPEND 0x0007
+ #endif
+ #define AW_HOR_POSITIVE 0x00000001
+ #define AW_VER_NEGATIVE 0x00000008
+ #define AW_HIDE 0x00010000
+ #define AW_ACTIVATE 0x00020000
+ #define AW_SLIDE 0x00040000
+ #define AW_BLEND 0x00080000
+ #define WM_UNICHAR 0x0109
+ #define LVS_EX_DOUBLEBUFFER 0x00010000
+ #define RES_ICON 1
+ #ifndef DFCS_HOT
+ #define DFCS_HOT 0x1000
+ #endif
+ #define IP_TTL 7
+ #ifndef IP_MULTICAST_IF
+ #define IP_MULTICAST_IF 32
+ #endif
+ #define IMF_AUTOKEYBOARD 0x0001
+ #define IMF_AUTOFONTSIZEADJUST 0x0010
+ #define GRADIENT_FILL_RECT_H 0x00
+ #define GRADIENT_FILL_RECT_V 0x01
+ #define LANG_INVARIANT 0x7f
+ #define LOCALE_INVARIANT (MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT))
+ #define EN_ALIGN_RTL_EC 0x0701
+ #ifndef OBJID_MENU
+ #define OBJID_MENU ((LONG)0xFFFFFFFD)
+ #endif
+ #ifndef OBJID_VSCROLL
+ #define OBJID_VSCROLL ((LONG)0xFFFFFFFB)
+ #endif
+ #define TreeView_SetCheckState(hwndTV, hti, fCheck) \
+ TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), TVIS_STATEIMAGEMASK)
+ #define TreeView_GetCheckState(hwndTV, hti) \
+ ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMASK))) >> 12) -1)
+ #define ERROR_INTERNET_SEC_CERT_NO_REV 12056
+ #define ERROR_INTERNET_SEC_CERT_REV_FAILED 12057
+ #define APPCOMMAND_BROWSER_BACKWARD 1
+ #define APPCOMMAND_BROWSER_FORWARD 2
+ #define NIN_BALLOONHIDE (WM_USER +3)
+ #define NIN_BALLOONTIMEOUT (WM_USER + 4)
+ #define NIN_BALLOONUSERCLICK (WM_USER + 5)
+// SDK isn't present or some older VC compiler was used, include missing things.
+#elif !defined(NOWIN2K) && (!defined WS_EX_LAYERED || !defined IDC_HAND)
+
+ #pragma message("win2k.h")
+
+ #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
+
+ #define PSDK_WORKAROUND
+
+ #define MONITOR_DEFAULTTONEAREST 2
+
+ #ifndef EM_SETTEXTEX
+ #define EM_SETTEXTEX (WM_USER + 97)
+ #define ST_DEFAULT 0
+ #define ST_KEEPUNDO 1
+ #define ST_SELECTION 2
+ #define ST_NEWCHARS 4
+ typedef struct _settextex
+ {
+ DWORD flags;
+ UINT codepage;
+ } SETTEXTEX;
+ #endif
+
+ #if(_WIN32_WINNT >= 0x0500)
+ #define WS_EX_LAYERED 0x00080000
+ #define MIIM_STRING 0x00000040
+ #define MIIM_BITMAP 0x00000080
+ #define MIIM_FTYPE 0x00000100
+ #define HBMMENU_CALLBACK ((HBITMAP) -1)
+ #define ODS_HOTLIGHT 0x0040
+ #define ODS_INACTIVE 0x0080
+ #define IDC_HAND MAKEINTRESOURCE(32649)
+ #define COLOR_HOTLIGHT 26
+ #define COLOR_MENUBAR 30
+ #define COLOR_MENUHILIGHT 29
+ #define COLOR_HIGHLIGHT 13
+ #define SPI_GETFLATMENU 0x1022
+ #define TVS_NOHSCROLL 0x8000
+ #define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
+ #define SPI_GETHOTTRACKING 0x100E
+ #define BIF_NEWDIALOGSTYLE 0x0040
+ #define LVS_EX_LABELTIP 0x00004000
+ #define LVS_EX_DOUBLEBUFFER 0x00010000
+ #define DFCS_HOT 0x1000
+ #define FLASHW_TRAY 0x00000002;
+ typedef struct {
+ UINT cbSize;
+ HWND hwnd;
+ DWORD dwFlags;
+ UINT uCount;
+ DWORD dwTimeout;
+ } FLASHWINFO;
+ /* for the help plugin without the SDK */
+ #define SM_XVIRTUALSCREEN 76
+ #define SM_YVIRTUALSCREEN 77
+ #define SM_CXVIRTUALSCREEN 78
+ #define SM_CYVIRTUALSCREEN 79
+ #define COLOR_HOTLIGHT 26
+ #define VK_OEM_PLUS 0xBB
+ #define VK_OEM_MINUS 0xBD
+
+ /* the structure only needs to be defined for VC5 or lower */
+ #if _MSC_VER < 1200
+ typedef struct tagLASTINPUTINFO {
+ UINT cbSize;
+ DWORD dwTime;
+ } LASTINPUTINFO, *PLASTINPUTINFO;
+ #endif /* #if _MSC_VER < 1200 */
+
+ #ifndef OPENFILENAME_SIZE_VERSION_400
+ #define OPENFILENAME_SIZE_VERSION_400 sizeof(OPENFILENAME)
+ #endif
+
+ #ifndef CCM_SETVERSION
+ #define CCM_SETVERSION (CCM_FIRST + 0x7)
+ #endif
+
+ #define SYSRGN 4
+ WINGDIAPI int WINAPI GetRandomRgn(IN HDC, IN HRGN, IN INT);
+
+ #endif /* _WIN32_WINNT >= 0x0500 */
+
+ #define LWA_ALPHA 0x00000002
+ #define AW_HIDE 0x00010000
+ #define AW_BLEND 0x00080000
+ #define SPI_GETSCREENSAVERRUNNING 114
+ #define SM_CMONITORS 80
+
+ #ifndef AW_ACTIVATE
+ #define AW_ACTIVATE 0x00020000
+ #define AW_SLIDE 0x00040000
+ #define AW_VER_NEGATIVE 0x00000008
+ #define AW_HOR_POSITIVE 0x00000001
+ #endif
+
+ #ifndef DWORD_PTR
+ typedef DWORD DWORD_PTR;
+ #endif
+
+ #ifndef HMONITOR
+ DECLARE_HANDLE(HMONITOR);
+ typedef struct tagMONITORINFO
+ {
+ DWORD cbSize;
+ RECT rcMonitor;
+ RECT rcWork;
+ DWORD dwFlags;
+ } MONITORINFO, *LPMONITORINFO;
+ #endif
+
+
+ #ifndef IDropTargetHelper
+ DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
+ #define INTERFACE IDropTargetHelper
+ DECLARE_INTERFACE_( IDropTargetHelper, IUnknown )
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
+ STDMETHOD_(ULONG, AddRef) ( THIS ) PURE;
+ STDMETHOD_(ULONG, Release) ( THIS ) PURE;
+
+ // IDropTargetHelper
+ STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject,
+ POINT* ppt, DWORD dwEffect) PURE;
+ STDMETHOD (DragLeave)(THIS) PURE;
+ STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE;
+ STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt,
+ DWORD dwEffect) PURE;
+ STDMETHOD (Show)(THIS_ BOOL fShow) PURE;
+
+ };
+ #endif /* IDropTargetHelper */
+
+ #define WM_MENURBUTTONUP 0x0122
+
+// tabsrmm uses these
+
+#define SES_EXTENDBACKCOLOR 4
+#define EM_SETEDITSTYLE (WM_USER + 204)
+#define EM_SETSCROLLPOS (WM_USER + 222)
+#define SF_USECODEPAGE 0x00000020
+
+#define TreeView_SetItemState(hwndTV, hti, data, _mask) \
+{ TVITEM _TVi; \
+ _TVi.mask = TVIF_STATE; \
+ _TVi.hItem = hti; \
+ _TVi.stateMask = _mask; \
+ _TVi.state = data; \
+ SendMessage((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_TVi); \
+}
+
+#endif /* SDK check */
+
+#ifndef BPPF_ERASE
+ typedef enum _BP_BUFFERFORMAT
+ {
+ BPBF_COMPATIBLEBITMAP, // Compatible bitmap
+ BPBF_DIB, // Device-independent bitmap
+ BPBF_TOPDOWNDIB, // Top-down device-independent bitmap
+ BPBF_TOPDOWNMONODIB // Top-down monochrome device-independent bitmap
+ } BP_BUFFERFORMAT;
+
+
+ typedef struct _BP_PAINTPARAMS
+ {
+ DWORD cbSize;
+ DWORD dwFlags; // BPPF_ flags
+ const RECT * prcExclude;
+ const BLENDFUNCTION * pBlendFunction;
+ } BP_PAINTPARAMS, *PBP_PAINTPARAMS;
+
+ #define BPPF_ERASE 1
+ #define BPPF_NOCLIP 2
+ #define BPPF_NONCLIENT 4
+#endif
+
+
+ /* windows seven taskbar interface comes with sdk v7.0
+ if not existent define on our own */
+#ifdef _SHLOBJ_H_
+ #ifndef __ITaskbarList3_INTERFACE_DEFINED__
+ #define __ITaskbarList3_INTERFACE_DEFINED__
+ /* interface ITaskbarList3 */
+
+ typedef
+ enum TBPFLAG
+ {
+ TBPF_NOPROGRESS = 0,
+ TBPF_INDETERMINATE = 0x1,
+ TBPF_NORMAL = 0x2,
+ TBPF_ERROR = 0x4,
+ TBPF_PAUSED = 0x8
+ } TBPFLAG;
+
+ typedef struct THUMBBUTTON *LPTHUMBBUTTON;
+
+ static const GUID IID_ITaskbarList3 = { 0xea1afb91, 0x9e28, 0x4b86, { 0x90, 0xE9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf } };
+
+ #ifdef INTERFACE
+ #undef INTERFACE
+ #endif
+ #define INTERFACE ITaskbarList3
+ DECLARE_INTERFACE_( ITaskbarList3, ITaskbarList2 )
+ {
+ // IUnknown methods
+ STDMETHOD (QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
+ STDMETHOD_(ULONG, AddRef) (THIS ) PURE;
+ STDMETHOD_(ULONG, Release) (THIS ) PURE;
+
+ // overloaded ITaskbarList2 members
+ STDMETHOD (HrInit) (THIS ) PURE;
+ STDMETHOD (AddTab) (THIS_ HWND hwnd) PURE;
+ STDMETHOD (DeleteTab) (THIS_ HWND hwnd) PURE;
+ STDMETHOD (ActivateTab) (THIS_ HWND hwnd) PURE;
+ STDMETHOD (SetActiveAlt) (THIS_ HWND hwnd) PURE;
+ STDMETHOD (MarkFullscreenWindow) (THIS_ HWND hwnd, int fFullscreen) PURE;
+
+ // ITaskbarList3 members
+ STDMETHOD (SetProgressValue) (THIS_ HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) PURE;
+ STDMETHOD (SetProgressState) (THIS_ HWND hwnd, TBPFLAG tbpFlags) PURE;
+ STDMETHOD (RegisterTab) (THIS_ HWND hwndTab,HWND hwndMDI) PURE;
+ STDMETHOD (UnregisterTab) (THIS_ HWND hwndTab) PURE;
+ STDMETHOD (SetTabOrder) (THIS_ HWND hwndTab, HWND hwndInsertBefore) PURE;
+ STDMETHOD (SetTabActive) (THIS_ HWND hwndTab, HWND hwndMDI, DWORD dwReserved) PURE;
+ STDMETHOD (ThumbBarAddButtons) (THIS_ HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) PURE;
+ STDMETHOD (ThumbBarUpdateButtons)(THIS_ HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) PURE;
+ STDMETHOD (ThumbBarSetImageList) (THIS_ HWND hwnd, HIMAGELIST himl) PURE;
+ STDMETHOD (SetOverlayIcon) (THIS_ HWND hwnd, HICON hIcon, LPCWSTR pszDescription) PURE;
+ STDMETHOD (SetThumbnailTooltip) (THIS_ HWND hwnd, LPCWSTR pszTip) PURE;
+ STDMETHOD (SetThumbnailClip) (THIS_ HWND hwnd, RECT *prcClip) PURE;
+ };
+
+ #endif /* __ITaskbarList3_INTERFACE_DEFINED__ */
+#endif /* _SHLOBJ_H_ */
+
+#endif // WIN2K_H__
|