Cursor Callback Function

A cursor VxD must register itself with VMOUSE. This provides VMOUSE with information about the VxD, including the address of the VxD's cursor callback function. VMOUSE calls the VxD's callback function whenever an event occurs in the system that affects the appearance or position of the cursor. VMOUSE also calls the callback function to retrieve information about the cursor support provided by the VxD. Although the cursor callback function can have any name, the name CursorProc is used for convenience throughout this chapter.

Every cursor VxD must provide a set of 12 functions. VMOUSE directs the VxD to perform a function.by calling the CursorProc function, passing the identifier of the function in the EAX register. VMOUSE also passes the handle of the current VM in the EBX register. The contents of the other registers depend on the function, as does the return value. The remaining sections of this chapter describe the required functions.

A cursor VxD registers itself in response to the Device_Init message sent by the virtual machine manager (VMM) during VxD initialization. The VxD fills a CURSORPROCINFO structure and passes the address of the structure to VMOUSE by using the VMD_Set_Cursor_Proc service. VMOUSE stores the information provided in the CURSORPROCINFO structure.

See also CursorProc, CURSORPROCINFO, VMD_Set_Cursor_Proc