KbdRegister: Difference between revisions
Appearance
Created page with "==Description== This call registers a keyboard subsystem within a session. ==Syntax== <PRE> KbdRegister (ModuleName, EntryPoint, FunctionMask) </PRE> ==Parameters== ; ..." |
mNo edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This call registers a keyboard subsystem within a session. | This call registers a keyboard subsystem within a session. | ||
==Syntax== | ==Syntax== | ||
KbdRegister (ModuleName, EntryPoint, FunctionMask) | |||
KbdRegister | |||
==Parameters== | ==Parameters== | ||
; ModuleName (PSZ) - input : Address of the dynamic link module name. Maximum length is 9 bytes (including ASCIIZ terminator). | ;ModuleName (PSZ) - input : Address of the dynamic link module name. Maximum length is 9 bytes (including ASCIIZ terminator). | ||
;EntryPoint (PSZ) - input : Address of the dynamic link entry point name of a routine that receives control when any of the registered functions are called. Maximum length is 33 bytes (including ASCIIZ terminator). | |||
; EntryPoint (PSZ) - input : Address of the dynamic link entry point name of a routine that receives control when any of the registered functions are called. Maximum length is 33 bytes (including ASCIIZ terminator). | ;FunctionMask (ULONG) - input : A bit mask where each bit identifies a keyboard function being registered. The bit values are: | ||
Bit Description | |||
; FunctionMask (ULONG) - input : A bit mask where each bit identifies a keyboard function being registered. The bit values are: | 31-15 Reserved, must be set to zero. | ||
14 KbdGetHWId | |||
13 KbdSetCustXt | |||
12 KbdXlate | |||
11 KbdSetCp | |||
10 KbdGetCp | |||
9 KbdFreeFocus | |||
8 KbdGetFocus | |||
7 KbdClose | |||
6 KbdOpen | |||
5 KbdStringIn | |||
4 KbdSetStatus | |||
3 KbdGetStatus | |||
2 KbdFlushBuffer | |||
1 KbdPeek | |||
0 KbdCharIn | |||
==Return Code== | ==Return Code== | ||
;rc (USHORT) - return:Return code descriptions are: | |||
* 0 NO_ERROR | |||
* 408 ERROR_KBD_INVALID_ASCIIZ | |||
* 409 ERROR_KBD_INVALID_MASK | |||
* 410 ERROR_KBD_REGISTER | |||
* 464 ERROR_KBD_DETACHED | |||
* 504 ERROR_KBD_EXTENDED_SG | |||
==Remarks== | |||
There can be only one KbdRegister call outstanding for each session without an intervening [[KbdDeRegister]]. KbdDeRegister must be issued by the same process that issued the KbdRegister. | |||
==Bindings== | |||
===C=== | |||
== | |||
=== C | |||
<PRE> | <PRE> | ||
#define INCL_KBD | #define INCL_KBD | ||
Line 53: | Line 45: | ||
USHORT rc = KbdRegister(ModuleName, EntryPoint, FunctionMask); | USHORT rc = KbdRegister(ModuleName, EntryPoint, FunctionMask); | ||
PSZ | PSZ ModuleName; /* Module name */ | ||
PSZ | PSZ EntryPoint; /* Entry point name */ | ||
ULONG | ULONG FunctionMask; /* Function mask */ | ||
USHORT | USHORT rc; /* return code */ | ||
</PRE> | </PRE> | ||
===MASM | ===MASM=== | ||
<PRE> | <PRE> | ||
EXTRN KbdRegister:FAR | EXTRN KbdRegister:FAR | ||
Line 73: | Line 65: | ||
</PRE> | </PRE> | ||
[[Category:Kbd]] | |||
[[Category: |
Latest revision as of 16:04, 3 January 2019
This call registers a keyboard subsystem within a session.
Syntax
KbdRegister (ModuleName, EntryPoint, FunctionMask)
Parameters
- ModuleName (PSZ) - input
- Address of the dynamic link module name. Maximum length is 9 bytes (including ASCIIZ terminator).
- EntryPoint (PSZ) - input
- Address of the dynamic link entry point name of a routine that receives control when any of the registered functions are called. Maximum length is 33 bytes (including ASCIIZ terminator).
- FunctionMask (ULONG) - input
- A bit mask where each bit identifies a keyboard function being registered. The bit values are:
Bit Description 31-15 Reserved, must be set to zero. 14 KbdGetHWId 13 KbdSetCustXt 12 KbdXlate 11 KbdSetCp 10 KbdGetCp 9 KbdFreeFocus 8 KbdGetFocus 7 KbdClose 6 KbdOpen 5 KbdStringIn 4 KbdSetStatus 3 KbdGetStatus 2 KbdFlushBuffer 1 KbdPeek 0 KbdCharIn
Return Code
- rc (USHORT) - return
- Return code descriptions are:
- 0 NO_ERROR
- 408 ERROR_KBD_INVALID_ASCIIZ
- 409 ERROR_KBD_INVALID_MASK
- 410 ERROR_KBD_REGISTER
- 464 ERROR_KBD_DETACHED
- 504 ERROR_KBD_EXTENDED_SG
Remarks
There can be only one KbdRegister call outstanding for each session without an intervening KbdDeRegister. KbdDeRegister must be issued by the same process that issued the KbdRegister.
Bindings
C
#define INCL_KBD USHORT rc = KbdRegister(ModuleName, EntryPoint, FunctionMask); PSZ ModuleName; /* Module name */ PSZ EntryPoint; /* Entry point name */ ULONG FunctionMask; /* Function mask */ USHORT rc; /* return code */
MASM
EXTRN KbdRegister:FAR INCL_KBD EQU 1 PUSH@ ASCIIZ ModuleName ;Module name PUSH@ ASCIIZ EntryPoint ;Entry point name PUSH DWORD FunctionMask ;Function mask CALL KbdRegister Returns WORD