en:docs:fapi:kbdgetcp

This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

KbdGetCp

This call allows a process to query the code page being used to translate scan codes to ASCII characters.

Syntax

 KbdGetCp (Reserved, CodePageID, KbdHandle)

Parameters

  • Reserved (ULONG) - input: Reserved and must be set to zero.
  • CodePageID (PUSHORT) - output: Address of the code page ID located in the application's data area. The keyboard support copies the current code page ID for a specified keyboard handle into this word. The code page ID is equivalent to one of the code page IDs specified in the CONFIG.SYS CODEPAGE = statement or 0000.
  • KbdHandle (HKBD) - input: Default keyboard or the logical keyboard.

Return Code

rc (USHORT) - return:Return code descriptions are:

  • 0 NO_ERROR
  • 373 ERROR_KBD_PARAMETER
  • 439 ERROR_KBD_INVALID_HANDLE
  • 445 ERROR_KBD_FOCUS_REQUIRED
  • 447 ERROR_KBD_KEYBOARD_BUSY
  • 464 ERROR_KBD_DETACHED
  • 504 ERROR_KBD_EXTENDED_SG

Remarks

The CodePageID is the currently active keyboard code page. A value of 0 indicates the code page translation table in use is the ROM code page translation table provided by the hardware.

Bindings

C

#define INCL_KBD
 
USHORT  rc = KbdGetCp(Reserved, CodePageID, KbdHandle);
 
ULONG   Reserved;     /* Reserved (must be zero) */
PUSHORT CodePageID;   /* Code Page ID */
HKBD    KbdHandle;    /* Keyboard handle */
 
USHORT  rc;           /* return code */

MASM

EXTRN  KbdGetCp:FAR
INCL_KBD    EQU 1
 
PUSH   DWORD   Reserved     ;Reserved (must be zero)
PUSH@  WORD    CodePageID   ;Code Page ID
PUSH   WORD    KbdHandle    ;Keyboard handle
CALL   KbdGetCp
 
Returns WORD