Compartilhar via


Função GetPointerInputTransform (winuser.h)

Obtém uma ou mais transformações para as coordenadas de informações do ponteiro associadas à mensagem atual.

Sintaxe

BOOL GetPointerInputTransform(
  [in]  UINT32          pointerId,
  [in]  UINT32          historyCount,
  [out] INPUT_TRANSFORM *inputTransform
);

Parâmetros

[in] pointerId

Um identificador do ponteiro para o qual recuperar informações.

[in] historyCount

O número de estruturas de INPUT_TRANSFORM para as quais inputTransform pode apontar.

Esse valor não deve ser menor que 1 e nenhum maior que o valor especificado em historyCount da estrutura POINTER_INFO retornada por GetPointerInfo, GetPointerTouchInfo ou GetPointerPenInfo (para uma única transformação de entrada) ou GetPointerInfoHistory, GetPointerTouchInfoHistory ou GetPointerPenInfoHistory (para uma matriz de transformações de entrada).

Se GetPointerInputTransform for bem-sucedido, inputTransform será atualizado com a contagem total de estruturas disponíveis. A contagem total de estruturas disponíveis é igual ao campo historyCount da estrutura POINTER_INFO .

[out] inputTransform

Endereço de uma matriz de estruturas INPUT_TRANSFORM para receber as informações de transformação. Esse parâmetro não pode ser NULL.

Retornar valor

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.

Comentários

Um consumidor de mensagens de entrada de ponteiro normalmente usa ScreenToClient ou MapWindowPoints para converter coordenadas de tela em coordenadas do cliente.

Se uma transformação for aplicada no consumidor da mensagem, use GetPointerInputTransform para recuperar a transformação no consumidor da mensagem no momento em que a entrada ocorreu. O inverso dessa transformação pode ser usado para converter coordenadas de entrada de ponteiro de coordenadas de tela para as coordenadas do cliente do consumidor da mensagem.

Se uma transformação de entrada não estiver associada à entrada, a função GetPointerInputTransform falhará com o último erro definido como ERROR_NO_DATA. Em vez disso, use ScreenToClient ou MapWindowPoints .

A transformação de entrada não respeita nenhuma configuração de layout da direita para a esquerda no destino de entrada. Um aplicativo que requer coordenadas ajustadas para o layout da direita para a esquerda deve executar o espelhamento da direita para a esquerda ou combinar uma transformação de espelhamento apropriada com a transformação de entrada.

As informações retornadas por GetPointerInputTransform estão associadas à mensagem de ponteiro mais recente recuperada pelo thread de chamada. Quando a próxima mensagem é recuperada pelo thread de chamada, as informações associadas à mensagem anterior podem não estar mais disponíveis.

Se um aplicativo chamar GetPointerInfo, ele poderá chamar GetPointerInputTransform com a mesma ID de ponteiro e um único buffer de saída INPUT_TRANSFORM para obter a transformação de entrada associada aos dados.

Se um aplicativo chamar GetPointerFrameInfo, ele poderá chamar GetPointerInputTransform com a mesma ID de ponteiro e uma única INPUT_TRANSFORM buffer de saída para obter a transformação de entrada associada aos dados. A mesma transformação de entrada se aplica a todo o quadro.

Se um aplicativo chamar GetPointerInfoHistory, ele poderá chamar GetPointerInputTransform com a mesma ID de ponteiro e um buffer de saída para manter as entradas recuperadas usando GetPointerInfoHistory. Cada transformação de entrada na matriz retornada pode ser usada com a entrada correspondente na matriz retornada por GetPointerInfoHistory.

Se um aplicativo chamar GetPointerFrameInfoHistory, ele poderá chamar GetPointerInputTransform com a mesma ID de ponteiro e um buffer de saída para manter as entradas recuperadas usando GetPointerInfoHistory. Cada transformação de entrada na matriz retornada pode ser usada com o quadro correspondente na matriz retornada por GetPointerFrameInfoHistory, com a mesma transformação de entrada sendo aplicada a todo o quadro.

Se as informações associadas à mensagem não estiverem mais disponíveis, essa função falhará com o último erro definido como ERROR_INVALID_PARAMETER.

Se historyCount contiver um valor maior que o campo historyCount da estrutura POINTER_INFO retornada por GetPointerInfo (ou a primeira estrutura POINTER_INFO na matriz retornada por GetPointerInfoHistory), a função falhará com o último erro definido como ERROR_INVALID_PARAMETER.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Funções

INPUT_TRANSFORM