Partager via


GetPointerInputTransform, fonction (winuser.h)

Obtient une ou plusieurs transformations pour les coordonnées d’informations de pointeur associées au message actuel.

Syntaxe

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

Paramètres

[in] pointerId

Identificateur du pointeur pour lequel récupérer des informations.

[in] historyCount

Nombre de structures INPUT_TRANSFORM que inputTransform peut pointer.

Cette valeur ne doit pas être inférieure à 1 et supérieure à la valeur spécifiée dans historyCount de la structure POINTER_INFO retournée par GetPointerInfo, GetPointerTouchInfo ou GetPointerPenInfo (pour une transformation d’entrée unique) ou GetPointerInfoHistory, GetPointerTouchInfoHistory ou GetPointerPenInfoHistory (pour un tableau de transformations d’entrée).

Si GetPointerInputTransform réussit, inputTransform est mis à jour avec le nombre total de structures disponibles. Le nombre total de structures disponibles est identique au champ historyCount de la structure POINTER_INFO .

[out] inputTransform

Adresse d’un tableau de structures INPUT_TRANSFORM pour recevoir les informations de transformation. Ce paramètre ne peut pas être NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Un consommateur de messages d’entrée de pointeur utilise généralement ScreenToClient ou MapWindowPoints pour convertir les coordonnées d’écran en coordonnées client.

Si une transformation est appliquée au consommateur de message, utilisez GetPointerInputTransform pour récupérer la transformation sur le consommateur de message au moment où l’entrée s’est produite. L’inverse de cette transformation peut ensuite être utilisé pour convertir les coordonnées d’entrée de pointeur des coordonnées d’écran en coordonnées clientes du consommateur de message.

Si aucune transformation d’entrée n’est associée à l’entrée, la fonction GetPointerInputTransform échoue avec la dernière erreur définie sur ERROR_NO_DATA. Utilisez ScreenToClient ou MapWindowPoints à la place.

La transformation d’entrée ne respecte aucun paramètre de disposition de droite à gauche sur la cible d’entrée. Une application qui nécessite des coordonnées ajustées pour la disposition de droite à gauche doit effectuer la mise en miroir de droite à gauche ou combiner une transformation de mise en miroir appropriée avec la transformation d’entrée.

Les informations retournées par GetPointerInputTransform sont associées au message de pointeur le plus récent récupéré par le thread appelant. Lorsque le message suivant est récupéré par le thread appelant, les informations associées au message précédent risquent de ne plus être disponibles.

Si une application appelle GetPointerInfo, elle peut appeler GetPointerInputTransform avec le même ID de pointeur et une seule mémoire tampon de sortie INPUT_TRANSFORM pour obtenir la transformation d’entrée associée aux données.

Si une application appelle GetPointerFrameInfo, elle peut appeler GetPointerInputTransform avec le même ID de pointeur et une seule mémoire tampon de sortie INPUT_TRANSFORM pour obtenir la transformation d’entrée associée aux données. La même transformation d’entrée s’applique à l’ensemble du frame.

Si une application appelle GetPointerInfoHistory, elle peut appeler GetPointerInputTransform avec le même ID de pointeur et une mémoire tampon de sortie pour contenir les entrées récupérées à l’aide de GetPointerInfoHistory. Chaque transformation d’entrée dans le tableau retourné peut être utilisée avec l’entrée correspondante dans le tableau retournée par GetPointerInfoHistory.

Si une application appelle GetPointerFrameInfoHistory, elle peut appeler GetPointerInputTransform avec le même ID de pointeur et une mémoire tampon de sortie pour contenir les entrées récupérées à l’aide de GetPointerInfoHistory. Chaque transformation d’entrée dans le tableau retourné peut être utilisée avec le frame correspondant dans le tableau retourné par GetPointerFrameInfoHistory, la même transformation d’entrée étant appliquée à l’ensemble du frame.

Si les informations associées au message ne sont plus disponibles, cette fonction échoue avec la dernière erreur définie sur ERROR_INVALID_PARAMETER.

Si historyCount contient une valeur supérieure au champ historyCount de la structure POINTER_INFO retournée par GetPointerInfo (ou la première structure POINTER_INFO dans le tableau retournée par GetPointerInfoHistory), la fonction échoue avec la dernière erreur définie sur ERROR_INVALID_PARAMETER.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

Fonctions

INPUT_TRANSFORM