Saltar al contenido principal
Obtiene una instancia de la interfaz IGameInput para una versión específica de la API de GameInput.

Sintaxis

Parámetros

riid   _In_
Tipo: REFIID
El identificador de interfaz (IID) de la interfaz IGameInput que se va a obtener. El IID selecciona la versión de la API de GameInput, por ejemplo, __uuidof(GameInput::v4::IGameInput) para v4 o __uuidof(GameInput::v0::IGameInput) para v0. ppv   _COM_Outptr_
Tipo: LPVOID*
Recibe la interfaz solicitada del singleton por proceso subyacente. Se establece en nullptr si se produce un error en la función.

Valor devuelto

Tipo: HRESULT Devuelve S_OK si se ejecuta correctamente. Devuelve E_NOINTERFACE si riid no es el IID de una interfaz IGameInput o si el runtime de GameInput instalado no admite la versión de la API solicitada. Devuelve otro código de error si no se puede cargar el runtime de GameInput.

Comentarios

GameInputInitialize funciona como GameInputCreate, pero toma el IID de la versión de IGameInput que desee. Ambas funciones devuelven una interfaz del mismo singleton por proceso. La primera llamada crea el singleton y las llamadas posteriores le agregan una referencia. Para obtener instrucciones sobre cuándo llamar a estas funciones y durante cuánto tiempo mantener la referencia, consulte GameInputCreate. Un runtime de GameInput admite todas las versiones de la API que sean inferiores o iguales a su propia versión principal. Por ejemplo, el runtime de GameInput 4.0 acepta el IID de cualquier versión de IGameInput de v0 a v4. Si solicita una versión más reciente que el runtime instalado, la función produce un error con E_NOINTERFACE. Puede usar esto para comprobar en tiempo de ejecución si hay disponible una versión más reciente de la API.

Relación con GameInputCreate

A partir de v3, GameInputCreate en el encabezado de GameInput es una función insertada que llama a GameInputInitialize con el IID de la interfaz IGameInput que declara el encabezado:
Por este motivo, llamar a GameInputCreate en v3 y versiones posteriores crea la versión de IGameInput que coincide con el encabezado que incluye. Para crear una versión diferente sin incluir su encabezado, llame directamente a GameInputInitialize. En v0, GameInputCreate es una función que exporta GameInput.lib y que siempre crea la interfaz v0. En cambio, el archivo GameInput.lib del paquete NuGet Microsoft.GameInput exporta GameInputInitialize. Para crear la interfaz v0 al vincular esa biblioteca, llame a GameInputInitialize con el IID de v0. El encabezado de v0 no declara GameInputInitialize, por lo que debe declararla usted mismo:
Si el runtime instalado es demasiado antiguo para proporcionar GameInputInitialize, la biblioteca recurre a la función GameInputCreate del runtime para el IID de v0 y devuelve E_NOINTERFACE para cualquier otro IID. Para obtener otra versión de la API de un objeto IGameInput que ya tiene, llame a QueryInterface en él en lugar de volver a llamar a GameInputInitialize. Para obtener más información y ejemplos, consulte Uso de varias versiones de la API de GameInput en una aplicación.

Requisitos

Encabezado: GameInput.h Biblioteca: GameInput.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX Series

Consulte también

GameInputCreate
Control de versiones de la API de GameInput
Uso de varias versiones de la API de GameInput en una aplicación
GameInput

Historial de versiones

Última modificación el 6 de noviembre de 2026