Jump to content

KbdGetCp (FAPI): Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 5: Line 5:


==Parameters==
==Parameters==
;Reserved (ULONG) - input : Reserved and must be set to zero.
;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.
;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.
;KbdHandle (HKBD) - input: Default keyboard or the logical keyboard.


==Return Code==
==Return Code==
rc (USHORT) - return
;rc (USHORT) - return:Return code descriptions are:
Return code descriptions are:
::0 NO_ERROR
* 0         NO_ERROR
::373 ERROR_KBD_PARAMETER
* 373       ERROR_KBD_PARAMETER
::439 ERROR_KBD_INVALID_HANDLE
* 439       ERROR_KBD_INVALID_HANDLE
::445 ERROR_KBD_FOCUS_REQUIRED
* 445       ERROR_KBD_FOCUS_REQUIRED
::447 ERROR_KBD_KEYBOARD_BUSY
* 447       ERROR_KBD_KEYBOARD_BUSY
::464 ERROR_KBD_DETACHED
* 464       ERROR_KBD_DETACHED
::504 ERROR_KBD_EXTENDED_SG
* 504       ERROR_KBD_EXTENDED_SG


==Remarks==
==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.  
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==
==Bindings==

Revision as of 03:16, 2 January 2020

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 Binding

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