Headers diff for comctl32.dll between 5.82-Windows 6.0 and 5.82-Windows 7.0 versions



 commctrl.h (5.82-Windows 6.0)   commctrl.h (5.82-Windows 7.0) 
skipping to change at line 15 skipping to change at line 15
* * * *
* Version 1.2 * * Version 1.2 *
* * * *
* Copyright (c) Microsoft Corporation. All rights reserved. * * Copyright (c) Microsoft Corporation. All rights reserved. *
* * * *
\*****************************************************************************/ \*****************************************************************************/
#ifndef _INC_COMMCTRL #ifndef _INC_COMMCTRL
#define _INC_COMMCTRL #define _INC_COMMCTRL
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(push)
#pragma warning(disable:4001) /* nonstandard extension : single line comment */
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un
ion */
#pragma once
#endif
#ifndef _HRESULT_DEFINED #ifndef _HRESULT_DEFINED
#define _HRESULT_DEFINED #define _HRESULT_DEFINED
typedef __success(return >= 0) long HRESULT; typedef __success(return >= 0) long HRESULT;
#endif // !_HRESULT_DEFINED #endif // !_HRESULT_DEFINED
#ifndef NOUSER #ifndef NOUSER
// //
// Define API decoration for direct importing of DLL references. // Define API decoration for direct importing of DLL references.
// //
skipping to change at line 52 skipping to change at line 59
#define DUMMYUNIONNAME5 u5 #define DUMMYUNIONNAME5 u5
#else #else
#define DUMMYUNIONNAME #define DUMMYUNIONNAME
#define DUMMYUNIONNAME2 #define DUMMYUNIONNAME2
#define DUMMYUNIONNAME3 #define DUMMYUNIONNAME3
#define DUMMYUNIONNAME4 #define DUMMYUNIONNAME4
#define DUMMYUNIONNAME5 #define DUMMYUNIONNAME5
#endif #endif
#endif // DUMMYUNIONNAME #endif // DUMMYUNIONNAME
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(push)
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un
ion */
#pragma once
#endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// //
// Users of this header may define any number of these constants to avoid // Users of this header may define any number of these constants to avoid
// the definitions of each functional group. // the definitions of each functional group.
// //
// NOTOOLBAR Customizable bitmap-button toolbar control. // NOTOOLBAR Customizable bitmap-button toolbar control.
// NOUPDOWN Up and Down arrow increment/decrement control. // NOUPDOWN Up and Down arrow increment/decrement control.
skipping to change at line 160 skipping to change at line 161
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
#define ICC_INTERNET_CLASSES 0x00000800 #define ICC_INTERNET_CLASSES 0x00000800
#define ICC_PAGESCROLLER_CLASS 0x00001000 // page scroller #define ICC_PAGESCROLLER_CLASS 0x00001000 // page scroller
#define ICC_NATIVEFNTCTL_CLASS 0x00002000 // native font control #define ICC_NATIVEFNTCTL_CLASS 0x00002000 // native font control
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
#define ICC_STANDARD_CLASSES 0x00004000 #define ICC_STANDARD_CLASSES 0x00004000
#define ICC_LINK_CLASS 0x00008000 #define ICC_LINK_CLASS 0x00008000
#endif // (_WIN32_WINNT >= 0x0501) #endif // (_WIN32_WINNT >= 0x0501)
WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *picc e); WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(__in const INITCOMMONCONTROLSEX *picce);
#endif // _WIN32_IE >= 0x0300 #endif // _WIN32_IE >= 0x0300
#define ODT_HEADER 100 #define ODT_HEADER 100
#define ODT_TAB 101 #define ODT_TAB 101
#define ODT_LISTVIEW 102 #define ODT_LISTVIEW 102
//====== Ranges for control message IDs ======================================= //====== Ranges for control message IDs =======================================
#define LVM_FIRST 0x1000 // ListView messages #define LVM_FIRST 0x1000 // ListView messages
#define TV_FIRST 0x1100 // TreeView messages #define TV_FIRST 0x1100 // TreeView messages
skipping to change at line 567 skipping to change at line 568
#define ILC_PALETTE 0x00000800 // (not implemented) #define ILC_PALETTE 0x00000800 // (not implemented)
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
#define ILC_MIRROR 0x00002000 // Mirror the icons contained, i f the process is mirrored #define ILC_MIRROR 0x00002000 // Mirror the icons contained, i f the process is mirrored
#define ILC_PERITEMMIRROR 0x00008000 // Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip #define ILC_PERITEMMIRROR 0x00008000 // Causes the mirroring code to mirror each item when inserting a set of images, verses the whole strip
#endif #endif
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
#define ILC_ORIGINALSIZE 0x00010000 // Imagelist should accept small er than set images and apply OriginalSize based on image added #define ILC_ORIGINALSIZE 0x00010000 // Imagelist should accept small er than set images and apply OriginalSize based on image added
#define ILC_HIGHQUALITYSCALE 0x00020000 // Imagelist should enable use o f the high quality scaler. #define ILC_HIGHQUALITYSCALE 0x00020000 // Imagelist should enable use o f the high quality scaler.
#endif #endif
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx, int cy, UINT flags, i nt cInitial, int cGrow); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Create(int cx, int cy, UINT flags, i nt cInitial, int cGrow);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Destroy(HIMAGELIST himl); WINCOMMCTRLAPI BOOL WINAPI ImageList_Destroy(__in_opt HIMAGELIST himl);
WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(HIMAGELIST himl); WINCOMMCTRLAPI int WINAPI ImageList_GetImageCount(__in HIMAGELIST himl);
#if (_WIN32_IE >= 0x0300) #if (_WIN32_IE >= 0x0300)
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetImageCount(HIMAGELIST himl, UINT uNewCount); WINCOMMCTRLAPI BOOL WINAPI ImageList_SetImageCount(__in HIMAGELIST himl, __in UINT uNewCount);
#endif #endif
WINCOMMCTRLAPI int WINAPI ImageList_Add(HIMAGELIST himl, HBITMAP hbmImag e, HBITMAP hbmMask); WINCOMMCTRLAPI int WINAPI ImageList_Add(__in HIMAGELIST himl, __in HBITM AP hbmImage, __in_opt HBITMAP hbmMask);
WINCOMMCTRLAPI int WINAPI ImageList_ReplaceIcon(HIMAGELIST himl, int i, WINCOMMCTRLAPI int WINAPI ImageList_ReplaceIcon(__in HIMAGELIST himl, __
HICON hicon); in int i, __in HICON hicon);
WINCOMMCTRLAPI COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST himl, COLORREF WINCOMMCTRLAPI COLORREF WINAPI ImageList_SetBkColor(__in HIMAGELIST himl, __i
clrBk); n COLORREF clrBk);
WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST himl); WINCOMMCTRLAPI COLORREF WINAPI ImageList_GetBkColor(__in HIMAGELIST himl);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST himl, int WINCOMMCTRLAPI BOOL WINAPI ImageList_SetOverlayImage(__in HIMAGELIST himl
iImage, int iOverlay); , __in int iImage, __in int iOverlay);
#define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon ) #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon )
#define ILD_NORMAL 0x00000000 #define ILD_NORMAL 0x00000000
#define ILD_TRANSPARENT 0x00000001 #define ILD_TRANSPARENT 0x00000001
#define ILD_MASK 0x00000010 #define ILD_MASK 0x00000010
#define ILD_IMAGE 0x00000020 #define ILD_IMAGE 0x00000020
#if (_WIN32_IE >= 0x0300) #if (_WIN32_IE >= 0x0300)
#define ILD_ROP 0x00000040 #define ILD_ROP 0x00000040
#endif #endif
skipping to change at line 617 skipping to change at line 618
#define ILS_GLOW 0x00000001 #define ILS_GLOW 0x00000001
#define ILS_SHADOW 0x00000002 #define ILS_SHADOW 0x00000002
#define ILS_SATURATE 0x00000004 #define ILS_SATURATE 0x00000004
#define ILS_ALPHA 0x00000008 #define ILS_ALPHA 0x00000008
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
#define ILGT_NORMAL 0x00000000 #define ILGT_NORMAL 0x00000000
#define ILGT_ASYNC 0x00000001 #define ILGT_ASYNC 0x00000001
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, in t x, int y, UINT fStyle); WINCOMMCTRLAPI BOOL WINAPI ImageList_Draw(__in HIMAGELIST himl, __in int i, __in HDC hdcDst, __in int x, __in int y, __in UINT fStyle);
#ifdef _WIN32 #ifdef _WIN32
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
#define HBITMAP_CALLBACK ((HBITMAP)-1) // only for SparseIma geList #define HBITMAP_CALLBACK ((HBITMAP)-1) // only for SparseIma geList
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_Replace(HIMAGELIST himl, int i, HBIT MAP hbmImage, HBITMAP hbmMask); WINCOMMCTRLAPI BOOL WINAPI ImageList_Replace(__in HIMAGELIST himl, __in i nt i, __in HBITMAP hbmImage, __in_opt HBITMAP hbmMask);
WINCOMMCTRLAPI int WINAPI ImageList_AddMasked(HIMAGELIST himl, HBITMAP h WINCOMMCTRLAPI int WINAPI ImageList_AddMasked(__in HIMAGELIST himl, __in
bmImage, COLORREF crMask); HBITMAP hbmImage, __in COLORREF crMask);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawEx(HIMAGELIST himl, int i, HDC h WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawEx(__in HIMAGELIST himl, __in in
dcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle t i, __in HDC hdcDst, __in int x, __in int y, __in int dx, __in int dy, __in COL
); ORREF rgbBk, __in COLORREF rgbFg, __in UINT fStyle);
#if (_WIN32_IE >= 0x0300) #if (_WIN32_IE >= 0x0300)
WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS* pi mldp); WINCOMMCTRLAPI BOOL WINAPI ImageList_DrawIndirect(__in IMAGELISTDRAWPARAM S* pimldp);
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_Remove(HIMAGELIST himl, int i); WINCOMMCTRLAPI BOOL WINAPI ImageList_Remove(__in HIMAGELIST himl, __in in
WINCOMMCTRLAPI HICON WINAPI ImageList_GetIcon(HIMAGELIST himl, int i, UINT t i);
flags); WINCOMMCTRLAPI HICON WINAPI ImageList_GetIcon(__in HIMAGELIST himl, __in i
nt i, __in UINT flags);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbm p, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbm p, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpb mp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpb mp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
#ifdef UNICODE #ifdef UNICODE
#define ImageList_LoadImage ImageList_LoadImageW #define ImageList_LoadImage ImageList_LoadImageW
#else #else
#define ImageList_LoadImage ImageList_LoadImageA #define ImageList_LoadImage ImageList_LoadImageA
#endif #endif
#if (_WIN32_IE >= 0x0300) #if (_WIN32_IE >= 0x0300)
#define ILCF_MOVE (0x00000000) #define ILCF_MOVE (0x00000000)
#define ILCF_SWAP (0x00000001) #define ILCF_SWAP (0x00000001)
WINCOMMCTRLAPI BOOL WINAPI ImageList_Copy(HIMAGELIST himlDst, int iDst, H IMAGELIST himlSrc, int iSrc, UINT uFlags); WINCOMMCTRLAPI BOOL WINAPI ImageList_Copy(__in HIMAGELIST himlDst, __in i nt iDst, __in HIMAGELIST himlSrc, __in int iSrc, __in UINT uFlags);
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_BeginDrag(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot); WINCOMMCTRLAPI BOOL WINAPI ImageList_BeginDrag(__in HIMAGELIST himlTrack, __in int iTrack, __in int dxHotspot, __in int dyHotspot);
WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void); WINCOMMCTRLAPI void WINAPI ImageList_EndDrag(void);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragEnter(HWND hwndLock, int x, int y); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragEnter(HWND hwndLock, int x, int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragLeave(HWND hwndLock); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragLeave(HWND hwndLock);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragMove(int x, int y); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragMove(int x, int y);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST himlDr ag, int iDrag, int dxHotspot, int dyHotspot); WINCOMMCTRLAPI BOOL WINAPI ImageList_SetDragCursorImage(__in HIMAGELIST h imlDrag, __in int iDrag, __in int dxHotspot, __in int dyHotspot);
WINCOMMCTRLAPI BOOL WINAPI ImageList_DragShowNolock(BOOL fShow); WINCOMMCTRLAPI BOOL WINAPI ImageList_DragShowNolock(BOOL fShow);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_GetDragImage(POINT *ppt,POINT *pptHo tspot); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_GetDragImage(__out_opt POINT *ppt, _ _out_opt POINT *pptHotspot);
#define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1) #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1)
#define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0) #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0)
#define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadIma ge(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadIma ge(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
#ifdef __IStream_INTERFACE_DEFINED__ struct IStream;
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(LPSTREAM pstm); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(__in struct IStream *pstm);
WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(HIMAGELIST himl, LPSTREAM pstm) WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(__in HIMAGELIST himl, __in str
; uct IStream *pstm);
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
#define ILP_NORMAL 0 // Writes or reads the stream using new sematics for this version of comctl32 #define ILP_NORMAL 0 // Writes or reads the stream using new sematics for this version of comctl32
#define ILP_DOWNLEVEL 1 // Write or reads the stream using downl evel sematics. #define ILP_DOWNLEVEL 1 // Write or reads the stream using downl evel sematics.
WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags, LPSTREAM pstm, REF WINCOMMCTRLAPI HRESULT WINAPI ImageList_ReadEx(__in DWORD dwFlags, __in struct I
IID riid, PVOID* ppv); Stream *pstm, __in REFIID riid, __deref_out PVOID* ppv);
WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(HIMAGELIST himl, DWORD dwFlags, WINCOMMCTRLAPI HRESULT WINAPI ImageList_WriteEx(__in HIMAGELIST himl, __in DWORD
LPSTREAM pstm); dwFlags, __in struct IStream *pstm);
#endif
#endif #endif
#ifndef IMAGEINFO #ifndef IMAGEINFO
typedef struct _IMAGEINFO typedef struct _IMAGEINFO
{ {
HBITMAP hbmImage; HBITMAP hbmImage;
HBITMAP hbmMask; HBITMAP hbmMask;
int Unused1; int Unused1;
int Unused2; int Unused2;
RECT rcImage; RECT rcImage;
} IMAGEINFO, *LPIMAGEINFO; } IMAGEINFO, *LPIMAGEINFO;
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI ImageList_GetIconSize(HIMAGELIST himl, int *cx WINCOMMCTRLAPI BOOL WINAPI ImageList_GetIconSize(__in HIMAGELIST himl, __
, int *cy); out_opt int *cx, __out_opt int *cy);
WINCOMMCTRLAPI BOOL WINAPI ImageList_SetIconSize(HIMAGELIST himl, int cx, WINCOMMCTRLAPI BOOL WINAPI ImageList_SetIconSize(__in HIMAGELIST himl, __
int cy); in int cx, __in int cy);
WINCOMMCTRLAPI BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST himl, int i, WINCOMMCTRLAPI BOOL WINAPI ImageList_GetImageInfo(__in HIMAGELIST himl, _
IMAGEINFO *pImageInfo); _in int i, __out IMAGEINFO *pImageInfo);
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST himl1, int i1, HIMA WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Merge(__in HIMAGELIST himl1, __in in
GELIST himl2, int i2, int dx, int dy); t i1, __in HIMAGELIST himl2, __in int i2, __in int dx, __in int dy);
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl); WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Duplicate(__in HIMAGELIST himl);
#endif #endif
#endif #endif
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(HIMAGELIST himl, REFIID riid, void** ppv); WINCOMMCTRLAPI HRESULT WINAPI HIMAGELIST_QueryInterface(__in HIMAGELIST himl, __ in REFIID riid, __deref_out void** ppv);
#ifdef __cplusplus #ifdef __cplusplus
FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl) FORCEINLINE HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl)
{ {
return reinterpret_cast<HIMAGELIST>(himl); return reinterpret_cast<HIMAGELIST>(himl);
} }
#else #else
#define IImageListToHIMAGELIST(himl) ((HIMAGELIST)(himl)) #define IImageListToHIMAGELIST(himl) ((HIMAGELIST)(himl))
#endif #endif
skipping to change at line 1742 skipping to change at line 1741
#if (_WIN32_IE >= 0x0500) #if (_WIN32_IE >= 0x0500)
#define TB_GETSTRINGW (WM_USER + 91) #define TB_GETSTRINGW (WM_USER + 91)
#define TB_GETSTRINGA (WM_USER + 92) #define TB_GETSTRINGA (WM_USER + 92)
#ifdef UNICODE #ifdef UNICODE
#define TB_GETSTRING TB_GETSTRINGW #define TB_GETSTRING TB_GETSTRINGW
#else #else
#define TB_GETSTRING TB_GETSTRINGA #define TB_GETSTRING TB_GETSTRINGA
#endif #endif
#define TB_SETHOTITEM2 (WM_USER + 94) // wParam == iHotItem, lParam =
dwFlags
#define TB_SETLISTGAP (WM_USER + 96)
#define TB_GETIMAGELISTCOUNT (WM_USER + 98)
#define TB_GETIDEALSIZE (WM_USER + 99) // wParam == fHeight, lParam = p
size
// before using WM_USER + 103, recycle old space above (WM_USER + 97)
#define TB_TRANSLATEACCELERATOR CCM_TRANSLATEACCELERATOR
#endif // _WIN32_IE >= 0x0500 #endif // _WIN32_IE >= 0x0500
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
#define TBMF_PAD 0x00000001 #define TBMF_PAD 0x00000001
#define TBMF_BARPAD 0x00000002 #define TBMF_BARPAD 0x00000002
#define TBMF_BUTTONSPACING 0x00000004 #define TBMF_BUTTONSPACING 0x00000004
typedef struct { typedef struct {
UINT cbSize; UINT cbSize;
DWORD dwMask; DWORD dwMask;
skipping to change at line 1766 skipping to change at line 1772
int cyBarPad; int cyBarPad;
int cxButtonSpacing; // BUTTONSPACING int cxButtonSpacing; // BUTTONSPACING
int cyButtonSpacing; int cyButtonSpacing;
} TBMETRICS, * LPTBMETRICS; } TBMETRICS, * LPTBMETRICS;
#define TB_GETMETRICS (WM_USER + 101) #define TB_GETMETRICS (WM_USER + 101)
#define TB_SETMETRICS (WM_USER + 102) #define TB_SETMETRICS (WM_USER + 102)
#endif #endif
#if (_WIN32_WINNT >= 0x600) #if (_WIN32_WINNT >= 0x600)
#define TB_GETITEMDROPDOWNRECT (WM_USER + 103) // Rect of item's drop down but ton
#define TB_SETPRESSEDIMAGELIST (WM_USER + 104) #define TB_SETPRESSEDIMAGELIST (WM_USER + 104)
#define TB_GETPRESSEDIMAGELIST (WM_USER + 105) #define TB_GETPRESSEDIMAGELIST (WM_USER + 105)
#endif // _WIN32_WINNT >= 0x600 #endif // _WIN32_WINNT >= 0x600
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
#define TB_SETWINDOWTHEME CCM_SETWINDOWTHEME #define TB_SETWINDOWTHEME CCM_SETWINDOWTHEME
#endif #endif
#define TBN_GETBUTTONINFOA (TBN_FIRST-0) #define TBN_GETBUTTONINFOA (TBN_FIRST-0)
#define TBN_BEGINDRAG (TBN_FIRST-1) #define TBN_BEGINDRAG (TBN_FIRST-1)
skipping to change at line 1826 skipping to change at line 1833
#define TBN_GETDISPINFOW (TBN_FIRST - 17) // This is sent when the toolb ar needs some display information #define TBN_GETDISPINFOW (TBN_FIRST - 17) // This is sent when the toolb ar needs some display information
#define TBN_GETINFOTIPA (TBN_FIRST - 18) #define TBN_GETINFOTIPA (TBN_FIRST - 18)
#define TBN_GETINFOTIPW (TBN_FIRST - 19) #define TBN_GETINFOTIPW (TBN_FIRST - 19)
#define TBN_GETBUTTONINFOW (TBN_FIRST - 20) #define TBN_GETBUTTONINFOW (TBN_FIRST - 20)
#if (_WIN32_IE >= 0x0500) #if (_WIN32_IE >= 0x0500)
#define TBN_RESTORE (TBN_FIRST - 21) #define TBN_RESTORE (TBN_FIRST - 21)
#define TBN_SAVE (TBN_FIRST - 22) #define TBN_SAVE (TBN_FIRST - 22)
#define TBN_INITCUSTOMIZE (TBN_FIRST - 23) #define TBN_INITCUSTOMIZE (TBN_FIRST - 23)
#define TBNRF_HIDEHELP 0x00000001 #define TBNRF_HIDEHELP 0x00000001
#define TBNRF_ENDCUSTOMIZE 0x00000002 #define TBNRF_ENDCUSTOMIZE 0x00000002
#define TBN_WRAPHOTITEM (TBN_FIRST - 24)
#define TBN_DUPACCELERATOR (TBN_FIRST - 25)
#define TBN_WRAPACCELERATOR (TBN_FIRST - 26)
#define TBN_DRAGOVER (TBN_FIRST - 27)
#define TBN_MAPACCELERATOR (TBN_FIRST - 28)
#endif // (_WIN32_IE >= 0x0500) #endif // (_WIN32_IE >= 0x0500)
#if (_WIN32_IE >= 0x0500) #if (_WIN32_IE >= 0x0500)
typedef struct tagNMTBSAVE typedef struct tagNMTBSAVE
{ {
NMHDR hdr; NMHDR hdr;
DWORD* pData; DWORD* pData;
DWORD* pCurrent; DWORD* pCurrent;
UINT cbData; UINT cbData;
skipping to change at line 2519 skipping to change at line 2531
// Tool Tip Messages // Tool Tip Messages
#define TTM_ACTIVATE (WM_USER + 1) #define TTM_ACTIVATE (WM_USER + 1)
#define TTM_SETDELAYTIME (WM_USER + 3) #define TTM_SETDELAYTIME (WM_USER + 3)
#define TTM_ADDTOOLA (WM_USER + 4) #define TTM_ADDTOOLA (WM_USER + 4)
#define TTM_ADDTOOLW (WM_USER + 50) #define TTM_ADDTOOLW (WM_USER + 50)
#define TTM_DELTOOLA (WM_USER + 5) #define TTM_DELTOOLA (WM_USER + 5)
#define TTM_DELTOOLW (WM_USER + 51) #define TTM_DELTOOLW (WM_USER + 51)
#define TTM_NEWTOOLRECTA (WM_USER + 6) #define TTM_NEWTOOLRECTA (WM_USER + 6)
#define TTM_NEWTOOLRECTW (WM_USER + 52) #define TTM_NEWTOOLRECTW (WM_USER + 52)
#define TTM_RELAYEVENT (WM_USER + 7) #define TTM_RELAYEVENT (WM_USER + 7) // Win7: wParam = GetMessageExtraI nfo() when relaying WM_MOUSEMOVE
#define TTM_GETTOOLINFOA (WM_USER + 8) #define TTM_GETTOOLINFOA (WM_USER + 8)
#define TTM_GETTOOLINFOW (WM_USER + 53) #define TTM_GETTOOLINFOW (WM_USER + 53)
#define TTM_SETTOOLINFOA (WM_USER + 9) #define TTM_SETTOOLINFOA (WM_USER + 9)
#define TTM_SETTOOLINFOW (WM_USER + 54) #define TTM_SETTOOLINFOW (WM_USER + 54)
#define TTM_HITTESTA (WM_USER +10) #define TTM_HITTESTA (WM_USER +10)
#define TTM_HITTESTW (WM_USER +55) #define TTM_HITTESTW (WM_USER +55)
#define TTM_GETTEXTA (WM_USER +11) #define TTM_GETTEXTA (WM_USER +11)
skipping to change at line 2827 skipping to change at line 2839
// refers to the data saved for simple mode // refers to the data saved for simple mode
#define SB_SIMPLEID 0x00ff #define SB_SIMPLEID 0x00ff
#endif #endif
#endif // NOSTATUSBAR #endif // NOSTATUSBAR
//====== MENU HELP ============================================================ //====== MENU HELP ============================================================
#ifndef NOMENUHELP #ifndef NOMENUHELP
WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HME WINCOMMCTRLAPI void WINAPI MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HME
NU hMainMenu, HINSTANCE hInst, HWND hwndStatus, __in_ecount(4) UINT *lpwIDs); NU hMainMenu, HINSTANCE hInst, HWND hwndStatus, __in_xcount(2 + 2n && n >= 1) UI
WINCOMMCTRLAPI BOOL WINAPI ShowHideMenuCtl(HWND hWnd, UINT_PTR uFlags, __in __nu NT *lpwIDs);
llterminated LPINT lpInfo); WINCOMMCTRLAPI BOOL WINAPI ShowHideMenuCtl(__in HWND hWnd, __in UINT_PTR uFlags,
WINCOMMCTRLAPI void WINAPI GetEffectiveClientRect(HWND hWnd, LPRECT lprc, __in __in __nullterminated LPINT lpInfo);
__nullterminated const INT *lpInfo); WINCOMMCTRLAPI void WINAPI GetEffectiveClientRect(__in HWND hWnd, __out LPRECT l
prc, __in __nullterminated const INT *lpInfo);
#define MINSYSCOMMAND SC_SIZE #define MINSYSCOMMAND SC_SIZE
#endif #endif
//====== TRACKBAR CONTROL ===================================================== //====== TRACKBAR CONTROL =====================================================
#ifndef NOTRACKBAR #ifndef NOTRACKBAR
#ifdef _WIN32 #ifdef _WIN32
skipping to change at line 2883 skipping to change at line 2895
#endif #endif
#if (_WIN32_IE >= 0x0501) #if (_WIN32_IE >= 0x0501)
#define TBS_DOWNISLEFT 0x0400 // Down=Left and Up=Right (default is Do wn=Right and Up=Left) #define TBS_DOWNISLEFT 0x0400 // Down=Left and Up=Right (default is Do wn=Right and Up=Left)
#endif #endif
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
#define TBS_NOTIFYBEFOREMOVE 0x0800 // Trackbar should notify parent before repositioning the slider due to user action (enables snapping) #define TBS_NOTIFYBEFOREMOVE 0x0800 // Trackbar should notify parent before repositioning the slider due to user action (enables snapping)
#endif #endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define TBS_TRANSPARENTBKGND 0x1000 // Background is painted by the parent v ia WM_PRINTCLIENT #define TBS_TRANSPARENTBKGND 0x1000 // Background is painted by the parent v ia WM_PRINTCLIENT
#endif #endif
// end_r_commctrl // end_r_commctrl
#define TBM_GETPOS (WM_USER) #define TBM_GETPOS (WM_USER)
#define TBM_GETRANGEMIN (WM_USER+1) #define TBM_GETRANGEMIN (WM_USER+1)
#define TBM_GETRANGEMAX (WM_USER+2) #define TBM_GETRANGEMAX (WM_USER+2)
#define TBM_GETTIC (WM_USER+3) #define TBM_GETTIC (WM_USER+3)
#define TBM_SETTIC (WM_USER+4) #define TBM_SETTIC (WM_USER+4)
skipping to change at line 2929 skipping to change at line 2941
#define TBM_GETTOOLTIPS (WM_USER+30) #define TBM_GETTOOLTIPS (WM_USER+30)
#define TBM_SETTIPSIDE (WM_USER+31) #define TBM_SETTIPSIDE (WM_USER+31)
// TrackBar Tip Side flags // TrackBar Tip Side flags
#define TBTS_TOP 0 #define TBTS_TOP 0
#define TBTS_LEFT 1 #define TBTS_LEFT 1
#define TBTS_BOTTOM 2 #define TBTS_BOTTOM 2
#define TBTS_RIGHT 3 #define TBTS_RIGHT 3
#define TBM_SETBUDDY (WM_USER+32) // wparam = BOOL fLeft; (or right) #define TBM_SETBUDDY (WM_USER+32) // wparam = BOOL fLeft; (or right)
#define TBM_GETBUDDY (WM_USER+33) // wparam = BOOL fLeft; (or right) #define TBM_GETBUDDY (WM_USER+33) // wparam = BOOL fLeft; (or right)
#define TBM_SETPOSNOTIFY (WM_USER+34)
#endif #endif
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
#define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif #endif
#define TB_LINEUP 0 #define TB_LINEUP 0
#define TB_LINEDOWN 1 #define TB_LINEDOWN 1
#define TB_PAGEUP 2 #define TB_PAGEUP 2
#define TB_PAGEDOWN 3 #define TB_PAGEDOWN 3
skipping to change at line 4770 skipping to change at line 4783
// Group Custom Draw // Group Custom Draw
RECT rcText; RECT rcText;
UINT uAlign; // Alignment. Use LVGA_HEADER_CENTER, LVGA_HEADER_RIGHT, L VGA_HEADER_LEFT UINT uAlign; // Alignment. Use LVGA_HEADER_CENTER, LVGA_HEADER_RIGHT, L VGA_HEADER_LEFT
#endif #endif
} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW; } NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
// dwItemType // dwItemType
#define LVCDI_ITEM 0x00000000 #define LVCDI_ITEM 0x00000000
#define LVCDI_GROUP 0x00000001 #define LVCDI_GROUP 0x00000001
#define LVCDI_ITEMSLIST 0x00000002
// ListView custom draw return values // ListView custom draw return values
#define LVCDRF_NOSELECT 0x00010000 #define LVCDRF_NOSELECT 0x00010000
#define LVCDRF_NOGROUPFRAME 0x00020000 #define LVCDRF_NOGROUPFRAME 0x00020000
typedef struct tagNMLVCACHEHINT typedef struct tagNMLVCACHEHINT
{ {
NMHDR hdr; NMHDR hdr;
int iFrom; int iFrom;
int iTo; int iTo;
skipping to change at line 5234 skipping to change at line 5248
int iImage; int iImage;
int iSelectedImage; int iSelectedImage;
int cChildren; int cChildren;
LPARAM lParam; LPARAM lParam;
int iIntegral; int iIntegral;
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
UINT uStateEx; UINT uStateEx;
HWND hwnd; HWND hwnd;
int iExpandedImage; int iExpandedImage;
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WIN7)
int iReserved;
#endif
} TVITEMEXA, *LPTVITEMEXA; } TVITEMEXA, *LPTVITEMEXA;
// only used for Get and Set messages. no notifies // only used for Get and Set messages. no notifies
typedef struct tagTVITEMEXW { typedef struct tagTVITEMEXW {
UINT mask; UINT mask;
HTREEITEM hItem; HTREEITEM hItem;
UINT state; UINT state;
UINT stateMask; UINT stateMask;
LPWSTR pszText; LPWSTR pszText;
int cchTextMax; int cchTextMax;
int iImage; int iImage;
int iSelectedImage; int iSelectedImage;
int cChildren; int cChildren;
LPARAM lParam; LPARAM lParam;
int iIntegral; int iIntegral;
#if (_WIN32_IE >= 0x0600) #if (_WIN32_IE >= 0x0600)
UINT uStateEx; UINT uStateEx;
HWND hwnd; HWND hwnd;
int iExpandedImage; int iExpandedImage;
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WIN7)
int iReserved;
#endif
} TVITEMEXW, *LPTVITEMEXW; } TVITEMEXW, *LPTVITEMEXW;
#ifdef UNICODE #ifdef UNICODE
typedef TVITEMEXW TVITEMEX; typedef TVITEMEXW TVITEMEX;
typedef LPTVITEMEXW LPTVITEMEX; typedef LPTVITEMEXW LPTVITEMEX;
#else #else
typedef TVITEMEXA TVITEMEX; typedef TVITEMEXA TVITEMEX;
typedef LPTVITEMEXA LPTVITEMEX; typedef LPTVITEMEXA LPTVITEMEX;
#endif // UNICODE #endif // UNICODE
#endif #endif
skipping to change at line 5681 skipping to change at line 5701
#define TVM_GETSELECTEDCOUNT (TV_FIRST + 70) #define TVM_GETSELECTEDCOUNT (TV_FIRST + 70)
#define TreeView_GetSelectedCount(hwnd) \ #define TreeView_GetSelectedCount(hwnd) \
(DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0) (DWORD)SNDMSG((hwnd), TVM_GETSELECTEDCOUNT, 0, 0)
#define TVM_SHOWINFOTIP (TV_FIRST + 71) #define TVM_SHOWINFOTIP (TV_FIRST + 71)
#define TreeView_ShowInfoTip(hwnd, hitem) \ #define TreeView_ShowInfoTip(hwnd, hitem) \
(DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem)) (DWORD)SNDMSG((hwnd), TVM_SHOWINFOTIP, 0, (LPARAM)(hitem))
typedef enum _TVITEMPART typedef enum _TVITEMPART
{ {
TVGIPR_BUTTON = 0x0001, TVGIPR_BUTTON = 0x0001,
} TVITEMPART; } TVITEMPART;
typedef struct tagTVGETITEMPARTRECTINFO { typedef struct tagTVGETITEMPARTRECTINFO {
HTREEITEM hti; HTREEITEM hti;
RECT* prc; RECT* prc;
TVITEMPART partID; TVITEMPART partID;
} TVGETITEMPARTRECTINFO; } TVGETITEMPARTRECTINFO;
#define TVM_GETITEMPARTRECT (TV_FIRST + 72) #define TVM_GETITEMPARTRECT (TV_FIRST + 72)
#define TreeView_GetItemPartRect(hwnd, hitem, prc, partid) \ #define TreeView_GetItemPartRect(hwnd, hitem, prc, partid) \
skipping to change at line 6771 skipping to change at line 6791
#define MCM_HITTEST (MCM_FIRST + 14) #define MCM_HITTEST (MCM_FIRST + 14)
#define MonthCal_HitTest(hmc, pinfo) \ #define MonthCal_HitTest(hmc, pinfo) \
SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo)) SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo))
typedef struct { typedef struct {
UINT cbSize; UINT cbSize;
POINT pt; POINT pt;
UINT uHit; // out param UINT uHit; // out param
SYSTEMTIME st; SYSTEMTIME st;
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
RECT rc; RECT rc;
int iOffset; int iOffset;
int iRow; int iRow;
int iCol; int iCol;
#endif #endif
} MCHITTESTINFO, *PMCHITTESTINFO; } MCHITTESTINFO, *PMCHITTESTINFO;
#define MCHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(MCHITTESTINFO, st) #define MCHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(MCHITTESTINFO, st)
#define MCHT_TITLE 0x00010000 #define MCHT_TITLE 0x00010000
#define MCHT_CALENDAR 0x00020000 #define MCHT_CALENDAR 0x00020000
#define MCHT_TODAYLINK 0x00030000 #define MCHT_TODAYLINK 0x00030000
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define MCHT_CALENDARCONTROL 0x00100000 #define MCHT_CALENDARCONTROL 0x00100000
#endif #endif
#define MCHT_NEXT 0x01000000 // these indicate that hitt ing #define MCHT_NEXT 0x01000000 // these indicate that hitt ing
#define MCHT_PREV 0x02000000 // here will go to the next/ prev month #define MCHT_PREV 0x02000000 // here will go to the next/ prev month
#define MCHT_NOWHERE 0x00000000 #define MCHT_NOWHERE 0x00000000
#define MCHT_TITLEBK (MCHT_TITLE) #define MCHT_TITLEBK (MCHT_TITLE)
#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001) #define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
skipping to change at line 6868 skipping to change at line 6888
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT #define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define MonthCal_SetUnicodeFormat(hwnd, fUnicode) \ #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) \
(BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT #define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define MonthCal_GetUnicodeFormat(hwnd) \ #define MonthCal_GetUnicodeFormat(hwnd) \
(BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0) (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0)
#endif #endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
// View // View
#define MCMV_MONTH 0 #define MCMV_MONTH 0
#define MCMV_YEAR 1 #define MCMV_YEAR 1
#define MCMV_DECADE 2 #define MCMV_DECADE 2
#define MCMV_CENTURY 3 #define MCMV_CENTURY 3
#define MCMV_MAX MCMV_CENTURY #define MCMV_MAX MCMV_CENTURY
#define MCM_GETCURRENTVIEW (MCM_FIRST + 22) #define MCM_GETCURRENTVIEW (MCM_FIRST + 22)
#define MonthCal_GetCurrentView(hmc) \ #define MonthCal_GetCurrentView(hmc) \
(DWORD)SNDMSG(hmc, MCM_GETCURRENTVIEW, 0, 0) (DWORD)SNDMSG(hmc, MCM_GETCURRENTVIEW, 0, 0)
skipping to change at line 7004 skipping to change at line 7024
#define MCS_DAYSTATE 0x0001 #define MCS_DAYSTATE 0x0001
#define MCS_MULTISELECT 0x0002 #define MCS_MULTISELECT 0x0002
#define MCS_WEEKNUMBERS 0x0004 #define MCS_WEEKNUMBERS 0x0004
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
#define MCS_NOTODAYCIRCLE 0x0008 #define MCS_NOTODAYCIRCLE 0x0008
#define MCS_NOTODAY 0x0010 #define MCS_NOTODAY 0x0010
#else #else
#define MCS_NOTODAY 0x0008 #define MCS_NOTODAY 0x0008
#endif #endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define MCS_NOTRAILINGDATES 0x0040 #define MCS_NOTRAILINGDATES 0x0040
#define MCS_SHORTDAYSOFWEEK 0x0080 #define MCS_SHORTDAYSOFWEEK 0x0080
#define MCS_NOSELCHANGEONNAV 0x0100 #define MCS_NOSELCHANGEONNAV 0x0100
#endif #endif
// end_r_commctrl // end_r_commctrl
#define GMR_VISIBLE 0 // visible portion of display #define GMR_VISIBLE 0 // visible portion of display
#define GMR_DAYSTATE 1 // above plus the grayed out parts of #define GMR_DAYSTATE 1 // above plus the grayed out parts of
// partially displayed months // partially displayed months
skipping to change at line 7033 skipping to change at line 7053
#define DATETIMEPICK_CLASSW L"SysDateTimePick32" #define DATETIMEPICK_CLASSW L"SysDateTimePick32"
#define DATETIMEPICK_CLASSA "SysDateTimePick32" #define DATETIMEPICK_CLASSA "SysDateTimePick32"
#ifdef UNICODE #ifdef UNICODE
#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
#else #else
#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA #define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
#endif #endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
typedef struct tagDATETIMEPICKERINFO typedef struct tagDATETIMEPICKERINFO
{ {
DWORD cbSize; DWORD cbSize;
RECT rcCheck; RECT rcCheck;
DWORD stateCheck; DWORD stateCheck;
RECT rcButton; RECT rcButton;
DWORD stateButton; DWORD stateButton;
HWND hwndEdit; HWND hwndEdit;
HWND hwndUD; HWND hwndUD;
HWND hwndDropDown; HWND hwndDropDown;
} DATETIMEPICKERINFO, *LPDATETIMEPICKERINFO; } DATETIMEPICKERINFO, *LPDATETIMEPICKERINFO;
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#define DTM_FIRST 0x1000 #define DTM_FIRST 0x1000
// DWORD DateTimePick_GetSystemtime(HWND hdp, LPSYSTEMTIME pst) // DWORD DateTimePick_GetSystemtime(HWND hdp, LPSYSTEMTIME pst)
// returns GDT_NONE if "none" is selected (DTS_SHOWNONE only) // returns GDT_NONE if "none" is selected (DTS_SHOWNONE only)
// returns GDT_VALID and modifies *pst to be the currently selected value // returns GDT_VALID and modifies *pst to be the currently selected value
#define DTM_GETSYSTEMTIME (DTM_FIRST + 1) #define DTM_GETSYSTEMTIME (DTM_FIRST + 1)
#define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME , 0, (LPARAM)(pst)) #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME , 0, (LPARAM)(pst))
// BOOL DateTime_SetSystemtime(HWND hdp, DWORD gd, LPSYSTEMTIME pst) // BOOL DateTime_SetSystemtime(HWND hdp, DWORD gd, LPSYSTEMTIME pst)
skipping to change at line 7119 skipping to change at line 7139
#if (_WIN32_IE >= 0x0400) #if (_WIN32_IE >= 0x0400)
#define DTM_SETMCFONT (DTM_FIRST + 9) #define DTM_SETMCFONT (DTM_FIRST + 9)
#define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) #define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw))
#define DTM_GETMCFONT (DTM_FIRST + 10) #define DTM_GETMCFONT (DTM_FIRST + 10)
#define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0) #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0)
#endif // _WIN32_IE >= 0x0400 #endif // _WIN32_IE >= 0x0400
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
#define DTM_SETMCSTYLE (DTM_FIRST + 11) #define DTM_SETMCSTYLE (DTM_FIRST + 11)
#define DateTime_SetMonthCalStyle(hdp, dwStyle) SNDMSG(hdp, DTM_SETMCSTYLE, 0, ( LPARAM)dwStyle) #define DateTime_SetMonthCalStyle(hdp, dwStyle) SNDMSG(hdp, DTM_SETMCSTYLE, 0, ( LPARAM)dwStyle)
#define DTM_GETMCSTYLE (DTM_FIRST + 12) #define DTM_GETMCSTYLE (DTM_FIRST + 12)
#define DateTime_GetMonthCalStyle(hdp) SNDMSG(hdp, DTM_GETMCSTYLE, 0, 0) #define DateTime_GetMonthCalStyle(hdp) SNDMSG(hdp, DTM_GETMCSTYLE, 0, 0)
#define DTM_CLOSEMONTHCAL (DTM_FIRST + 13) #define DTM_CLOSEMONTHCAL (DTM_FIRST + 13)
#define DateTime_CloseMonthCal(hdp) SNDMSG(hdp, DTM_CLOSEMONTHCAL, 0, 0) #define DateTime_CloseMonthCal(hdp) SNDMSG(hdp, DTM_CLOSEMONTHCAL, 0, 0)
// DateTime_GetDateTimePickerInfo(HWND hdp, DATETIMEPICKERINFO* pdtpi) // DateTime_GetDateTimePickerInfo(HWND hdp, DATETIMEPICKERINFO* pdtpi)
// Retrieves information about the selected date time picker. // Retrieves information about the selected date time picker.
#define DTM_GETDATETIMEPICKERINFO (DTM_FIRST + 14) #define DTM_GETDATETIMEPICKERINFO (DTM_FIRST + 14)
#define DateTime_GetDateTimePickerInfo(hdp, pdtpi) SNDMSG(hdp, DTM_GETDATETIMEPI CKERINFO, 0, (LPARAM)(pdtpi)) #define DateTime_GetDateTimePickerInfo(hdp, pdtpi) SNDMSG(hdp, DTM_GETDATETIMEPI CKERINFO, 0, (LPARAM)(pdtpi))
#define DTM_GETIDEALSIZE (DTM_FIRST + 15) #define DTM_GETIDEALSIZE (DTM_FIRST + 15)
#define DateTime_GetIdealSize(hdp, psize) (BOOL)SNDMSG((hdp), DTM_GETIDEALSIZE, 0, (LPARAM)(psize)) #define DateTime_GetIdealSize(hdp, psize) (BOOL)SNDMSG((hdp), DTM_GETIDEALSIZE, 0, (LPARAM)(psize))
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
// begin_r_commctrl // begin_r_commctrl
#define DTS_UPDOWN 0x0001 // use UPDOWN instead of MONTHCAL #define DTS_UPDOWN 0x0001 // use UPDOWN instead of MONTHCAL
#define DTS_SHOWNONE 0x0002 // allow a NONE selection #define DTS_SHOWNONE 0x0002 // allow a NONE selection
#define DTS_SHORTDATEFORMAT 0x0000 // use the short date format (app must forwar d WM_WININICHANGE messages) #define DTS_SHORTDATEFORMAT 0x0000 // use the short date format (app must forwar d WM_WININICHANGE messages)
#define DTS_LONGDATEFORMAT 0x0004 // use the long date format (app must forward WM_WININICHANGE messages) #define DTS_LONGDATEFORMAT 0x0004 // use the long date format (app must forward WM_WININICHANGE messages)
#if (_WIN32_IE >= 0x500) #if (_WIN32_IE >= 0x500)
#define DTS_SHORTDATECENTURYFORMAT 0x000C// short date format with century (app must forward WM_WININICHANGE messages) #define DTS_SHORTDATECENTURYFORMAT 0x000C// short date format with century (app must forward WM_WININICHANGE messages)
#endif // (_WIN32_IE >= 0x500) #endif // (_WIN32_IE >= 0x500)
skipping to change at line 7872 skipping to change at line 7892
#else #else
#define WC_SCROLLBAR "ScrollBar" #define WC_SCROLLBAR "ScrollBar"
#endif #endif
#endif // NOSCROLLBAR #endif // NOSCROLLBAR
// ===================== End Scrollbar Control ========================= // ===================== End Scrollbar Control =========================
// ===================== Task Dialog ========================= // ===================== Task Dialog =========================
#ifndef NOTASKDIALOG #ifndef NOTASKDIALOG
// Task Dialog is only available starting Windows Vista
#if (NTDDI_VERSION >= NTDDI_VISTA)
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#endif #endif
typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(__in HWND hwnd, __in UINT msg, __in WPARAM wParam, __in LPARAM lParam, __in LONG_PTR lpRefData); typedef HRESULT (CALLBACK *PFTASKDIALOGCALLBACK)(__in HWND hwnd, __in UINT msg, __in WPARAM wParam, __in LPARAM lParam, __in LONG_PTR lpRefData);
enum _TASKDIALOG_FLAGS enum _TASKDIALOG_FLAGS
{ {
TDF_ENABLE_HYPERLINKS = 0x0001, TDF_ENABLE_HYPERLINKS = 0x0001,
skipping to change at line 7959 skipping to change at line 7981
{ {
TDIE_ICON_MAIN, TDIE_ICON_MAIN,
TDIE_ICON_FOOTER TDIE_ICON_FOOTER
} TASKDIALOG_ICON_ELEMENTS; } TASKDIALOG_ICON_ELEMENTS;
#define TD_WARNING_ICON MAKEINTRESOURCEW(-1) #define TD_WARNING_ICON MAKEINTRESOURCEW(-1)
#define TD_ERROR_ICON MAKEINTRESOURCEW(-2) #define TD_ERROR_ICON MAKEINTRESOURCEW(-2)
#define TD_INFORMATION_ICON MAKEINTRESOURCEW(-3) #define TD_INFORMATION_ICON MAKEINTRESOURCEW(-3)
#define TD_SHIELD_ICON MAKEINTRESOURCEW(-4) #define TD_SHIELD_ICON MAKEINTRESOURCEW(-4)
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (NTDDI_VERSION >= NTDDI_VISTA)
enum _TASKDIALOG_COMMON_BUTTON_FLAGS enum _TASKDIALOG_COMMON_BUTTON_FLAGS
{ {
TDCBF_OK_BUTTON = 0x0001, // selected control return value IDOK TDCBF_OK_BUTTON = 0x0001, // selected control return value IDOK
TDCBF_YES_BUTTON = 0x0002, // selected control return value IDYES TDCBF_YES_BUTTON = 0x0002, // selected control return value IDYES
TDCBF_NO_BUTTON = 0x0004, // selected control return value IDNO TDCBF_NO_BUTTON = 0x0004, // selected control return value IDNO
TDCBF_CANCEL_BUTTON = 0x0008, // selected control return value IDCANC EL TDCBF_CANCEL_BUTTON = 0x0008, // selected control return value IDCANC EL
TDCBF_RETRY_BUTTON = 0x0010, // selected control return value IDRETR Y TDCBF_RETRY_BUTTON = 0x0010, // selected control return value IDRETR Y
TDCBF_CLOSE_BUTTON = 0x0020 // selected control return value IDCLOS E TDCBF_CLOSE_BUTTON = 0x0020 // selected control return value IDCLOS E
}; };
typedef int TASKDIALOG_COMMON_BUTTON_FLAGS; // Note: _TASKDIALOG_COMMO N_BUTTON_FLAGS is an int typedef int TASKDIALOG_COMMON_BUTTON_FLAGS; // Note: _TASKDIALOG_COMMO N_BUTTON_FLAGS is an int
skipping to change at line 7982 skipping to change at line 8007
UINT cbSize; UINT cbSize;
HWND hwndParent; HWND hwndParent;
HINSTANCE hInstance; // used for MAKEINTRESOU RCE() strings HINSTANCE hInstance; // used for MAKEINTRESOU RCE() strings
TASKDIALOG_FLAGS dwFlags; // TASKDIALOG_FLAGS (TDF _XXX) flags TASKDIALOG_FLAGS dwFlags; // TASKDIALOG_FLAGS (TDF _XXX) flags
TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; // TASKDIALOG_COMMON_BUT TON (TDCBF_XXX) flags TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; // TASKDIALOG_COMMON_BUT TON (TDCBF_XXX) flags
PCWSTR pszWindowTitle; // string or MAKEINTRESO URCE() PCWSTR pszWindowTitle; // string or MAKEINTRESO URCE()
union union
{ {
HICON hMainIcon; HICON hMainIcon;
PCWSTR pszMainIcon; PCWSTR pszMainIcon;
}; } DUMMYUNIONNAME;
PCWSTR pszMainInstruction; PCWSTR pszMainInstruction;
PCWSTR pszContent; PCWSTR pszContent;
UINT cButtons; UINT cButtons;
const TASKDIALOG_BUTTON *pButtons; const TASKDIALOG_BUTTON *pButtons;
int nDefaultButton; int nDefaultButton;
UINT cRadioButtons; UINT cRadioButtons;
const TASKDIALOG_BUTTON *pRadioButtons; const TASKDIALOG_BUTTON *pRadioButtons;
int nDefaultRadioButton; int nDefaultRadioButton;
PCWSTR pszVerificationText; PCWSTR pszVerificationText;
PCWSTR pszExpandedInformation; PCWSTR pszExpandedInformation;
PCWSTR pszExpandedControlText; PCWSTR pszExpandedControlText;
PCWSTR pszCollapsedControlText; PCWSTR pszCollapsedControlText;
union union
{ {
HICON hFooterIcon; HICON hFooterIcon;
PCWSTR pszFooterIcon; PCWSTR pszFooterIcon;
}; } DUMMYUNIONNAME2;
PCWSTR pszFooter; PCWSTR pszFooter;
PFTASKDIALOGCALLBACK pfCallback; PFTASKDIALOGCALLBACK pfCallback;
LONG_PTR lpCallbackData; LONG_PTR lpCallbackData;
UINT cxWidth; // width of the Task Dia log's client area in DLU's. If 0, Task Dialog will calculate the ideal width. UINT cxWidth; // width of the Task Dia log's client area in DLU's. If 0, Task Dialog will calculate the ideal width.
} TASKDIALOGCONFIG; } TASKDIALOGCONFIG;
WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(const TASKDIALOGCONFIG *pTaskCo nfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfV erificationFlagChecked); WINCOMMCTRLAPI HRESULT WINAPI TaskDialogIndirect(__in const TASKDIALOGCONFIG *pT askConfig, __out_opt int *pnButton, __out_opt int *pnRadioButton, __out_opt BOOL *pfVerificationFlagChecked);
WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(__in_opt HWND hwndParent, __in_opt HINS TANCE hInstance, __in_opt PCWSTR pszWindowTitle, __in_opt PCWSTR pszMainInstruct ion, __in_opt PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, __in_opt PCWSTR pszIcon, __out_opt int *pnButton); WINCOMMCTRLAPI HRESULT WINAPI TaskDialog(__in_opt HWND hwndParent, __in_opt HINS TANCE hInstance, __in_opt PCWSTR pszWindowTitle, __in_opt PCWSTR pszMainInstruct ion, __in_opt PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, __in_opt PCWSTR pszIcon, __out_opt int *pnButton);
#ifdef _WIN32 #ifdef _WIN32
#include <poppack.h> #include <poppack.h>
#endif #endif
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif // NOTASKDIALOG #endif // NOTASKDIALOG
// ==================== End TaskDialog ======================= // ==================== End TaskDialog =======================
// //
// === MUI APIs === // === MUI APIs ===
// //
#ifndef NOMUI #ifndef NOMUI
void WINAPI InitMUILanguage(LANGID uiLang); void WINAPI InitMUILanguage(LANGID uiLang);
skipping to change at line 8041 skipping to change at line 8067
//====== Dynamic Array routines ========================================== //====== Dynamic Array routines ==========================================
// //
// Note that the STL and other libraries have similar functionality. // Note that the STL and other libraries have similar functionality.
// The routines here are specific to Windows and may not be as convenient // The routines here are specific to Windows and may not be as convenient
// or fully functional as those in other libraries. // or fully functional as those in other libraries.
// //
#define DA_LAST (0x7FFFFFFF) #define DA_LAST (0x7FFFFFFF)
#define DA_ERR (-1) #define DA_ERR (-1)
typedef int (CALLBACK *PFNDAENUMCALLBACK)(__in void *p, __in_opt void *pData); typedef int (CALLBACK *PFNDAENUMCALLBACK)(__in_opt void *p, __in_opt void *pData
typedef int (CALLBACK *PFNDAENUMCALLBACKCONST)(__in const void *p, __in_opt void );
*pData); typedef int (CALLBACK *PFNDAENUMCALLBACKCONST)(__in_opt const void *p, __in_opt
typedef int (CALLBACK *PFNDACOMPARE)(__in void *p1, __in void *p2, __in LPARAM l void *pData);
Param); typedef int (CALLBACK *PFNDACOMPARE)(__in_opt void *p1, __in_opt void *p2, __in
typedef int (CALLBACK *PFNDACOMPARECONST)(__in const void *p1, __in const void * LPARAM lParam);
p2, __in LPARAM lParam); typedef int (CALLBACK *PFNDACOMPARECONST)(__in_opt const void *p1, __in_opt cons
t void *p2, __in LPARAM lParam);
// Dynamic structure array // Dynamic structure array
struct _DSA; struct _DSA;
typedef struct _DSA *HDSA; typedef struct _DSA *HDSA;
WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem, int cItemGrow); WINCOMMCTRLAPI HDSA WINAPI DSA_Create(int cbItem, int cItemGrow);
WINCOMMCTRLAPI BOOL WINAPI DSA_Destroy(__in HDSA hdsa); WINCOMMCTRLAPI BOOL WINAPI DSA_Destroy(__inout_opt HDSA hdsa);
WINCOMMCTRLAPI void WINAPI DSA_DestroyCallback(__in HDSA hdsa, __in PFNDAENUMC WINCOMMCTRLAPI void WINAPI DSA_DestroyCallback(__inout_opt HDSA hdsa, __in PFN
ALLBACK pfnCB, __in_opt void *pData); DAENUMCALLBACK pfnCB, __in_opt void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DSA_DestroyCallback(__in HDSA hdsa, __in PFNDAENUMCAL LBACKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DSA_DestroyCallback(__inout_opt HDSA hdsa, __in PFNDA ENUMCALLBACKCONST pfnCB, __in_opt void *pData)
{ {
DSA_DestroyCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); DSA_DestroyCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteItem(__in HDSA hdsa, __in int i); WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteItem(__inout HDSA hdsa, __in int i);
WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteAllItems(__in HDSA hdsa); WINCOMMCTRLAPI BOOL WINAPI DSA_DeleteAllItems(__inout HDSA hdsa);
WINCOMMCTRLAPI void WINAPI DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALL BACK pfnCB, __in_opt void *pData); WINCOMMCTRLAPI void WINAPI DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALL BACK pfnCB, __in_opt void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DSA_EnumCallback(__in HDSA hdsa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData)
{ {
DSA_EnumCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); DSA_EnumCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI int WINAPI DSA_InsertItem(__in HDSA hdsa, __in int i, __in con st void *pitem); WINCOMMCTRLAPI int WINAPI DSA_InsertItem(__inout HDSA hdsa, __in int i, __in const void *pitem);
WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(__in HDSA hdsa, __in int i); WINCOMMCTRLAPI PVOID WINAPI DSA_GetItemPtr(__in HDSA hdsa, __in int i);
WINCOMMCTRLAPI BOOL WINAPI DSA_GetItem(__in HDSA hdsa, __in int i, __out_xcoun t(pdsa->cbItem) void *pitem); WINCOMMCTRLAPI BOOL WINAPI DSA_GetItem(__in HDSA hdsa, __in int i, __out_xcoun t(pdsa->cbItem) void *pitem);
WINCOMMCTRLAPI BOOL WINAPI DSA_SetItem(__in HDSA hdsa, __in int i, __in const void *pitem); WINCOMMCTRLAPI BOOL WINAPI DSA_SetItem(__inout HDSA hdsa, __in int i, __in con st void *pitem);
#define DSA_GetItemCount(hdsa) (*(int *)(hdsa)) #define DSA_GetItemCount(hdsa) (*(int *)(hdsa))
#define DSA_AppendItem(hdsa, pitem) DSA_InsertItem(hdsa, DA_LAST, pitem) #define DSA_AppendItem(hdsa, pitem) DSA_InsertItem(hdsa, DA_LAST, pitem)
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
WINCOMMCTRLAPI HDSA WINAPI DSA_Clone(__in HDSA hdsa); WINCOMMCTRLAPI HDSA WINAPI DSA_Clone(__in HDSA hdsa);
WINCOMMCTRLAPI ULONGLONG WINAPI DSA_GetSize(__in HDSA hdsa); WINCOMMCTRLAPI ULONGLONG WINAPI DSA_GetSize(__in_opt HDSA hdsa);
WINCOMMCTRLAPI BOOL WINAPI DSA_Sort(__in HDSA pdsa, __in PFNDACOMPARE pfnCompa WINCOMMCTRLAPI BOOL WINAPI DSA_Sort(__inout HDSA pdsa, __in PFNDACOMPARE pfnCo
re, __in LPARAM lParam); mpare, __in LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DSA_Sort(__in HDSA hdsa, __in PFNDACOMPARECONST pfnCo mpare, __in LPARAM lParam) extern "C++" __inline BOOL DSA_Sort(__inout HDSA hdsa, __in PFNDACOMPARECONST pf nCompare, __in LPARAM lParam)
{ {
return DSA_Sort(hdsa, (PFNDACOMPARE)(pfnCompare), lParam); return DSA_Sort(hdsa, (PFNDACOMPARE)(pfnCompare), lParam);
} }
#endif #endif
#endif // NTDDI_LONGHORN #endif // NTDDI_VISTA
#define DSA_APPEND DA_LAST #define DSA_APPEND DA_LAST
#define DSA_ERR DA_ERR #define DSA_ERR DA_ERR
#define PFNDSAENUMCALLBACK PFNDAENUMCALLBACK #define PFNDSAENUMCALLBACK PFNDAENUMCALLBACK
#define PFNDSAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST #define PFNDSAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST
#define PFNDSACOMPARE PFNDACOMPARE #define PFNDSACOMPARE PFNDACOMPARE
#define PFNDSACOMPARECONST PFNDACOMPARECONST #define PFNDSACOMPARECONST PFNDACOMPARECONST
// Dynamic pointer array // Dynamic pointer array
struct _DPA; struct _DPA;
typedef struct _DPA *HDPA; typedef struct _DPA *HDPA;
WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow); WINCOMMCTRLAPI HDPA WINAPI DPA_Create(int cItemGrow);
WINCOMMCTRLAPI HDPA WINAPI DPA_CreateEx(__in int cpGrow, __in_opt HANDLE hheap ); WINCOMMCTRLAPI HDPA WINAPI DPA_CreateEx(__in int cpGrow, __in_opt HANDLE hheap );
WINCOMMCTRLAPI HDPA WINAPI DPA_Clone(__in const HDPA hdpa, __in HDPA hdpaNew); WINCOMMCTRLAPI HDPA WINAPI DPA_Clone(__in const HDPA hdpa, __inout_opt HDPA hd
WINCOMMCTRLAPI BOOL WINAPI DPA_Destroy(__in HDPA hdpa); paNew);
WINCOMMCTRLAPI void WINAPI DPA_DestroyCallback(__in HDPA hdpa, __in PFNDAENUMC WINCOMMCTRLAPI BOOL WINAPI DPA_Destroy(__inout_opt HDPA hdpa);
ALLBACK pfnCB, __in_opt void *pData); WINCOMMCTRLAPI void WINAPI DPA_DestroyCallback(__inout_opt HDPA hdpa, __in PFN
DAENUMCALLBACK pfnCB, __in_opt void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DPA_DestroyCallback(__in HDPA hdpa, __in PFNDAENUMCAL LBACKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DPA_DestroyCallback(__in HDPA hdpa, __in PFNDAENUMCAL LBACKCONST pfnCB, __in_opt void *pData)
{ {
DPA_DestroyCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); DPA_DestroyCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(__in HDPA hdpa, __in int i); WINCOMMCTRLAPI PVOID WINAPI DPA_DeletePtr(__inout HDPA hdpa, __in int i);
WINCOMMCTRLAPI BOOL WINAPI DPA_DeleteAllPtrs(__in HDPA hdpa); WINCOMMCTRLAPI BOOL WINAPI DPA_DeleteAllPtrs(__inout HDPA hdpa);
WINCOMMCTRLAPI void WINAPI DPA_EnumCallback(__in HDPA hdpa, __in PFNDAENUMCALL WINCOMMCTRLAPI void WINAPI DPA_EnumCallback(__in_opt HDPA hdpa, __in_opt PFNDA
BACK pfnCB, __in_opt void *pData); ENUMCALLBACK pfnCB, __in_opt void *pData);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline void DPA_EnumCallback(__in HDPA hdpa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData) extern "C++" __inline void DPA_EnumCallback(__in HDPA hdpa, __in PFNDAENUMCALLBA CKCONST pfnCB, __in_opt void *pData)
{ {
DPA_EnumCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); DPA_EnumCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData);
} }
#endif #endif
WINCOMMCTRLAPI BOOL WINAPI DPA_Grow(__in HDPA pdpa, __in int cp); WINCOMMCTRLAPI BOOL WINAPI DPA_Grow(__inout HDPA pdpa, __in int cp);
WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(__in HDPA hdpa, __in int i, __in_opt WINCOMMCTRLAPI int WINAPI DPA_InsertPtr(__inout HDPA hdpa, __in int i, __in_o
void *p); pt void *p);
WINCOMMCTRLAPI BOOL WINAPI DPA_SetPtr(__in HDPA hdpa, __in int i, __in_opt voi WINCOMMCTRLAPI BOOL WINAPI DPA_SetPtr(__inout HDPA hdpa, __in int i, __in_opt
d *p); void *p);
WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(__in HDPA hdpa, __in INT_PTR i); WINCOMMCTRLAPI PVOID WINAPI DPA_GetPtr(__in HDPA hdpa, __in INT_PTR i);
WINCOMMCTRLAPI int WINAPI DPA_GetPtrIndex(__in HDPA hdpa, __in const void *p) ; WINCOMMCTRLAPI int WINAPI DPA_GetPtrIndex(__in HDPA hdpa, __in_opt const void *p);
#define DPA_GetPtrCount(hdpa) (*(int *)(hdpa)) #define DPA_GetPtrCount(hdpa) (*(int *)(hdpa))
#define DPA_SetPtrCount(hdpa, cItems) (*(int *)(hdpa) = (cItems))
#define DPA_FastDeleteLastPtr(hdpa) (--*(int *)(hdpa)) #define DPA_FastDeleteLastPtr(hdpa) (--*(int *)(hdpa))
#define DPA_GetPtrPtr(hdpa) (*((void * **)((BYTE *)(hdpa) + sizeof(void *)))) #define DPA_GetPtrPtr(hdpa) (*((void * **)((BYTE *)(hdpa) + sizeof(void *))))
#define DPA_FastGetPtr(hdpa, i) (DPA_GetPtrPtr(hdpa)[i]) #define DPA_FastGetPtr(hdpa, i) (DPA_GetPtrPtr(hdpa)[i])
#define DPA_AppendPtr(hdpa, pitem) DPA_InsertPtr(hdpa, DA_LAST, pitem) #define DPA_AppendPtr(hdpa, pitem) DPA_InsertPtr(hdpa, DA_LAST, pitem)
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
WINCOMMCTRLAPI ULONGLONG WINAPI DPA_GetSize(__in HDPA hdpa); WINCOMMCTRLAPI ULONGLONG WINAPI DPA_GetSize(__in_opt HDPA hdpa);
#endif // NTDDI_LONGHORN #endif // NTDDI_VISTA
WINCOMMCTRLAPI BOOL WINAPI DPA_Sort(__in HDPA hdpa, __in PFNDACOMPARE pfnCompa re, __in LPARAM lParam); WINCOMMCTRLAPI BOOL WINAPI DPA_Sort(__inout HDPA hdpa, __in PFNDACOMPARE pfnCo mpare, __in LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DPA_Sort(__in HDPA hdpa, __in PFNDACOMPARECONST pfnCo mpare, __in LPARAM lParam) extern "C++" __inline BOOL DPA_Sort(__inout HDPA hdpa, __in PFNDACOMPARECONST pf nCompare, __in LPARAM lParam)
{ {
return DPA_Sort(hdpa, (PFNDACOMPARE)(pfnCompare), lParam); return DPA_Sort(hdpa, (PFNDACOMPARE)(pfnCompare), lParam);
} }
#endif #endif
// //
// Save to and load from a stream. The stream callback gets a pointer to // Save to and load from a stream. The stream callback gets a pointer to
// a DPASTREAMINFO structure. // a DPASTREAMINFO structure.
// //
// For DPA_SaveStream, the callback is responsible for writing the pvItem // For DPA_SaveStream, the callback is responsible for writing the pvItem
skipping to change at line 8167 skipping to change at line 8194
typedef struct _DPASTREAMINFO typedef struct _DPASTREAMINFO
{ {
int iPos; // Index of item int iPos; // Index of item
void *pvItem; void *pvItem;
} DPASTREAMINFO; } DPASTREAMINFO;
struct IStream; struct IStream;
typedef HRESULT (CALLBACK *PFNDPASTREAM)(__in DPASTREAMINFO * pinfo, __in struct IStream * pstream, __in_opt void *pvInstData); typedef HRESULT (CALLBACK *PFNDPASTREAM)(__in DPASTREAMINFO * pinfo, __in struct IStream * pstream, __in_opt void *pvInstData);
WINCOMMCTRLAPI HRESULT WINAPI DPA_LoadStream(__out HDPA * phdpa, __in PFNDPASTRE AM pfn, __in struct IStream * pstream, __in_opt void *pvInstData); WINCOMMCTRLAPI HRESULT WINAPI DPA_LoadStream(__deref_out HDPA * phdpa, __in PFND PASTREAM pfn, __in struct IStream * pstream, __in_opt void *pvInstData);
WINCOMMCTRLAPI HRESULT WINAPI DPA_SaveStream(__in HDPA hdpa, __in PFNDPASTREAM p fn, __in struct IStream * pstream, __in_opt void *pvInstData); WINCOMMCTRLAPI HRESULT WINAPI DPA_SaveStream(__in HDPA hdpa, __in PFNDPASTREAM p fn, __in struct IStream * pstream, __in_opt void *pvInstData);
// Merge two DPAs. This takes two (optionally) presorted arrays and merges // Merge two DPAs. This takes two (optionally) presorted arrays and merges
// the source array into the dest. DPA_Merge uses the provided callbacks // the source array into the dest. DPA_Merge uses the provided callbacks
// to perform comparison and merge operations. The merge callback is // to perform comparison and merge operations. The merge callback is
// called when two elements (one in each list) match according to the // called when two elements (one in each list) match according to the
// compare function. This allows portions of an element in one list to // compare function. This allows portions of an element in one list to
// be merged with the respective element in the second list. // be merged with the respective element in the second list.
// //
// The first DPA (hdpaDest) is the output array. // The first DPA (hdpaDest) is the output array.
skipping to change at line 8208 skipping to change at line 8235
// as the returned pointer. // as the returned pointer.
// //
typedef void* (CALLBACK *PFNDPAMERGE)(__in UINT uMsg, __in void *pvDest, __in vo id *pvSrc, __in LPARAM lParam); typedef void* (CALLBACK *PFNDPAMERGE)(__in UINT uMsg, __in void *pvDest, __in vo id *pvSrc, __in LPARAM lParam);
typedef const void* (CALLBACK *PFNDPAMERGECONST)(__in UINT uMsg, __in const void *pvDest, __in const void *pvSrc, __in LPARAM lParam); typedef const void* (CALLBACK *PFNDPAMERGECONST)(__in UINT uMsg, __in const void *pvDest, __in const void *pvSrc, __in LPARAM lParam);
// Messages for merge callback // Messages for merge callback
#define DPAMM_MERGE 1 #define DPAMM_MERGE 1
#define DPAMM_DELETE 2 #define DPAMM_DELETE 2
#define DPAMM_INSERT 3 #define DPAMM_INSERT 3
WINCOMMCTRLAPI BOOL WINAPI DPA_Merge(__in HDPA hdpaDest, __in HDPA hdpaSrc, __in DWORD dwFlags, __in PFNDACOMPARE pfnCompare, __in PFNDPAMERGE pfnMerge, __in LP ARAM lParam); WINCOMMCTRLAPI BOOL WINAPI DPA_Merge(__inout HDPA hdpaDest, __in HDPA hdpaSrc, _ _in DWORD dwFlags, __in PFNDACOMPARE pfnCompare, __in PFNDPAMERGE pfnMerge, __in LPARAM lParam);
#ifdef __cplusplus #ifdef __cplusplus
extern "C++" __inline BOOL DPA_Merge(__in HDPA hdpaDest, __in HDPA hdpaSrc, __in DWORD dwFlags, __in PFNDACOMPARECONST pfnCompare, __in PFNDPAMERGECONST pfnMerg e, __in LPARAM lParam) extern "C++" __inline BOOL DPA_Merge(__inout HDPA hdpaDest, __in HDPA hdpaSrc, _ _in DWORD dwFlags, __in PFNDACOMPARECONST pfnCompare, __in PFNDPAMERGECONST pfnM erge, __in LPARAM lParam)
{ {
return DPA_Merge(hdpaDest, hdpaSrc, dwFlags, (PFNDACOMPARE)pfnCompare, (PFND PAMERGE)pfnMerge, lParam); return DPA_Merge(hdpaDest, hdpaSrc, dwFlags, (PFNDACOMPARE)pfnCompare, (PFND PAMERGE)pfnMerge, lParam);
} }
#endif #endif
// //
// Search array. If DPAS_SORTED, then array is assumed to be sorted // Search array. If DPAS_SORTED, then array is assumed to be sorted
// according to pfnCompare, and binary search algorithm is used. // according to pfnCompare, and binary search algorithm is used.
// Otherwise, linear search is used. // Otherwise, linear search is used.
// //
skipping to change at line 8255 skipping to change at line 8282
#define DPA_APPEND DA_LAST #define DPA_APPEND DA_LAST
#define DPA_ERR DA_ERR #define DPA_ERR DA_ERR
#define PFNDPAENUMCALLBACK PFNDAENUMCALLBACK #define PFNDPAENUMCALLBACK PFNDAENUMCALLBACK
#define PFNDPAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST #define PFNDPAENUMCALLBACKCONST PFNDAENUMCALLBACKCONST
#define PFNDPACOMPARE PFNDACOMPARE #define PFNDPACOMPARE PFNDACOMPARE
#define PFNDPACOMPARECONST PFNDACOMPARECONST #define PFNDPACOMPARECONST PFNDACOMPARECONST
#endif // NO_COMMCTRL_DA #endif // NO_COMMCTRL_DA
WINCOMMCTRLAPI BOOL WINAPI Str_SetPtrW(__deref_inout_opt LPWSTR * ppsz, LPCWSTR psz); WINCOMMCTRLAPI BOOL WINAPI Str_SetPtrW(__deref_inout_opt LPWSTR * ppsz, __in_opt LPCWSTR psz);
#ifdef _WIN32 #ifdef _WIN32
//====== TrackMouseEvent ===================================================== //====== TrackMouseEvent =====================================================
#ifndef NOTRACKMOUSEEVENT #ifndef NOTRACKMOUSEEVENT
// //
// If the messages for TrackMouseEvent have not been defined then define them // If the messages for TrackMouseEvent have not been defined then define them
// now. // now.
// //
skipping to change at line 8372 skipping to change at line 8399
#endif // _WIN32_IE >= 0x0300 #endif // _WIN32_IE >= 0x0300
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
// //
// subclassing stuff // subclassing stuff
// //
typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam,
LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData);
BOOL WINAPI SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdS BOOL WINAPI SetWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass, __i
ubclass, n UINT_PTR uIdSubclass,
DWORD_PTR dwRefData); __in DWORD_PTR dwRefData);
BOOL WINAPI GetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdS BOOL WINAPI GetWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass, __i
ubclass, n UINT_PTR uIdSubclass,
DWORD_PTR *pdwRefData); __out_opt DWORD_PTR *pdwRefData);
BOOL WINAPI RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, BOOL WINAPI RemoveWindowSubclass(__in HWND hWnd, __in SUBCLASSPROC pfnSubclass,
UINT_PTR uIdSubclass); __in UINT_PTR uIdSubclass);
LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara m); LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara m);
#endif #endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN) #if (NTDDI_VERSION >= NTDDI_VISTA)
enum _LI_METRIC enum _LI_METRIC
{ {
LIM_SMALL, // corresponds to SM_CXSMICON/SM_CYSMICON LIM_SMALL, // corresponds to SM_CXSMICON/SM_CYSMICON
LIM_LARGE, // corresponds to SM_CXICON/SM_CYICON LIM_LARGE, // corresponds to SM_CXICON/SM_CYICON
}; };
WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE hinst, PCWSTR pszName, in t lims, __out HICON *phico); WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE hinst, PCWSTR pszName, in t lims, __out HICON *phico);
WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR pszN ame, int cx, int cy, __out HICON *phico); WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR pszN ame, int cx, int cy, __out HICON *phico);
#endif // NTDDI_LONGHORN #endif // NTDDI_VISTA
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
int WINAPI DrawShadowText(HDC hdc, __in_ecount(cch) LPCWSTR pszText, UINT cch, R int WINAPI DrawShadowText(__in HDC hdc, __in_ecount(cch) LPCWSTR pszText, __in U
ECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, INT cch, __in RECT* prc, __in DWORD dwFlags, __in COLORREF crText, __in COLORREF
int ixOffset, int iyOffset); crShadow,
__in int ixOffset, __in int iyOffset);
#endif #endif
#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0) #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
#include "commctrl.inl" #include "commctrl.inl"
#endif /* ISOLATION_AWARE_ENABLED */ #endif /* ISOLATION_AWARE_ENABLED */
#endif /* RC */ #endif /* RC */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
#if defined(_MSC_VER) && (_MSC_VER >= 1200) #if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
#endif // _INC_COMMCTRL #endif /* _INC_COMMCTRL */
 End of changes. 75 change blocks. 
131 lines changed or deleted 165 lines changed or added


 prsht.h (5.82-Windows 6.0)   prsht.h (5.82-Windows 7.0) 
skipping to change at line 344 skipping to change at line 344
typedef LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGEW;
#else #else
typedef PROPSHEETPAGEA_V1 PROPSHEETPAGEA; typedef PROPSHEETPAGEA_V1 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V1 PROPSHEETPAGEW; typedef PROPSHEETPAGEW_V1 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V1 LPPROPSHEETPAGEA; typedef LPPROPSHEETPAGEA_V1 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V1 LPPROPSHEETPAGEW; typedef LPPROPSHEETPAGEW_V1 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V1 LPCPROPSHEETPAGEA; typedef LPCPROPSHEETPAGEA_V1 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V1 LPCPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEW_V1 LPCPROPSHEETPAGEW;
#endif #endif
#if 0 // IEUNIX reserved.
/* Macros for the missing definitions. */
/* Not all, because mostly used in C++. */
#if __STDC__ || defined(NONAMELESSUNION)
# define PSP_pszTemplate(X) ((X).u.pszTemplate)
#else
# define PSP_pszTemplate(X) ((X).pszTemplate)
#endif
#endif
#ifdef UNICODE #ifdef UNICODE
#define PROPSHEETPAGE PROPSHEETPAGEW #define PROPSHEETPAGE PROPSHEETPAGEW
#define LPPROPSHEETPAGE LPPROPSHEETPAGEW #define LPPROPSHEETPAGE LPPROPSHEETPAGEW
#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
#define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE #define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE
#define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE
#define PROPSHEETPAGE_V1 PROPSHEETPAGEW_V1 #define PROPSHEETPAGE_V1 PROPSHEETPAGEW_V1
#define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEW_V1 #define LPPROPSHEETPAGE_V1 LPPROPSHEETPAGEW_V1
#define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEW_V1 #define LPCPROPSHEETPAGE_V1 LPCPROPSHEETPAGEW_V1
#define PROPSHEETPAGE_V2 PROPSHEETPAGEW_V2 #define PROPSHEETPAGE_V2 PROPSHEETPAGEW_V2
skipping to change at line 564 skipping to change at line 554
#endif #endif
#define PROPSHEETHEADERA_V1_SIZE sizeof(PROPSHEETHEADERA_V1) #define PROPSHEETHEADERA_V1_SIZE sizeof(PROPSHEETHEADERA_V1)
#define PROPSHEETHEADERW_V1_SIZE sizeof(PROPSHEETHEADERW_V1) #define PROPSHEETHEADERW_V1_SIZE sizeof(PROPSHEETHEADERW_V1)
#if (_WIN32_IE >= 0x400) #if (_WIN32_IE >= 0x400)
#define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA_V2) #define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA_V2)
#define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW_V2) #define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW_V2)
#endif #endif
#if 0 //IEUNIX reserved.
/* Macros for the missing definitions. */
/* Not all, because mostly used in C++. */
#if __STDC__ || defined(NONAMELESSUNION)
# define PSH_nStartPage(X) ((X).u2.nStartPage)
# define PSH_ppsp(X) ((X).u3.ppsp)
#else
# define PSH_nStartPage(X) ((X).nStartPage)
# define PSH_ppsp(X) ((X).ppsp)
#endif
#endif
#if (_WIN32_IE >= 0x400) #if (_WIN32_IE >= 0x400)
#define _PROPSHEETHEADERA PROPSHEETHEADERA_V2; #define _PROPSHEETHEADERA PROPSHEETHEADERA_V2;
#define _PROPSHEETHEADERW PROPSHEETHEADERW_V2; #define _PROPSHEETHEADERW PROPSHEETHEADERW_V2;
typedef PROPSHEETHEADERA_V2 PROPSHEETHEADERA; typedef PROPSHEETHEADERA_V2 PROPSHEETHEADERA;
typedef PROPSHEETHEADERW_V2 PROPSHEETHEADERW; typedef PROPSHEETHEADERW_V2 PROPSHEETHEADERW;
typedef LPPROPSHEETHEADERA_V2 LPPROPSHEETHEADERA; typedef LPPROPSHEETHEADERA_V2 LPPROPSHEETHEADERA;
typedef LPPROPSHEETHEADERW_V2 LPPROPSHEETHEADERW; typedef LPPROPSHEETHEADERW_V2 LPPROPSHEETHEADERW;
typedef LPCPROPSHEETHEADERA_V2 LPCPROPSHEETHEADERA; typedef LPCPROPSHEETHEADERA_V2 LPCPROPSHEETHEADERA;
typedef LPCPROPSHEETHEADERW_V2 LPCPROPSHEETHEADERW; typedef LPCPROPSHEETHEADERW_V2 LPCPROPSHEETHEADERW;
#else #else
 End of changes. 2 change blocks. 
22 lines changed or deleted 0 lines changed or added

This html diff was produced by rfcdiff 1.41.