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 DevuelveS_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:
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:
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 SeriesConsulte también
GameInputCreateControl de versiones de la API de GameInput
Uso de varias versiones de la API de GameInput en una aplicación
GameInput
