This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

MouRemovePtr

This call allows a process to notify the mouse device driver that the area defined by the passed parameters is for the exclusive use of the application. This area is defined as the collision area and is not available to the mouse device driver when drawing pointer images.

Syntax

MouRemovePtr (PtrArea, DeviceHandle)

Parameters

PtrArea (PNOPTRRECT) - input : Address of the pointer shape collision area structure:

leftrow (USHORT) : Upper left row coordinate (pels or characters).

leftcol (USHORT) : Upper left column coordinate (pels or characters).

rightrow (USHORT) : Lower right row coordinate (pels or characters).

rightcol (USHORT) : Lower right column coordinate (pels or characters).

DeviceHandle (HMOU) - input : Handle of the mouse device from a previous MouOpen.

Return Code

rc (USHORT) - return:Return code descriptions are:

0 NO_ERROR

385 ERROR_MOUSE_NO_DEVICE

387 ERROR_MOUSE_INV_PARMS

466 ERROR_MOU_DETACHED

501 ERROR_MOUSE_NO_CONSOLE

505 ERROR_MOU_EXTENDED_SG

Remarks

MouRemovePtr may be issued by any process in the session. However, only one collision area is active at a time. Each MouRemovePtr command has the effect of resetting the collision area to the location and area specified by the current command.

If the logical pointer position is outside of the collision area specified by the latest MouRemovePtr command, the pointer image is drawn.

The MouDrawPtr command effectively cancels the MouRemovePtr command and allows the pointer to be drawn anywhere on the screen, until a new MouRemovePtr command is issued.

Bindings

C

typedef struct _NOPTRRECT { /* mourt */ USHORT row; /* upper left row coordinates */ USHORT col; /* upper left column coordinates */ USHORT cRow; USHORT cCol; } NOPTRRECT; #define INCL_MOU USHORT rc = MouRemovePtr(PtrArea, DeviceHandle); PNOPTRRECT PtrArea; /* Address of pointer data block */ HMOU DeviceHandle; /* Mouse device handle */ USHORT rc; /* return code */

MASM

NOPTRRECT struc mourt_row dw ? ;upper left row coordinates mourt_col dw ? ;upper left column coordinates mourt_cRow dw ? mourt_cCol dw ? NOPTRRECT ends EXTRN MouRemovePtr:FAR INCL_MOU EQU 1 PUSH@ OTHER PtrArea ;Address of pointer data block PUSH WORD DeviceHandle ;Mouse device handle CALL MouRemovePtr Returns WORD
Family API
DOS	Process Manager	DosBeep DosExit DosSleep DosExecPgm
File Manager	DosChDir DosChgFilePtr DosClose DosDelete DosDupHandle DosMkDir DosMove DosQCurDir DosQCurDisk DosSetFileMode DosOpen DosQFileInfo DosRead DosQFileMode DosQFSInfo DosQVerify DosRmDir DosSelectDisk DosFindClose DosFindFirst DosFindNext DosSetFileInfo DosSetVerify DosWrite DosFileLocks DosSetFHandState DosNewSize DosBufReset DosQFHandState DosSetFSinfo DosShutdown
Memory Manager	DosFreeSeg DosSubAlloc DosSubFree DosSubSet DosAllocHuge DosAllocSeg DosReallocHuge DosReallocSeg DosGetHugeShift DosCreateCSAlias
NLS	DosCaseMap DosGetCtryInfo DosGetDBCSEv DosSetCtryCode DosGetCollate DosGetMessage DosInsMessage DosPutMessage
Date and Time	DosSetDateTime DosGetDateTime
Devices	DosDevConfig DosDevIOCtl DosDevIOCtl2
Signals	DosHoldSignal DosSetSigHandler
Misc	BadDynLink DosGetEnv DosGetMachineMode DosGetVersion DosError DosErrClass DosSetVec
KBD	KbdCharIn KbdFlushBuffer KbdGetStatus KbdSetStatus KbdStringIn KbdPeek
VIO	VioGetBuf VioGetConfig VioGetCurPos VioGetCurType VioGetPhysBuf VioReadCellStr VioReadCharStr VioScrollUp VioScrollDn VioScrollLf VioScrollRt VioScrUnLock VioSetCurPos VioSetCurType VioSetMode VioGetMode VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY VioScrLock VioPopUp
Tools	BIND
Modules	DOSCALLS.DLL VIOCALLS.DLL KBDCALLS.DLL MSG.DLL
Libraries	API.LIB OS2386.LIB FAPI.LIB DOSCALLS.LIB SUBCALLS.LIB