Jump to content

KbdSynch

From EDM2
Revision as of 23:33, 26 June 2016 by Martini (talk | contribs) (Created page with "==Description== This call synchronizes access from a keyboard subsystem to the keyboard device driver. ==Syntax== <PRE> KbdSynch (IOWait) </PRE> ==Parameters== ; IOWait...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Description

This call synchronizes access from a keyboard subsystem to the keyboard device driver.

Syntax

 KbdSynch

    (IOWait)

Parameters

IOWait (USHORT) - input
Wait for the bond. Values are:
Value        Definition
0        Indicates the requestor does not wait for access to the device driver.
1        Indicates the requestor waits for access to the device driver.

Return Code

rc (USHORT) - return

Return code descriptions are:

  • 0 NO_ERROR
  • 121 ERROR_SEM_TIMEOUT

Remarks

KbdSynch blocks all other threads within a session until return from the subsystem to the router. To ensure proper synchronization, KbdSynch should be issued by a keyboard subsystem if it intends to issue a DosDevIOCtl or access dynamically shared data. KbdSynch does not protect globally shared data from threads in other sessions.

Example Code

C Binding

#define INCL_KBD

USHORT  rc = KbdSynch(IOWait);

USHORT           IOWait;        /* Indicate if wait */

USHORT           rc;            /* return code */

MASM Binding

EXTRN  KbdSynch:FAR
INCL_KBD            EQU 1

PUSH   WORD    IOWait        ;Indicate if wait
CALL   KbdSynch

Returns WORD

Related Functions