Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:docs:fapi:kbdopen [2021/10/06 11:57] – created prokushev | en:docs:fapi:kbdopen [2021/11/04 13:27] (current) – prokushev | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{page> | ||
| + | |||
| + | ====== KbdOpen ====== | ||
| + | |||
| This call creates a new logical keyboard. | This call creates a new logical keyboard. | ||
| - | ==Syntax== | + | ===== Syntax ===== |
| + | <code c> | ||
| | | ||
| + | </ | ||
| - | ==Parameters== | + | ===== Parameters ===== |
| - | ;KbdHandle (PHKBD) - output : Address of the logical keyboard. | + | |
| - | ==Return Code== | + | * KbdHandle (PHKBD) - output : Address of the logical keyboard. |
| - | ;rc (USHORT) - return: | + | |
| - | * 0 NO_ERROR | + | ===== Return Code ===== |
| - | *440 ERROR_KBD_NO_MORE_HANDLE | + | |
| - | *441 ERROR_KBD_CANNOT_CREATE_KCB | + | rc (USHORT) - return: |
| - | *464 ERROR_KBD_DETACHED | + | |
| - | *504 ERROR_KBD_EXTENDED_SG | + | |
| + | *440 ERROR_KBD_NO_MORE_HANDLE | ||
| + | *441 ERROR_KBD_CANNOT_CREATE_KCB | ||
| + | *464 ERROR_KBD_DETACHED | ||
| + | *504 ERROR_KBD_EXTENDED_SG | ||
| + | |||
| + | ===== Remarks ===== | ||
| - | ==Remarks== | ||
| KbdOpen blocks while another thread has the keyboard focus (by way of [[KbdGetFocus]]) until the thread with the focus issues [[KbdFreeFocus]]. Therefore, to prevent KbdOpen from blocking, it is recommended that KbdOpen be issued only while the current thread has the focus. For example: | KbdOpen blocks while another thread has the keyboard focus (by way of [[KbdGetFocus]]) until the thread with the focus issues [[KbdFreeFocus]]. Therefore, to prevent KbdOpen from blocking, it is recommended that KbdOpen be issued only while the current thread has the focus. For example: | ||
| - | ;KbdGetFocus : wait until focus available on handle 0 | + | |
| - | ;KbdOpen : get a logical keyboard handle | + | KbdOpen : get a logical keyboard handle |
| - | ;KbdOpen : get another logical keyboard handle | + | KbdOpen : get another logical keyboard handle |
| - | ;KbdOpen : get yet another logical keyboard handle | + | KbdOpen : get yet another logical keyboard handle |
| - | ;KbdFreeFocus : give up the focus on handle 0. | + | KbdFreeFocus : give up the focus on handle 0. |
| + | |||
| + | ===== Bindings ===== | ||
| - | ==Bindings== | + | ==== C ==== |
| - | === C === | + | <code c> |
| - | <PRE> | + | |
| #define INCL_KBD | #define INCL_KBD | ||
| Line 33: | Line 44: | ||
| USHORT | USHORT | ||
| - | </PRE> | + | </code> |
| - | ===MASM=== | + | ====MASM==== |
| - | <PRE> | + | <code asm> |
| EXTRN KbdOpen:FAR | EXTRN KbdOpen:FAR | ||
| INCL_KBD | INCL_KBD | ||
| Line 44: | Line 55: | ||
| Returns WORD | Returns WORD | ||
| - | </PRE> | + | </code> |
| - | [[Category:Kbd]] | + | {{page> |




