Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Cierta información se relaciona con el producto publicado previamente que puede modificarse sustancialmente antes de su publicación comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.]
Recupera información de puntero específica del panel táctil. Hay cuatro variantes disponibles en función de si necesita un único puntero o un marco completo y si necesita el estado actual o el historial completo.
Sintaxis
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
-
Identificador del puntero para el que se va a recuperar información.
- entriesCount (variantes del historial)
-
Puntero a un valor que especifica el número de entradas del búfer. En la entrada, especifica el tamaño del búfer. En la salida, recibe el número de entradas escritas.
- pointerCount (variantes frame)
-
Puntero a un valor que especifica el número de punteros del marco. En la entrada, especifica el tamaño del búfer. En la salida, recibe el número de punteros escritos.
- touchpadInfo
-
Puntero a una estructura POINTER_TOUCH_INFO que recibe la información del panel táctil. Puede ser NULL para consultar los tamaños de búfer necesarios.
Valor de retorno
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
Recupera la entrada del puntero del panel táctil solicitada asociada al identificador de puntero especificado. El "marco" incluye todos los contactos activos actualmente entregados al mismo destino que la entrada asociada al identificador de puntero. El "historial" incluye cualquier entrada que se haya combinado con la entrada actual debido a que el destino no quita la cola de la entrada anterior rápidamente.
La entrada del puntero se devuelve en una estructura de POINTER_TOUCH_INFO , al igual que los equivalentes táctiles de estas API, debido a que los campos de puntero extendidos son idénticos para la entrada táctil y táctil.
Solo se debe llamar a estas funciones al procesar WM_POINTER mensajes para la entrada del panel táctil (después de registrarse como compatible con el panel táctil a través de RegisterTouchpadCapableWindow o RegisterTouchpadCapableThread).
La entrada de puntero para los paneles táctiles tiene algunas diferencias funcionales en comparación con otros tipos de dispositivos de puntero:
- Los campos ptPixelLocation y ptPixelLocationRaw son idénticos y contienen la posición del puntero del mouse en el momento en que se inició el gesto y no cambian durante la duración del gesto.
- Los campos ptHimetricLocation y ptHimetricLocationRaw son idénticos y contienen la posición del contacto con respecto al dispositivo.
- GetPointerDeviceRects devuelve el escritorio virtual de la pantalla y las dimensiones del panel táctil para el dispositivo. Aunque las posiciones anteriores se ubicarán dentro de los límites de estos rects, no hay ninguna relación entre los dos. Para otros tipos de dispositivo de puntero, las posiciones respectivas se encuentran en la misma ubicación relativa dentro de sus rects correspondientes, pero eso no es el caso de la entrada del panel táctil.
- Al recibir inicialmente un flujo de entrada, puede haber una brecha espacial y temporal significativa para cada contacto entre los fotogramas de entrada primero y segundo. Aunque el sistema sigue realizando la desambiguación en la entrada del panel táctil, se descartan los marcos de entrada. Si el sistema determina que se está produciendo un gesto, sintetiza un marco anterior para la entrada POINTER_FLAG_DOWN de los contactos y lo entrega primero, de modo que el destino de entrada pueda usar la información al determinar si la entrada ha cumplido sus umbrales de reconocimiento de gestos. Si la entrada se usa para la manipulación de contenido, se debe tener cuidado para evitar el "salto" de contenido al principio, lo que podría ocurrir si el movimiento espacial de los contactos se aplica directamente como manipulación de contenido a medida que llega la entrada.
- Si la entrada del puntero se alimenta a las API de contexto de interacción para el reconocimiento de gestos:
- ProcessPointerFramesInteractionContext2 y BufferPointerPacketsInteractionContext2 deben usarse al alimentar la entrada al contexto de interacción.
- Solo se puede producir la salida del gesto de manipulación (no se pueden reconocer pulsaciones y suspensiones, ya que el sistema solo generará el panel táctil WM_POINTER entrada una vez que estos gestos ya no se puedan producir).
- Si el contexto de interacción está configurado para devolver su salida en coordenadas de pantalla, la salida se escala según el factor de escala de la pantalla que contiene el puntero del mouse, de modo que el mismo gesto en el panel táctil tenga como resultado la misma salida de gestos efectiva independientemente de la escala de pantalla.
- Si se configura para la salida himetric, el mismo gesto generará los mismos resultados independientemente de la pantalla del puntero del mouse. La salida se escala en función de la velocidad de la entrada para que el movimiento del dedo más rápido produzca grandes magnitudes de salida para la misma distancia física del dedo.
- La salida evitará "saltar" como se describió anteriormente y se puede aplicar directamente al contenido para la manipulación.
Requisitos
| Requisito | Importancia |
|---|---|
| Cliente mínimo compatible | Windows 11 [solo aplicaciones de escritorio] |
| Servidor mínimo compatible | No se admite ninguno |
| Cabecera | Winuser.h (incluya Windows.h) |
| Biblioteca | User32.lib |
| DLL | User32.dll (ordinal 2691 para GetPointerTouchpadInfo, ordinal 2692 para GetPointerTouchpadInfoHistory, ordinal 2693 para GetPointerFrameTouchpadInfo, ordinal 2694 para GetPointerFrameTouchpadInfoHistory) |