> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XErrorCallback

> XErrorCallback

# XErrorCallback

Una devolución de llamada a la que se llama si se produce un error en el sistema operativo de juegos o en el Gaming Runtime.

## Sintaxis

```cpp theme={null}
bool XErrorCallback(  
         HRESULT hr,  
         const char* msg,  
         void* context  
)  
```

### Parámetros

*hr*   \_In\_\
Tipo: HRESULT

El código HRESULT asociado al error.

*msg*   \_In\_z\_\
Tipo: char\*

Descripción de texto del error.

*context*   \_In\_\
Tipo: void\*

Puntero de contexto para la devolución de llamada.

### Valor devuelto

Tipo: bool

Devuelva `true` para indicar que el sistema debe continuar y hacer lo que especifique [XErrorSetOptions](https://docs.xbox.com/es/reference/system/xerror/functions/xerrorsetoptions.md); de lo contrario, devuelva `false` para omitir el error.

## Comentarios

Use la función [XErrorSetCallback](https://docs.xbox.com/es/reference/system/xerror/functions/xerrorsetcallback.md) para especificar la devolución de llamada `XErrorCallback` de su juego a la que el sistema debe llamar si se produce un error, y la función `XErrorSetOptions` para especificar cómo debe comportarse el juego cuando se produce un error en el sistema operativo de juegos o en el Gaming Runtime.

El ejemplo siguiente muestra cómo establecer las opciones de error, definir una devolución de llamada de error personalizada y establecer la devolución de llamada de error personalizada para recibir notificaciones de error del sistema.

```cpp theme={null}
bool CustomGameXErrorCallback(_In_ HRESULT hr, _In_ const char* msg, _In_ void* context)  
{  
   // Capture the error to the game's custom logger  
   CustomGameLogger* logger = (CustomGameLogger*)context;  
   logger->ReportGameRuntimeIssue(hr, msg);  
  
   // Don't ignore the error. For example, continue on and do whatever  
   // is specified by XErrorSetOptions().  
   return true;  
}  
  
void SomeGameFunction()  
{  
   // Previously initialize the game's custom logger  
   // CustomGameLogger* m_logger = InitializeLogger();  
   // ...  
  
   // Setup how you want to handle XErrors  
   XErrorSetOptions(DebugBreakOnError, FailFastOnError);
   XErrorSetCallback(CustomGameXErrorCallback, m_logger);
}  
```

## Requisitos

**Encabezado:** XError.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Miembros de XError](https://docs.xbox.com/es/reference/system/xerror/xerror_members.md)\
[XErrorSetCallback](https://docs.xbox.com/es/reference/system/xerror/functions/xerrorsetcallback.md)


## Related topics

- [XErrorSetCallback](https://docs.xbox.com/es/reference/system/xerror/functions/xerrorsetcallback.md)
- [Miembros de XError (contenido de la API)](https://docs.xbox.com/es/reference/system/xerror/xerror_members.md)
- [XMemCreateWin32Heap](https://docs.xbox.com/es/reference/system/xmem/functions/xmemcreatewin32heap.md)
- [WdCopyErrorCallback](https://docs.xbox.com/es/reference/remoting/callbacks/wdcopyerrorcallback.md)
- [WdDeleteErrorCallback](https://docs.xbox.com/es/reference/remoting/callbacks/wddeleteerrorcallback.md)
