Difference between revisions of "KbdSynch"
From EDM2
(Created page with "==Description== This call synchronizes access from a keyboard subsystem to the keyboard device driver. ==Syntax== <PRE> KbdSynch (IOWait) </PRE> ==Parameters== ; IOWait...") |
m (Eliminate illogical and untrue assertions) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
This call synchronizes access from a keyboard subsystem to the keyboard device driver. | This call synchronizes access from a keyboard subsystem to the keyboard device driver. | ||
+ | |||
==Syntax== | ==Syntax== | ||
− | + | KbdSynch (IOWait) | |
− | KbdSynch | + | |
− | + | ||
− | + | ||
− | + | ||
==Parameters== | ==Parameters== | ||
; IOWait (USHORT) - input : Wait for the bond. Values are: | ; IOWait (USHORT) - input : Wait for the bond. Values are: | ||
+ | ::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== | ==Return Code== | ||
− | + | ;rc (USHORT) - return:Return code descriptions are: | |
− | + | * 0 NO_ERROR | |
− | Return code descriptions are: | + | * 121 ERROR_SEM_TIMEOUT |
− | + | ||
− | * 0 | + | |
− | * 121 | + | |
==Remarks== | ==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. | + | 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. |
− | == | + | ==Bindings== |
− | === C | + | === C === |
<PRE> | <PRE> | ||
#define INCL_KBD | #define INCL_KBD | ||
Line 32: | Line 24: | ||
USHORT rc = KbdSynch(IOWait); | USHORT rc = KbdSynch(IOWait); | ||
− | USHORT | + | USHORT IOWait; /* Indicate if wait */ |
− | + | USHORT rc; /* return code */ | |
− | USHORT | + | |
</PRE> | </PRE> | ||
− | ===MASM | + | ===MASM=== |
<PRE> | <PRE> | ||
EXTRN KbdSynch:FAR | EXTRN KbdSynch:FAR | ||
Line 48: | Line 39: | ||
</PRE> | </PRE> | ||
− | + | [[Category:Kbd]] | |
− | + | ||
− | + | ||
− | [[Category: | + |
Latest revision as of 14:17, 3 January 2019
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:
- 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.
Bindings
C
#define INCL_KBD USHORT rc = KbdSynch(IOWait); USHORT IOWait; /* Indicate if wait */ USHORT rc; /* return code */
MASM
EXTRN KbdSynch:FAR INCL_KBD EQU 1 PUSH WORD IOWait ;Indicate if wait CALL KbdSynch Returns WORD