Techwiki:Win32k/SCROLL
Scroll bar structure from Windows
//
// Scroll bar info for window structure.
typedef struct _SBDATA
{
INT posMin;
INT posMax;
INT page;
INT pos;
} SBDATA, *PSBDATA;
typedef struct _SBINFO
{
DWORD WSBflags;
SBDATA Horz;
SBDATA Vert;
} SBINFO, *PSBINFO;
typedef struct tagSBCALC
{
INT posMin;
INT posMax;
INT page;
INT pos;
INT pxTop;
INT pxBottom;
INT pxLeft;
INT pxRight;
INT cpxThumb;
INT pxUpArrow;
INT pxDownArrow;
INT pxStart;
INT pxThumbBottom;
INT pxThumbTop;
INT cpx;
INT pxMin;
} SBCALC, *PSBCALC;
typedef VOID (NEAR NTAPI *PFN_SCROLLBAR)(PWND, UINT, WPARAM, LPARAM, PSBCALC);
typedef struct tagSBTRACK
{
ULONG fHitOld:1;
ULONG fTrackVert:1;
ULONG fCtlSB:1;
ULONG fTrackRecalc:1;
PWND spwndTrack;
PWND spwndSB;
PWND spwndSBNotify;
RECT rcTrack;
PFN_SCROLLBAR xxxpfnSB;
UINT cmdSB;
UINT_PTR hTimerSB;
INT dpxThumb;
INT pxOld;
INT posOld;
INT posNew;
INT nBar;
PSBCALC pSBCalc;
} SBTRACK, *PSBTRACK;
// Window Extra data container.
typedef struct _SBWND
{
WND wnd;
BOOL fVert;
UINT wDisableFlags;
SBCALC SBCalc;
} SBWND, *PSBWND;
References
- Windows Symbol files, userkdx.dll, !dso
- http://gosoog.blogspot.com/2009/10/cnfan-3-13.html PSBWND data container.