Techwiki:Win32k/CURSOR
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; 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 */ 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; 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