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();
65 PCURICON_OBJECT
IntCreateCurIconHandle();
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
);
72 BOOL
UserSetCursorPos( INT x
, INT y
, BOOL SendMouseMoveMsg
);
74 int UserShowCursor(BOOL bShow
);
76 PSYSTEM_CURSORINFO
IntGetSysCursorInfo();
78 #define IntReleaseCurIconObject(CurIconObj) \
79 UserDereferenceObject(CurIconObj)