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

# PFPlatformLocalStorageClearAsyncHandler

> Gestionnaire de stockage que PlayFab appelle pour supprimer les données stockées sous une clé; il démarre une opération XAsync qui se termine sans charge utile de résultat.

Gestionnaire d'effacement du stockage que PlayFab appelle lorsqu'il doit effacer des données du stockage. Implémentez-le en tant que [XAsyncProvider](https://docs.xbox.com/fr-CA/reference/system/xasyncprovider/functions/xasyncprovider.md).

## Syntaxe

```cpp theme={null}
HRESULT STDAPIVCALLTYPE PFPlatformLocalStorageClearAsyncHandler(
    void* context,
    const char* key,
    XAsyncBlock* async
);
```

### Paramètres

**`context`**   `_In_opt_` void\*

Le membre `context` de la structure [PFLocalStorageHooks](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/structs/pflocalstoragehooks.md) que vous avez transmise à [PFPlatformLocalStorageSetHandlers](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragesethandlers.md). Peut être `nullptr`. PlayFab n'est pas propriétaire de ce pointeur.

**`key`**   `_In_z_` const char\*

Identifie les données. Il s'agit généralement d'un chemin de fichier. Effacez les données stockées sous cette clé.

**`async`**   `_Inout_` [XAsyncBlock](https://docs.xbox.com/fr-CA/reference/system/xasync/structs/xasyncblock.md)\*

Le `XAsyncBlock` de l'opération d'effacement.

### Valeur de retour

Type : HRESULT

Retournez `S_OK` si vous avez démarré l'opération asynchrone sur `async`, par exemple avec [XAsyncBegin](https://docs.xbox.com/fr-CA/reference/system/xasyncprovider/functions/xasyncbegin.md). Si le gestionnaire retourne un HRESULT d'échec, PlayFab fait échouer l'opération de stockage avec ce HRESULT et n'attend pas la fin de `async`; ne retournez donc un échec que si vous n'avez pas démarré d'opération sur `async`. Signalez le résultat de l'opération de stockage elle-même en terminant `async` avec [XAsyncComplete](https://docs.xbox.com/fr-CA/reference/system/xasyncprovider/functions/xasynccomplete.md).

## Notes

Pour installer ce gestionnaire, définissez-le dans le membre `clear` d'une structure [PFLocalStorageHooks](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/structs/pflocalstoragehooks.md), avec les deux autres gestionnaires de stockage, et transmettez la structure à [PFPlatformLocalStorageSetHandlers](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragesethandlers.md) avant d'appeler [PFInitialize](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfcore/functions/pfinitialize.md). PFPlatformLocalStorageSetHandlers retourne `E_INVALIDARG` si l'un des trois gestionnaires est `nullptr`. Si vous ne définissez pas de gestionnaires personnalisés, PlayFab utilise une implémentation par défaut basée sur cstdio et des objets `std::fstream`.

Terminez `async` avec [XAsyncComplete](https://docs.xbox.com/fr-CA/reference/system/xasyncprovider/functions/xasynccomplete.md) en transmettant le résultat de l'effacement et une taille de résultat de 0.

L'implémentation par défaut tente de supprimer le fichier nommé par `key` et se termine avec `S_OK` même si la suppression échoue, par exemple parce que le fichier n'existe pas. Traitez également une clé manquante comme une réussite dans votre gestionnaire.

Lorsque la sortie de trace dans un fichier est activée avec [PFTraceEnableTraceToFile](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pftrace/functions/pftraceenabletracetofile.md), [PFInitialize](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfcore/functions/pfinitialize.md) appelle ce gestionnaire pour le fichier de trace et attend la fin de l'opération avant de continuer. Le port de travail de la file d'attente sur laquelle l'opération s'exécute doit progresser pendant que PFInitialize attend. Si vous distribuez ce port de travail manuellement, distribuez-le à partir d'un autre thread; il ne suffit pas de distribuer uniquement le port d'achèvement.

PlayFab peut appeler ce gestionnaire en ligne sur le thread qui démarre l'opération de stockage; ne dépendez donc pas du thread sur lequel il s'exécute. La file d'attente de `async` est une file d'attente que PlayFab dérive du membre `queueHandle` de PFLocalStorageHooks. Si `queueHandle` est `nullptr`, PlayFab la dérive de la file d'attente en arrière-plan que vous avez transmise à PFInitialize, ou de la file d'attente de tâches du processus si cette file d'attente était également `nullptr`. Les rappels de travail et d'achèvement de la file d'attente dérivée s'exécutent tous deux sur le port de travail de la file d'attente dont elle est dérivée.

PlayFab exécute une seule opération de stockage à la fois et ne démarre la suivante qu'une fois l'opération en cours terminée.

PlayFab peut annuler une opération en attente en appelant `XAsyncCancel` sur `async`. Gérez `XAsyncOp::Cancel` dans votre fournisseur si votre opération de stockage peut être annulée.

Les arguments `key` et `async` appartiennent à PlayFab et restent valides jusqu'à la fin de l'opération. L'argument `context` n'est pas couvert par cette garantie.

## Configuration requise

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

**Bibliothèque :** PlayFabCore.lib

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

## Voir aussi

[Membres de PFPlatform](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/pfplatform_members.md)

[PFLocalStorageHooks](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/structs/pflocalstoragehooks.md)

[PFPlatformLocalStorageSetHandlers](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragesethandlers.md)

[XAsyncProvider](https://docs.xbox.com/fr-CA/reference/system/xasyncprovider/functions/xasyncprovider.md)

[PFPlatformLocalStorageReadAsyncHandler](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragereadasynchandler.md)

[PFPlatformLocalStorageWriteAsyncHandler](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragewriteasynchandler.md)


## Related topics

- [PFPlatformLocalStorageReadAsyncHandler](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragereadasynchandler.md)
- [PFPlatformLocalStorageWriteAsyncHandler](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragewriteasynchandler.md)
- [PFLocalStorageHooks](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/structs/pflocalstoragehooks.md)
- [Vue d'ensemble de l'API C Services - PFPlatform.h](https://docs.xbox.com/fr-CA/services/playfab/api-references/c/pfplatform/pfplatform_members.md)
- [XblLocalStorageClearHandler](https://docs.xbox.com/fr-CA/reference/live/xsapi-c/platform_c/functions/xbllocalstorageclearhandler.md)
