Pular para o conteúdo principal
Obtém uma instância da interface IGameInput para uma versão específica da API GameInput.

Sintaxe

Parâmetros

riid   _In_
Tipo: REFIID
O ID de interface (IID) da interface IGameInput a ser obtida. O IID seleciona a versão da API GameInput, por exemplo, __uuidof(GameInput::v4::IGameInput) para a v4 ou __uuidof(GameInput::v0::IGameInput) para a v0. ppv   _COM_Outptr_
Tipo: LPVOID*
Recebe a interface solicitada do singleton subjacente por processo. Definido como nullptr se a função falhar.

Valor retornado

Tipo: HRESULT Retorna S_OK em caso de êxito. Retorna E_NOINTERFACE se riid não for o IID de uma interface IGameInput ou se o runtime do GameInput instalado não oferecer suporte à versão da API solicitada. Retorna outro código de erro se o runtime do GameInput não puder ser carregado.

Comentários

GameInputInitialize funciona como GameInputCreate, mas recebe o IID da versão de IGameInput que você deseja. Ambas as funções retornam uma interface no mesmo singleton por processo. A primeira chamada cria o singleton, e as chamadas posteriores adicionam uma referência a ele. Para obter orientações sobre quando chamar essas funções e por quanto tempo manter a referência, confira GameInputCreate. Um runtime do GameInput oferece suporte a todas as versões da API menores ou iguais à sua própria versão principal. Por exemplo, o runtime do GameInput 4.0 aceita o IID de qualquer versão de IGameInput da v0 à v4. Se você solicitar uma versão mais recente que o runtime instalado, a função falhará com E_NOINTERFACE. Você pode usar isso para verificar em tempo de execução se uma versão mais recente da API está disponível.

Relação com GameInputCreate

A partir da v3, GameInputCreate no cabeçalho do GameInput é uma função embutida que chama GameInputInitialize com o IID da interface IGameInput que o cabeçalho declara:
Por isso, chamar GameInputCreate na v3 e posteriores cria a versão de IGameInput que corresponde ao cabeçalho que você inclui. Para criar uma versão diferente sem incluir o cabeçalho dela, chame GameInputInitialize diretamente. Na v0, GameInputCreate é uma função exportada por GameInput.lib e sempre cria a interface v0. Em vez disso, a GameInput.lib do pacote NuGet Microsoft.GameInput exporta GameInputInitialize. Para criar a interface v0 ao vincular essa biblioteca, chame GameInputInitialize com o IID da v0. O cabeçalho da v0 não declara GameInputInitialize, portanto declare-a você mesmo:
Se o runtime instalado for antigo demais para fornecer GameInputInitialize, a biblioteca recorrerá ao GameInputCreate do runtime para o IID da v0 e retornará E_NOINTERFACE para qualquer outro IID. Para obter outra versão da API de um objeto IGameInput que você já tem, chame QueryInterface nele em vez de chamar GameInputInitialize novamente. Para obter mais informações e exemplos, confira Usando várias versões da API GameInput em um aplicativo.

Requisitos

Cabeçalho: GameInput.h Biblioteca: GameInput.lib Plataformas com suporte: Windows, consoles da família XBOX One e consoles XBOX Series

Confira também

GameInputCreate
Controle de versão da API do GameInput
Usando várias versões da API GameInput em um aplicativo
GameInput

Histórico de versões

Última modificação em 6 de novembro de 2026