3 #define MAXCURICONHANDLES 4096
5 typedef struct tagCURICON_PROCESS
9 } CURICON_PROCESS
, *PCURICON_PROCESS
;
11 typedef struct _CURICON_OBJECT
16 LIST_ENTRY ProcessList
;
23 } CURICON_OBJECT
, *PCURICON_OBJECT
;
25 typedef struct _CURSORACCELERATION_INFO
30 } CURSORACCELERATION_INFO
, *PCURSORACCELERATION_INFO
;
32 typedef struct _SYSTEM_CURSORINFO
41 PCURICON_OBJECT CurrentCursorObject
;
52 UINT MouseHoverHeight;
55 CURSORACCELERATION_INFO CursorAccelerationInfo;
61 BOOL ScreenSaverRunning
;
62 } SYSTEM_CURSORINFO
, *PSYSTEM_CURSORINFO
;
64 BOOL
InitCursorImpl(VOID
);
65 PCURICON_OBJECT
IntCreateCurIconHandle(VOID
);
66 VOID FASTCALL
IntCleanupCurIcons(struct _EPROCESS
*Process
, PPROCESSINFO Win32Process
);
68 BOOL
UserDrawIconEx(HDC hDc
, INT xLeft
, INT yTop
, PCURICON_OBJECT pIcon
, INT cxWidth
,
69 INT cyHeight
, UINT istepIfAniCur
, HBRUSH hbrFlickerFreeDraw
, UINT diFlags
);
70 PCURICON_OBJECT FASTCALL
UserGetCurIconObject(HCURSOR hCurIcon
);
71 BOOL
UserSetCursorPos( INT x
, INT y
, DWORD flags
, ULONG_PTR dwExtraInfo
, BOOL Hook
);
72 BOOL APIENTRY
UserClipCursor(RECTL
*prcl
);
73 PSYSTEM_CURSORINFO
IntGetSysCursorInfo(VOID
);
75 #define IntReleaseCurIconObject(CurIconObj) \
76 UserDereferenceObject(CurIconObj)