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

# GameInputCreate

> GameInputCreate

# GameInputCreate

Obtiene una instancia de la interfaz IGameInput.

## Sintaxis

```cpp theme={null}
HRESULT GameInputCreate(
    IGameInput** gameInput
);
```

### Parámetros

*gameInput*   \_COM\_Outptr\_\
Tipo: IGameInput\*\*

Una instancia del singleton subyacente por proceso devuelta por la llamada.

### Valor devuelto

Tipo: HRESULT

Resultado de la función.

## Comentarios

La función `GameInputCreate` es una fábrica de Nano-COM para obtener o crear instancias de GameInput. La interfaz resultante está respaldada por un singleton por proceso que se crea la primera vez que se llama a esta función. Por lo tanto, la primera llamada a esta función puede tardar un breve tiempo en devolver un resultado, lo suficientemente breve como para que, por lo general, sea seguro llamarla desde un subproceso de interfaz de usuario, pero no desde contextos sensibles al tiempo, como un bucle de juego. Las llamadas posteriores a esta función desde el mismo proceso simplemente agregan otra referencia al singleton subyacente y devuelven el resultado rápidamente.

Como solo hay una versión de GameInput disponible en el sistema a la vez, el conjunto de interfaces compatibles puede variar según la versión de GameInput instalada. Como GameInput es compatible con versiones anteriores, las nuevas versiones seguirán admitiendo las interfaces antiguas incluso a medida que se agreguen nuevas características.

Las aplicaciones deben llamar a la función `GameInputCreate` una vez durante el inicio y conservar la referencia al objeto `IGameInput` hasta que la aplicación esté lista para cerrarse. Esto es válido incluso para las aplicaciones de la Plataforma universal de Windows (UWP) que responden a eventos de suspensión de administración de la duración de los procesos (PLM), porque el costo de reinicializar el singleton de `GameInput` (cuando se reanuda la aplicación) suele superar las ventajas de liberar una pequeña cantidad de memoria en la aplicación.

## Requisitos

**Encabezado:** GameInput.h

[Temas de GameInput avanzado](/build/core-features/common/input/advanced/input-advanced-topics)\
[Información general de GameInput](/build/core-features/common/input/overviews/input-overview)\
[GameInput](/reference/input/gameinput/gameinput_members)

## Historial de versiones

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

## Documentación conceptual

* [Fundamentos de GameInput](/build/core-features/common/input/overviews/input-fundamentals)


## Related topics

- [Preguntas más frecuentes sobre GameInput](/es/build/core-features/common/input/overviews/input-faq.md)
- [GameInput](/es/reference/input/gameinput/gameinput_members.md)
- [Información general de GameInput](/es/build/core-features/common/input/overviews/input-overview.md)
- [IGameInput::CreateDispatcher](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createdispatcher.md)
- [IGameInput::CreateAggregateDevice](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createaggregatedevice.md)
