> ## 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.

# IGameInput::UnregisterCallback

> IGameInput::UnregisterCallback

# IGameInput::UnregisterCallback

Remove um método de retorno de chamada. O método não será mais chamado, e você poderá remover recursos da função de retorno de chamada após a conclusão de UnregisterCallback.

## Sintaxe

```cpp theme={null}
bool UnregisterCallback(
    GameInputCallbackToken callbackToken
);
```

### Parâmetros

*callbackToken*   \_In\_\
Tipo: GameInputCallbackToken

Token da função de retorno de chamada cujo registro será cancelado. Gerado quando a função foi registrada inicialmente com [IGameInput::RegisterDeviceCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback).

### Valor retornado

Tipo: bool

True se o registro do retorno de chamada foi cancelado com êxito.

## Comentários

O método [IGameInput::StopCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_stopcallback) e o método **IGameInput::UnregisterCallback** diferem ligeiramente. Chamar qualquer um dos métodos garante que o retorno de chamada associado não será despachado novamente. No entanto, não é seguro liberar nenhum recurso associado ao retorno de chamada (por exemplo, descarregar a DLL que hospeda a função de retorno de chamada) até que a função UnregisterCallback retorne com êxito. Portanto, não é possível cancelar o registro de um retorno de chamada de dentro de sua função de retorno de chamada registrada, e tentar fazer isso disparará uma declaração fatal. No entanto, é seguro cancelar um retorno de chamada de dentro da função de retorno de chamada.

O exemplo de C++ a seguir demonstra como ser notificado quando um gamepad ou teclado é desconectado.

[Visão geral da API de entrada](/pt-BR/build/core-features/common/input/overviews/input-overview)\
[IGameInput](/pt-BR/reference/input/gameinput/interfaces/igameinput/igameinput)\
[IGameInput::RegisterDeviceCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback)\
[IGameInput::RegisterReadingCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback)\
[IGameInput::RegistersystemButtonCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v0** | Introduzido. |


## Related topics

- [IGameInput::StopCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_stopcallback.md)
- [IGameInput::RegisterDeviceCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [IGameInput::RegisterReadingCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback.md)
- [IGameInput::RegisterKeyboardLayoutCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerkeyboardlayoutcallback.md)
- [IGameInput::RegisterSystemButtonCallback](/pt-BR/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback.md)
