KbdRegister

This call registers a keyboard subsystem within a session.

Syntax
KbdRegister (ModuleName, EntryPoint, FunctionMask)

Parameters
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
 * 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:

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.

C

 * 1) 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 