> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IGameInputDevice::GetTouchSurfaceInfo

> Obtiene información sobre una superficie táctil del dispositivo de entrada.

Obtiene información sobre una superficie táctil del dispositivo de entrada.

## Sintaxis

```cpp theme={null}
HRESULT GetTouchSurfaceInfo(
    uint32_t surfaceIndex,
    GameInputTouchSurfaceInfo* info
);
```

### Parámetros

*surfaceIndex*\
Tipo: uint32\_t

El índice de base cero de la superficie táctil. Debe ser menor que el valor devuelto por [IGameInputDevice::GetTouchSurfaceCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfacecount.md).

*info*   \_Out\_\
Tipo: [GameInputTouchSurfaceInfo](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/structs/gameinputtouchsurfaceinfo)\*

Recibe información sobre la superficie táctil.

### Valor devuelto

Tipo: HRESULT

Devuelve `S_OK` si se realiza correctamente. Devuelve `E_BOUNDS` si *surfaceIndex* es mayor o igual que el número de superficies táctiles del dispositivo; en ese caso, *info* se rellena con ceros.

## Comentarios

La información devuelta describe el número máximo de contactos simultáneos que puede notificar la superficie, las dimensiones de la superficie en unidades del dispositivo y el tipo de superficie, como un panel táctil o una pantalla táctil. Las posiciones de contacto que notifica [IGameInputReading::GetTouchSurfaceState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_gettouchsurfacestate.md) son relativas a estas dimensiones, por lo que puede usarlas para normalizar las posiciones de contacto.

La información no cambia durante la vida útil del objeto de dispositivo.

En el siguiente ejemplo se normaliza la posición del primer contacto de cada superficie táctil de un dispositivo al intervalo \[0, 1).

```cpp theme={null}
void ProcessTouch(IGameInputDevice* device, IGameInputReading* reading) noexcept
{
    const uint32_t surfaceCount = device->GetTouchSurfaceCount();
    for (uint32_t surfaceIndex = 0; surfaceIndex < surfaceCount; ++surfaceIndex)
    {
        GameInputTouchSurfaceInfo info = {};
        if (FAILED(device->GetTouchSurfaceInfo(surfaceIndex, &info)) ||
            info.padWidth == 0 || info.padHeight == 0)
        {
            continue;
        }

        GameInputTouchContact contact = {};
        if (reading->GetTouchSurfaceState(surfaceIndex, 1, &contact) == 1)
        {
            const float x = static_cast<float>(contact.padX) / info.padWidth;
            const float y = static_cast<float>(contact.padY) / info.padHeight;
            // Use the normalized position (x, y) of the contact.
        }
    }
}
```

> [!NOTE]
>
> La compatibilidad táctil depende del dispositivo y de la plataforma.

## Requisitos

**Encabezado:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Información general de GameInput](https://docs.xbox.com/es/build/core-features/common/input/overviews/input-overview.md)\
[IGameInputDevice](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)\
[GameInputTouchSurfaceInfo](https://learn.microsoft.com/en-us/gaming/gdk/docs/reference/input/gameinput/structs/gameinputtouchsurfaceinfo)\
[IGameInputDevice::GetTouchSurfaceCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfacecount.md)\
[IGameInputReading::GetTouchSurfaceState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_gettouchsurfacestate.md)

## Historial de versiones

| Versión | Cambios |
| - | - |
| **v4** | Se introdujo. |


## Related topics

- [IGameInputDevice::GetTouchSurfaceCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gettouchsurfacecount.md)
- [IGameInputReading::GetTouchSurfaceState](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_gettouchsurfacestate.md)
- [IGameInputReading::GetTouchContactCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_gettouchcontactcount.md)
- [IGameInputDevice::GetSupportedInput](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md)
- [IGameInputDevice::GetInputReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getinputreportinfo.md)
