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 _CURSORCLIP_INFO
32 } CURSORCLIP_INFO
, *PCURSORCLIP_INFO
;
34 typedef struct _CURSORACCELERATION_INFO
39 } CURSORACCELERATION_INFO
, *PCURSORACCELERATION_INFO
;
41 typedef struct _SYSTEM_CURSORINFO
48 CURSORCLIP_INFO CursorClipInfo
;
49 PCURICON_OBJECT CurrentCursorObject
;
60 UINT MouseHoverHeight;
63 CURSORACCELERATION_INFO CursorAccelerationInfo;
69 BOOL ScreenSaverRunning
;
70 } SYSTEM_CURSORINFO
, *PSYSTEM_CURSORINFO
;
72 BOOL
InitCursorImpl();
73 PCURICON_OBJECT
IntCreateCurIconHandle();
74 VOID FASTCALL
IntCleanupCurIcons(struct _EPROCESS
*Process
, PPROCESSINFO Win32Process
);
76 BOOL
UserDrawIconEx(HDC hDc
, INT xLeft
, INT yTop
, PCURICON_OBJECT pIcon
, INT cxWidth
,
77 INT cyHeight
, UINT istepIfAniCur
, HBRUSH hbrFlickerFreeDraw
, UINT diFlags
);
78 PCURICON_OBJECT FASTCALL
UserGetCurIconObject(HCURSOR hCurIcon
);
80 BOOL
UserSetCursorPos( INT x
, INT y
, BOOL SendMouseMoveMsg
);
82 int UserShowCursor(BOOL bShow
);
84 PSYSTEM_CURSORINFO
IntGetSysCursorInfo();
86 #define IntReleaseCurIconObject(CurIconObj) \
87 UserDereferenceObject(CurIconObj)