Condividi tramite


Funzione GetPointerInputTransform (winuser.h)

Ottiene una o più trasformazioni per le coordinate delle informazioni del puntatore associate al messaggio corrente.

Sintassi

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

Parametri

[in] pointerId

Identificatore del puntatore per il quale recuperare informazioni.

[in] historyCount

Numero di strutture INPUT_TRANSFORM a cui inputTransform può puntare.

Questo valore deve essere diverso da 1 e non deve essere maggiore del valore specificato nella cronologiaCount della struttura POINTER_INFO restituita da GetPointerInfo, GetPointerTouchInfo o GetPointerPenInfo (per una singola trasformazione di input) o GetPointerInfoHistory, GetPointerTouchInfoHistory o GetPointerPenInfoHistory (per una matrice di trasformazioni di input).

Se GetPointerInputTransform riesce, inputTransform viene aggiornato con il numero totale di strutture disponibili. Il numero totale di strutture disponibili è lo stesso del campo historyCount della struttura POINTER_INFO .

[out] inputTransform

Indirizzo di una matrice di strutture INPUT_TRANSFORM per ricevere le informazioni sulla trasformazione. Questo parametro non può essere NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Un consumer di messaggi di input del puntatore usa in genere ScreenToClient o MapWindowPoints per convertire le coordinate dello schermo nelle coordinate client.

Se viene applicata una trasformazione nel consumer di messaggi, usare GetPointerInputTransform per recuperare la trasformazione nel consumer del messaggio al momento in cui si è verificato l'input. L'inverso di questa trasformazione può quindi essere usato per convertire le coordinate di input del puntatore dalle coordinate dello schermo alle coordinate client del consumer di messaggi.

Se una trasformazione di input non è associata all'input, la funzione GetPointerInputTransform ha esito negativo con l'ultimo errore impostato su ERROR_NO_DATA. Usare invece ScreenToClient o MapWindowPoints .

La trasformazione di input non rispetta alcuna impostazione di layout da destra a sinistra nella destinazione di input. Un'applicazione che richiede coordinate modificate per il layout da destra a sinistra deve eseguire il mirroring da destra a sinistra o combinare una trasformazione di mirroring appropriata con la trasformazione di input.

Le informazioni restituite da GetPointerInputTransform sono associate al messaggio del puntatore più recente recuperato dal thread chiamante. Quando il messaggio successivo viene recuperato dal thread chiamante, le informazioni associate al messaggio precedente potrebbero non essere più disponibili.

Se un'applicazione chiama GetPointerInfo, può chiamare GetPointerInputTransform con lo stesso ID puntatore e un singolo buffer di output INPUT_TRANSFORM per ottenere la trasformazione di input associata ai dati.

Se un'applicazione chiama GetPointerFrameInfo, può chiamare GetPointerInputTransform con lo stesso ID puntatore e un singolo buffer di output INPUT_TRANSFORM per ottenere la trasformazione di input associata ai dati. La stessa trasformazione di input si applica all'intero frame.

Se un'applicazione chiama GetPointerInfoHistory, può chiamare GetPointerInputTransform con lo stesso ID puntatore e un buffer di output per contenere le voci recuperate usando GetPointerInfoHistory. Ogni trasformazione di input nella matrice restituita può essere usata con la voce corrispondente nella matrice restituita da GetPointerInfoHistory.

Se un'applicazione chiama GetPointerFrameInfoHistory, può chiamare GetPointerInputTransform con lo stesso ID puntatore e un buffer di output per contenere le voci recuperate usando GetPointerInfoHistory. Ogni trasformazione di input nella matrice restituita può essere usata con il frame corrispondente nella matrice restituita da GetPointerFrameInfoHistory, con la stessa trasformazione di input applicata all'intero frame.

Se le informazioni associate al messaggio non sono più disponibili, questa funzione non riesce con l'ultimo errore impostato su ERROR_INVALID_PARAMETER.

Se historyCount contiene un valore maggiore del campo historyCount della struttura POINTER_INFO restituita da GetPointerInfo (o la prima struttura POINTER_INFO nella matrice restituita da GetPointerInfoHistory), la funzione ha esito negativo con l'ultimo errore impostato su ERROR_INVALID_PARAMETER.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1 [solo app desktop]
Server minimo supportato Windows Server 2012 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

Funzioni

INPUT_TRANSFORM