Skip to main content

IGameInput::RegisterDeviceCallback

Registra uma função GameInputDeviceCallback para ser chamada sempre que um dispositivo for conectado ou desconectado do sistema. Também permite que a função seja chamada quando as propriedades de um dispositivo forem alteradas.

Sintaxe

Parâmetros

device   _In_opt_
Tipo: IGameInputDevice*
Limita o retorno de chamada registrado para ser disparado somente para um dispositivo específico. inputKind   _In_
Tipo: GameInputKind
Limita o retorno de chamada registrado para ser disparado somente para dispositivos que dão suporte a pelo menos um dos tipos de entrada especificados. statusFilter   _In_
Tipo: GameInputDeviceStatus
Limita o retorno de chamada registrado para ser disparado somente para tipos específicos de alterações de status do dispositivo. enumerationKind   _In_
Tipo: GameInputEnumerationKind
Determina se os dispositivos serão enumerados e se a função aguardará a conclusão da enumeração. context   _In_opt_
Tipo: void*
Algum objeto que fornece informações relevantes para a função de retorno de chamada. Normalmente, o objeto chamador. callbackFunc   _In_
Tipo: GameInputDeviceCallback
O retorno de chamada definido pelo título a ser registrado para o evento de dispositivo conectado ou desconectado. callbackToken   _Result_zeroonfailure_
Tipo: GameInputCallbackToken*
Token que identifica a função de retorno de chamada registrada. Esse token é usado para identificar a função registrada caso você precise cancelar ou cancelar o registro da função de retorno de chamada.

Valor retornado

Tipo: HRESULT Resultado da função.

Comentários

A função registrada por IGameInput::RegisterDeviceCallback pode ser usada para reagir a alterações de estado no dispositivo, como uma conexão ou desconexão. Os tipos de alterações de estado reconhecíveis estão listados em GameInputDeviceStatus. O parâmetro enumerationKind pode ser usado para gerar uma rodada inicial de retornos de chamada - um para cada dispositivo conectado ao sistema. Essa enumeração inicial pode ser definida como uma enumeração assíncrona ou síncrona. Uma enumeração síncrona chamará todos os retornos de chamada iniciais antes que IGameInput::RegisterDeviceCallback retorne. O exemplo de C++ a seguir demonstra como enumerar explicitamente os gamepads e teclados conectados.
O exemplo de C++ a seguir demonstra como ser notificado quando um dispositivo é conectado ou desconectado.

Requisitos

Visão geral da API de entrada
IGameInput
IGameInput::UnregisterCallback
IGameInput::StopCallback

Histórico de versões

Last modified on October 6, 2026