Función CreateSyntheticPointerDevice2

[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í.]

Crea un dispositivo de puntero sintético mediante los parámetros asociados. La entrada se puede insertar mediante este dispositivo a través de InjectSyntheticPointerInput. Cuando el dispositivo de inyección ya no es necesario, se debe limpiar a través de DestroySyntheticPointerDevice.

Sintaxis

WINUSERAPI
HSYNTHETICPOINTERDEVICE
WINAPI
CreateSyntheticPointerDevice2(
    _In_ SYNTHETIC_DEVICE_CREATION_PARAMS* pParams);

Parámetros

pParams

Puntero a una estructura de SYNTHETIC_DEVICE_CREATION_PARAMS que contiene los parámetros del dispositivo.

Valor de retorno

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el dispositivo de puntero sintético.

Si se produce un error en la función, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Observaciones

El createSyntheticPointerDevice existente no se puede usar para crear dispositivos táctiles, ya que se deben crear paneles táctiles con un tamaño físico.

SYNTHETIC_DEVICE_CREATION_OPTIONS

Opciones para crear un dispositivo de puntero sintético.

typedef enum tagSYNTHETIC_DEVICE_CREATION_OPTIONS
{
    SDCO_NONE                   = 0x0,
    SDCO_PHYSICAL_SIZE          = 0x1,
    SDCO_TOUCHPAD_GESTURE_ONLY  = 0x2,
} SYNTHETIC_DEVICE_CREATION_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(SYNTHETIC_DEVICE_CREATION_OPTIONS)
Importancia Meaning
SDCO_NONE (0x0) No hay opciones especiales.
SDCO_PHYSICAL_SIZE (0x1) La entrada insertada es relativa al dispositivo en lugar de a sus pantallas asignadas. Si se especifica, se deben proporcionar las dimensiones del dispositivo. Al insertar la entrada mediante InjectSyntheticPointerInput, las coordenadas de entrada deben especificarse en el campo ptHimetricLocation de la información del puntero en lugar de ptPixelLocation.
SDCO_TOUCHPAD_GESTURE_ONLY (0x2) La entrada insertada del panel táctil siempre se tratará como un gesto y no se puede reconocer como movimiento del mouse o clics. Si no se especifica, el sistema tratará la entrada del panel táctil insertado de forma idéntica a la entrada del panel táctil físico.

SYNTHETIC_DEVICE_CREATION_PARAMS

Estructura que representa los parámetros para crear un dispositivo de inyección sintética.

typedef struct tagSYNTHETIC_DEVICE_CREATION_PARAMS
{
    POINTER_INPUT_TYPE pointerType;
    ULONG maxCount;
    POINTER_FEEDBACK_MODE feedbackMode;
    HMONITOR hMonitor;
    ULONG deviceWidth;
    ULONG deviceHeight;
    SYNTHETIC_DEVICE_CREATION_OPTIONS options;
} SYNTHETIC_DEVICE_CREATION_PARAMS;

Members

pointerType

Tipo de dispositivo que se va a crear (PT_TOUCH, PT_PEN o PT_TOUCHPAD).

maxCount

Número máximo de contactos que se pueden insertar simultáneamente.

feedbackMode

Modo en el que la entrada insertada tiene los comentarios visuales representados.

hMonitor

Monitor al que se asigna la entrada insertada, si procede.

deviceWidth

Ancho físico del dispositivo en himetric (1/100th de un milímetro).

deviceHeight

Alto físico del dispositivo en himetric (1/100th de un milímetro).

Opciones

Cero o más opciones de SYNTHETIC_DEVICE_CREATION_OPTIONS.

Observaciones

Los campos pointerType y options controlan los valores válidos para los demás campos:

PT_TOUCH:

  • maxCount debe ser mayor que 0 y menor o igual que 256.
  • feedbackMode debe ser POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT o POINTER_FEEDBACK_NONE.
  • hMonitor puede ser nullptr (la entrada se asigna al escritorio virtual) o un monitor válido.
  • deviceWidth y deviceHeight deben ser distintos de cero si se especifica SDCO_PHYSICAL_SIZE y cero si no.
  • Solo SDCO_PHYSICAL_SIZE es válido para las opciones (o SDCO_NONE).

PT_PEN:

  • maxCount debe ser 1.
  • feedbackMode debe ser POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT o POINTER_FEEDBACK_NONE.
  • hMonitor puede ser nullptr o un monitor válido.
  • deviceWidth y deviceHeight deben ser distintos de cero si se especifica SDCO_PHYSICAL_SIZE y cero si no.
  • Solo SDCO_PHYSICAL_SIZE es válido para las opciones (o SDCO_NONE).

PT_TOUCHPAD:

  • maxCount debe ser mayor que 0 y menor o igual que 5.
  • feedbackMode debe ser POINTER_FEEDBACK_NONE.
  • hMonitor debe ser nullptr (la entrada del panel táctil siempre se asigna al escritorio virtual a través de la ubicación del mouse).
  • deviceWidth y deviceHeight deben ser distintos de cero.
  • SDCO_PHYSICAL_SIZE debe especificarse en las opciones, SDCO_TOUCHPAD_GESTURE_ONLY es opcional.

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 2690)

Consulte también