Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Algumas informações referem-se ao produto pré-lançado que pode ser substancialmente modificado antes de ser lançado comercialmente. Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.]
Recupera informações de ponteiro específicas do touchpad. Quatro variantes estão disponíveis dependendo se você precisa de um único ponteiro ou um quadro inteiro e se você precisa do estado atual ou do histórico completo.
Sintaxe
WINUSERAPI
BOOL
WINAPI
GetPointerTouchpadInfo(
_In_ UINT32 pointerId,
_Out_writes_(1) POINTER_TOUCH_INFO *touchpadInfo);
WINUSERAPI
BOOL
WINAPI
GetPointerTouchpadInfoHistory(
_In_ UINT32 pointerId,
_Inout_ UINT32 *entriesCount,
_Out_writes_opt_(*entriesCount) POINTER_TOUCH_INFO *touchpadInfo);
WINUSERAPI
BOOL
WINAPI
GetPointerFrameTouchpadInfo(
_In_ UINT32 pointerId,
_Inout_ UINT32 *pointerCount,
_Out_writes_opt_(*pointerCount) POINTER_TOUCH_INFO *touchpadInfo);
WINUSERAPI
BOOL
WINAPI
GetPointerFrameTouchpadInfoHistory(
_In_ UINT32 pointerId,
_Inout_ UINT32 *entriesCount,
_Inout_ UINT32 *pointerCount,
_Out_writes_opt_(*entriesCount * *pointerCount) POINTER_TOUCH_INFO *touchpadInfo);
Parâmetros
- pointerId
-
O identificador do ponteiro para o qual recuperar informações.
- entriesCount (variantes de histórico)
-
Um ponteiro para um valor que especifica o número de entradas no buffer. Na entrada, especifica o tamanho do buffer. Na saída, recebe o número de entradas gravadas.
- pointerCount (variantes de quadro)
-
Um ponteiro para um valor que especifica o número de ponteiros no quadro. Na entrada, especifica o tamanho do buffer. Na saída, recebe o número de ponteiros gravados.
- touchpadInfo
-
Um ponteiro para uma estrutura POINTER_TOUCH_INFO que recebe as informações do touchpad. Pode ser NULL para consultar os tamanhos de buffer necessários.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
Recupera a entrada de ponteiro do touchpad solicitada associada à ID do ponteiro especificada. O "quadro" inclui todos os contatos atualmente ativos entregues ao mesmo destino que a entrada associada à ID do ponteiro. O "histórico" inclui qualquer entrada que tenha sido coalescada com a entrada atual devido ao destino não ter desativado a entrada anterior imediatamente.
A entrada de ponteiro é retornada em uma estrutura POINTER_TOUCH_INFO , assim como os equivalentes de toque dessas APIs, devido aos campos de ponteiro estendido serem idênticos para entrada touch e touchpad.
Essas funções só devem ser chamadas ao processar mensagens WM_POINTER para entrada do touchpad (depois de se registrarem como compatíveis com touchpad por meio de RegisterTouchpadCapableWindow ou RegisterTouchpadCapableThread).
A entrada de ponteiro para touchpads tem algumas diferenças funcionais em comparação com outros tipos de dispositivo de ponteiro:
- Os campos ptPixelLocation e ptPixelLocationRaw são idênticos e contêm a posição do ponteiro do mouse no momento em que o gesto começou e não são alterados ao longo da duração do gesto.
- Os campos ptHimetricLocation e ptHimetricLocationRaw são idênticos e contêm a posição do contato em relação ao dispositivo.
- GetPointerDeviceRects retorna a área de trabalho virtual para o rect de tela e as dimensões do touchpad para o rect do dispositivo. Embora as posições acima estejam localizadas dentro dos limites desses rects, não há relação entre os dois. Para outros tipos de dispositivo de ponteiro, as respectivas posições estão no mesmo local relativo dentro de seus rects correspondentes, mas esse não é o caso da entrada touchpad.
- Ao receber inicialmente um fluxo de entrada, pode haver uma lacuna espacial e temporal significativa para cada contato entre o primeiro e o segundo quadros de entrada. Embora o sistema ainda esteja executando a desambiguação na entrada do touchpad, os quadros de entrada são descartados. Se o sistema determinar que um gesto está ocorrendo, ele sintetiza um quadro anterior para a entrada POINTER_FLAG_DOWN dos contatos e o entrega primeiro, para que o destino de entrada possa usar as informações ao determinar se a entrada atingiu seus limites de reconhecimento de gestos. Se a entrada for usada para manipulação de conteúdo, deve-se tomar cuidado para evitar que o conteúdo "pule" no início, o que pode acontecer se o movimento espacial dos contatos for aplicado diretamente como manipulação de conteúdo à medida que a entrada chegar.
- Se a entrada do ponteiro for alimentada para as APIs de Contexto de Interação para reconhecimento de gestos:
- ProcessPointerFramesInteractionContext2 e BufferPointerPacketsInteractionContext2 devem ser usados ao alimentar a entrada para o contexto de interação.
- Somente a saída do gesto de manipulação pode ocorrer (toques e retenções não podem ser reconhecidos, pois o sistema só gerará touchpad WM_POINTER entrada depois que esses gestos não puderem mais ocorrer).
- Se o contexto de interação estiver configurado para retornar sua saída em coordenadas de tela, a saída será dimensionada pelo fator de escala da exibição que contém o ponteiro do mouse, de modo que o mesmo gesto no touchpad resulte na mesma saída de gesto efetiva, independentemente da escala de exibição.
- Se configurado para saída himétrica, o mesmo gesto produzirá os mesmos resultados, independentemente da exibição do ponteiro do mouse. A saída é dimensionada com base na velocidade da entrada para que o movimento mais rápido do dedo resulte em magnitudes de saída maiores para a mesma distância física do dedo.
- A saída evitará "saltar" conforme descrito acima e poderá ser aplicada diretamente ao conteúdo para manipulação.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado | Windows 11 [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Nenhum compatível |
| Cabeçalho | Winuser.h (inclua Windows.h) |
| Biblioteca | User32.lib |
| DLL | User32.dll (ordinal 2691 for GetPointerTouchpadInfo, ordinal 2692 for GetPointerTouchpadInfoHistory, ordinal 2693 for GetPointerFrameTouchpadInfo, ordinal 2694 for GetPointerFrameTouchpadInfoHistory) |