Jump to content

MouSynch: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
Line 23: Line 23:
<PRE>
<PRE>
#define INCL_MOU
#define INCL_MOU
USHORT  rc = MouSynch(IOWait);
USHORT  rc = MouSynch(IOWait);
 
USHORT IOWait;        /* Indicate wait/no wait */
USHORT           IOWait;        /* Indicate wait/no wait */
USHORT rc;            /* return code */
 
USHORT           rc;            /* return code */
</PRE>
</PRE>



Revision as of 02:27, 8 October 2017

This call provides synchronous access for a mouse subsystem to the mouse device driver.

Syntax

MouSynch (IOWait)

Parameters

IOWait (USHORT) - input
Wait for access. The flag Word is defined as follows:
Value      Definition 
0      Control immediately returned to requestor. 
1      Requestor waits until mouse device driver is free.

Return Code

rc (USHORT) - return

Return code descriptions are:

  • 0 NO_ERROR
  • 121 ERROR_SEM_TIMEOUT

Remarks

MouSynch blocks all other threads within a session until the semaphore clears (returns from the subsystem to the router). To ensure proper synchronization, MouSynch should be issued by a mouse subsystem if it intends to access dynamically modifiable shared data for each session or if it intends to issue a DosDevIOCtl. MouSynch does not protect globally shared data from threads in other sessions.

Bindings

C Binding

#define INCL_MOU
USHORT  rc = MouSynch(IOWait);
USHORT  IOWait;        /* Indicate wait/no wait */
USHORT  rc;            /* return code */

MASM Binding

EXTRN  MouSynch:FAR
INCL_MOU            EQU 1

PUSH   WORD    IOWait        ;Indicate wait/no wait
CALL   MouSynch

Returns WORD