Techwiki:Win32k/CURSOR
From ReactOS
typedef struct tagCURSOR
{
PROCMARKHEAD head;
struct _tagCURSOR* pcurNext;
UNICODE_STRING strName;
USHORT atomModName;
USHORT rt;
ULONG CURSORF_flags;
SHORT xHotspot;
SHORT yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
HBITMAP hbmAlpha;
RECT rcBounds;
HBITMAP hbmUserAlpha;
ULONG bpp;
ULONG cx;
ULONG cy;
} CURSOR, *PCURSOR; // W7U sym tagCURSOR
typedef struct tagACON
{
PROCMARKHEAD head;
struct _tagCURSOR* pcurNext;
UNICODE_STRING strName;
USHORT atomModName;
USHORT rt;
ULONG CURSORF_flags;
INT cpcur;
INT cicur;
PCURSOR * aspcur;
DWORD * aicur;
INT * ajifRate;
INT iicur;
} ACON, *PACON; /* !dso ACON, W7U verified */
// Used with NtUserSetCursorIconData, last parameter.
typedef struct tagCURSORDATA
{
LPWSTR lpName;
LPWSTR lpModName;
USHORT rt;
USHORT dummy;
ULONG CURSORF_flags;
SHORT xHotspot;
SHORT yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
HBITMAP hbmAlpha;
RECT rcBounds;
HBITMAP hbmUserAlpha; // Could be in W7U, not in W2k
ULONG bpp;
ULONG cx;
ULONG cy;
INT cpcur;
INT cicur;
PCURSOR * aspcur;
DWORD * aicur;
INT * ajifRate;
INT iicur;
} CURSORDATA, *PCURSORDATA; /* !dso CURSORDATA */
// CURSORF_flags:
#define CURSORF_FROMRESOURCE 0x0001
#define CURSORF_GLOBAL 0x0002
#define CURSORF_LRSHARED 0x0004
#define CURSORF_ACON 0x0008
#define CURSORF_WOWCLEANUP 0x0010
#define CURSORF_ACONFRAME 0x0040
#define CURSORF_SECRET 0x0080
#define CURSORF_LINKED 0x0100
// Used with NtUserDrawIconEx, last parameter.
typedef struct _DRAWICONEXDATA
{
HBITMAP hbmMask;
HBITMAP hbmColor;
int cx;
int cy;
} DRAWICONEXDATA, *PDRAWICONEXDATA;
// ReactOS
typedef struct _CURSOR
{
LIST_ENTRY pcurNext;
UINT CURSORF_flags;
UNICODE_STRING strName;
ATOM atomModName;
UINT rt;
INT cx;
INT cy;
UINT xhotspot;
UINT yhotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
} CURSOR, *PCURSOR;
CURSORF_flags
- Optional flags containing CURSORF_+ LINKED, SECRET, ACONFRAME, WOWCLEANUP, ACON, LRSHARED, GLOBAL, FROMRESOURCE
strName
- The name of the resource
atomModName
- An optional ATOM containing the module to which the resource belongs
rt
- The resource type, probably containing RT_ICON or RT_CURSOR
References
- Windows Symbol files, userkdx.dll, !dso, W7U symbols

