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

Quita un método de devolución de llamada. Ya no se llamará al método y podrá quitar recursos de la función de devolución de llamada una vez que UnregisterCallback se complete.

## Sintaxis

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

### Parámetros

*callbackToken*   \_In\_\\
Tipo: GameInputCallbackToken

Token de la función de devolución de llamada cuyo registro se va a anular. Se genera cuando la función se registró inicialmente con [IGameInput::RegisterDeviceCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback).

### Valor devuelto

Tipo: bool

True si el registro de la devolución de llamada se anuló correctamente.

## Comentarios

El método [IGameInput::StopCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_stopcallback) y el método **IGameInput::UnregisterCallback** presentan diferencias sutiles. Llamar a cualquiera de los dos métodos garantiza que la devolución de llamada asociada no se enviará de nuevo. Sin embargo, no es seguro liberar los recursos asociados a la devolución de llamada (por ejemplo, descargar el archivo DLL que hospeda la función de devolución de llamada) hasta que la función UnregisterCallback devuelva el resultado correctamente. Por lo tanto, no es posible anular el registro de una devolución de llamada desde su propia función de devolución de llamada registrada, e intentarlo desencadenará una aserción irrecuperable. Sin embargo, sí es seguro cancelar una devolución de llamada desde la función de devolución de llamada.

En el ejemplo de C++ siguiente se muestra cómo recibir una notificación cuando se desconecta un mando o un teclado.

[Información general de la API de entrada](/build/core-features/common/input/overviews/input-overview)\
[IGameInput](/reference/input/gameinput/interfaces/igameinput/igameinput)\
[IGameInput::RegisterDeviceCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback)\
[IGameInput::RegisterReadingCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback)\
[IGameInput::RegistersystemButtonCallback](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registersystembuttoncallback)

## Historial de versiones

| Versión | Cambios       |
| ------- | ------------- |
| **v0**  | Se introdujo. |


## Related topics

- [IGameInput::StopCallback](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_stopcallback.md)
- [IGameInput::RegisterDeviceCallback](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [IGameInput::RegisterReadingCallback](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerreadingcallback.md)
- [IGameInput::RegisterKeyboardLayoutCallback](/es/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerkeyboardlayoutcallback.md)
- [Control de versiones de la API de GameInput](/es/build/core-features/common/input/overviews/input-versioning.md)
