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

# Référence de la fonction UnregisterLampArrayCallback

> Désinscrit un LampArrayCallback précédemment inscrit à l'aide de son jeton de rappel et attend, jusqu'à un délai d'expiration spécifié, la fin des rappels en cours.

# UnregisterLampArrayCallback

Désinscrit une fonction de rappel LampArray.

## Syntaxe

```cpp theme={null}
bool UnregisterLampArrayCallback(
    LampArrayCallbackToken callbackToken,
    uint64_t timeoutInMicroseconds);
```

### Paramètres

*callbackToken*\
Type : LampArrayCallbackToken

Jeton de la fonction de rappel à désinscrire. Généré lors de l'inscription initiale de la fonction avec [RegisterLampArrayCallback](/fr/reference/lighting/lamparray/functions/registerlamparraycallback).

*timeoutInMicroseconds*\
Type : uint64\_t

Durée d'attente de la fin d'un rappel afin qu'il puisse être désinscrit.

### Valeur de retour

Type : bool

True si le rappel a été désinscrit avec succès. False indique une valeur de jeton de rappel non valide ou l'expiration du délai lors de l'attente du retour d'un rappel en cours. Un retour false garantit néanmoins qu'aucun nouveau rappel ne sera distribué. Les rappels déjà en cours seront tout de même exécutés.

## Remarques

Il n'est pas sûr de libérer les ressources associées au rappel (par exemple, en déchargeant la DLL qui héberge la fonction de rappel) tant que la fonction UnregisterLampArrayCallback n'a pas retourné un résultat de réussite. Par conséquent, il n'est pas possible de désinscrire un rappel depuis sa propre fonction de rappel inscrite, et toute tentative en ce sens met fin au processus.

Le code suivant est un exemple d'inscription et de désinscription d'un rappel LampArray :

```cpp theme={null}
void MyLampArrayCallback(
    _In_opt_ void* context,
    bool isAttached,
    _In_ ILampArray* lampArray)
{
    if (isAttached)
    {
        // Application-specific code to handle LampArray connection
    }
    else
    {
        // Application-specific code to handle LampArray disconnection
    }
}

void MonitorLampArrays(
    _In_ volatile bool & cancelMonitoring) noexcept
{
    LampArrayCallbackToken token = LAMPARRAY_INVALID_CALLBACK_TOKEN_VALUE;
    if (SUCCEEDED(RegisterLampArrayCallback(
        MyLampArrayCallback,
        nullptr /* context */,
        &token)))
    {
        while (!cancelMonitoring)
        {
            Sleep(100);
        }

        UnregisterLampArrayCallback(token, 5000);
    }
}
```

## Configuration requise

**En-tête :** LampArray.h

**Bibliothèque :** xgameplatform.lib

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Vue d'ensemble de l'API d'éclairage](/fr/build/core-features/common/lighting/gc-lighting-toc)\
[Notions de base de l'éclairage](/fr/build/core-features/common/lighting/lighting-basics)\
[LampArrayCallback](/fr/reference/lighting/lamparray/functions/lamparraycallback)\
[RegisterLampArrayCallback](/fr/reference/lighting/lamparray/functions/registerlamparraycallback)


## Related topics

- [Referencia de la función UnregisterLampArrayCallback](/es/reference/lighting/lamparray/functions/unregisterlamparraycallback.md)
- [UnregisterLampArrayCallback](/ja-jp/reference/lighting/lamparray/functions/unregisterlamparraycallback.md)
- [UnregisterLampArrayCallback function reference](/reference/lighting/lamparray/functions/unregisterlamparraycallback.md)
- [Referencia de la función LampArrayCallback](/es/reference/lighting/lamparray/functions/lamparraycallback.md)
- [Referencia de la función LampArrayStatusCallback](/es/reference/lighting/lamparray/functions/lamparraystatuscallback.md)
