PFN_KEYBD_DRIVER_VKEY_TO_UNICODE
9/8/2008
A função com base nesse protótipo gera o apropriado caracteres Unicode e SHIFT estado sinalizadores para um especificado virtuais-código de chave, estado da chave matriz e estado driver.
Syntax
typedef UINT32 (*PFN_KEYBD_DRIVER_VKEY_TO_UNICODE)(
UINT32 VKey,
KEY_STATE_FLAGS KeyEventFlags,
KEY_STATE KeyState,
void *KeybdDriverState,
UINT32 cBufferSize,
UINT32 *pcCharacters,
KEY_STATE_FLAGS *pShiftStateBuffer,
UINT32 *pCharacterBuffer
);
Parameters
- VKey
[no] Virtual-código de chave que faz com que o evento.
- KeyEventFlags
[no] Sinalizador KeyStateDownFlag que está definido ou limpo.
- KeyState
[no] Estado de chave.
- KeybdDriverState
[no] TO_UNICODE_STATE específica do driver.
- cBufferSize
[no] Contagem de 32-bit entradas em cada reserva.
- pcCharacters
[out] Ponteiro para uma contagem de caracteres gerados.
- pShiftStateBuffer
[out] Ponteiro para uma reserva para pôr o informações do estado SHIFT.
- pCharacterBuffer
[out] Ponteiro para uma reserva para pôr os caracteres.
Return Value
Windows área de trabalho código de erro plataformas.
Remarks
Esta função deve ser re-entrant porque a entrada sistema expõe-lo através de MapVirtualKey função e múltiplo segmentos podem chamá-lo.
Essa função converte um virtual-código de chave para Unicode e atualiza o sistema KeyState. Em Layout Manager, ele também realiza ALT + numérico lógica teclado numérico. Pressionar ALT em conjunto com certas chaves teclado numérico numérico fornece um caractere especial. Se forem usadas chaves de inatividade, ele poderá retornar até dois caracteres. Se KeyState é NULL, o driver deve preencher na correspondente de caractere para o estado unshifted para o Virtual-código de chave e retornar. Em todos os outros casos, o KeybdDriverVKeyToUnicode função deve atualização a matriz, preencher no estado de SHIFT determinado da matriz de estado da chave, estado da chave e, se necessário, atualização TO_UNICODE_STATE. Isso significa que a contagem de caracteres gerados é sempre pelo menos 1, porque o estado SHIFT é sempre retornado. Para informações sobre como gerar o estado SHIFT sem um correspondente caractere, consulte KEY_STATE_FLAGS.
Cada caractere deve ter um correspondente estado SHIFT inserido o estado SHIFT reserva, mesmo se ele for o mesmo que o acima estado SHIFT. Cada entrada na reserva de caractere é 32 bits, enquanto um caractere Unicode é 16 bits. O driver atribui caracteres à reserva para Clear o alto-ordem 16 bits.
Requirements
Header | keybddr.h |
Library | layoutmanager.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
KEY_STATE_FLAGS
PFN_KEYBD_DRIVER_GET_INFO
PFN_KEYBD_DRIVER_INIT_STATES