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

# XAudio2CreateWithSharedContexts

> XAudio2CreateWithSharedContexts

# XAudio2CreateWithSharedContexts

Crée un nouvel objet XAudio2 et retourne un pointeur vers son interface IXAudio2.

## Syntaxe

```cpp theme={null}
XAUDIO2_STDAPI XAudio2CreateWithSharedContexts(  
         IXAudio2** ppXAudio2,  
         UINT32 Flags,  
         XAUDIO2_PROCESSOR XAudio2Processor,  
         const PXAUDIO2_SHARED_SHAPE_CONTEXTS SharedShapeContexts  
)  
```

### Paramètres

*ppXAudio2*   \_Outptr\_\
Type : IXAudio2\*\*

Si l'opération réussit, retourne un pointeur vers un objet IXAudio2.

*Flags*   \_In\_\
Type : UINT32

Indicateurs qui spécifient le comportement de l'objet IXAudio2.

| Indicateur | Description |
| - | - |
| XAUDIO2\_DO\_NOT\_USE\_SHAPE | Sert à empêcher le moteur ou la voix d'utiliser le moteur de traitement audio matériel évolutif (SHAPE), y compris XBOX Media Audio (XMA). |
| XAUDIO2\_DO\_NOT\_SHARE\_SHAPE\_CONTEXTS | Sert à forcer l'utilisation exclusive des contextes SHAPE fournis. Aucune autre instance du moteur ne partagera ces contextes. |

*XAudio2Processor*   \_In\_\
Type : XAUDIO2\_PROCESSOR

Valeur de type XAUDIO2\_PROCESSOR qui spécifie le processeur à utiliser. Transmettre XAUDIO2\_USE\_DEFAULT\_PROCESSOR permet à XAudio2 de choisir le processeur idéal au moment de l'exécution.

Spécifier un processeur pourrait nuire à la capacité du planificateur à répartir efficacement les threads entre les processeurs. Transmettez plutôt la valeur XAUDIO2\_USE\_DEFAULT\_PROCESSOR.

*SharedShapeContexts*   \_In\_\
Type : PXAUDIO2\_SHARED\_SHAPE\_CONTEXTS

Pointeur vers SHARED\_SHAPE\_CONTEXTS. Ce paramètre est propre à XBOX One et permet à un titre de partager des ressources SHAPE et XMA avec XAudio2. La valeur par défaut est NULL.

### Valeur de retour

Type : XAUDIO2\_STDAPI

Si la fonction réussit, elle retourne `S_OK`.  Si un ou plusieurs arguments ne sont pas valides, la fonction retourne un code d'erreur.

## Remarques

`XAudio2CreateWithSharedContexts` fonctionne de la même façon que la fonction `XAudio2Create`. Elle accepte un paramètre supplémentaire permettant de partager l'état du moteur de traitement audio matériel évolutif (SHAPE) sur XBOX One entre plusieurs instances IXAudio2. `PXAUDIO2_SHARED_SHAPE_CONTEXTS` est un pointeur vers l'état partagé. XAudio2 utilise des contextes SHAPE pour la lecture XMA. En tant que fonctionnalité, XMA a été introduit avec la XBOX 360. Si vous utilisez XAudio2 pour lire de l'audio XMA dans la version XBOX 360 de votre jeu, ou dans un jeu XBOX One basé sur l'ancien XBOX One Software Development Kit, il est essentiel de savoir que le Microsoft Game Development Kit (GDK) continue de prendre en charge XMA et les contextes SHAPE.

Pour lire de l'audio au format XMA, votre application n'a pas à utiliser l'indicateur `XAudio2CreateWithSharedContexts`, car l'instance XAudio2 crée ses propres contextes SHAPE. `XAudio2CreateWithSharedContexts` est optimisée pour les applications qui ont plusieurs instances XAudio2. Elle permet à l'application d'allouer un seul ensemble de contextes SHAPE et de les partager efficacement entre les instances.

<Note>Le paramètre `XAudio2Processor` doit utiliser le pointeur `XAUDIO2_USE_DEFAULT_PROCESSOR` afin de permettre au système de choisir le processeur approprié, sauf si l'application est conçue pour sélectionner un processeur précis.</Note>

Le paramètre `XAudio2Create` et la fonction `XAudio2CreateWithSharedContexts` utilisent des indicateurs qui s'appliquent aux jeux qui lisent uniquement de l'audio au format XMA. Une application ne parvient pas à lire du contenu XMA si l'indicateur `XAUDIO2_DO_NOT_USE_SHAPE` est utilisé. Avec la XBOX 360, l'audio XMA est décodé par le logiciel ou le matériel, ce qui nécessite des contextes SHAPE. La nouvelle version du Microsoft Game Development Kit (GDK) prend en charge le décodage XMA dans le matériel. Spécifier cet indicateur empêchera de fait la lecture XMA.

Si la fonction appelle ses propres contextes SHAPE, elle utilise l'indicateur `XAUDIO2_DO_NOT_SHARE_SHAPE_CONTEXTS` pour spécifier que les contextes SHAPE sont réservés à l'usage exclusif de cette instance XAudio2. Il n'est pas recommandé de spécifier cet indicateur lorsque vous ne fournissez pas de contextes SHAPE (par exemple, en appelant `XAudio2Create`), car lorsque XAudio2 crée ses propres contextes SHAPE, ceux-ci sont partagés.

Vous pouvez aussi utiliser l'indicateur `XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE`. La définition de cet indicateur empêche le DVR de jeu d'enregistrer l'audio provenant de la voix de mastering.

L'en-tête définit aussi l'indicateur `AUDCLNT_STREAMFLAGS_EXCLUDE_FROM_GAME_DVR_CAPTURE`. Transmettez cet indicateur à `IAudioClient::Initialize` pour empêcher le DVR de jeu d'enregistrer l'audio lu par cet *IAudioClient*. Si votre jeu utilise XAudio2, utilisez plutôt l'indicateur `XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE` à cette fin.

Pour plus d'informations, consultez [Prise en main de XAudio2](https://learn.microsoft.com/windows/win32/xaudio2/getting-started?redirectedfrom=MSDN).

## Configuration requise

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

**Bibliothèque :** xaudio2.lib

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

## Documentation conceptuelle

* [Comparaison des API audio du XBOX One Software Development Kit et du Microsoft Game Development Kit (GDK)](/fr-CA/build/console-features/audio/overviews/comparison-of-xdk-and-gdk-audio-api)

## Voir aussi

[Vue d'ensemble de XAudio2](/fr-CA/build/console-features/audio/overviews/xaudio2-overview)\
[Concepts clés de XAudio2](https://learn.microsoft.com/windows/win32/xaudio2/xaudio2-key-concepts)\
[xaudio2xbox](/fr-CA/reference/audio/xaudio2xbox/xaudio2xbox_members)


## Related topics

- [XAudio2CreateWithSharedContexts](/reference/audio/xaudio2xbox/functions/xaudio2createwithsharedcontexts.md)
- [SHARED_SHAPE_CONTEXTS](/reference/audio/acphal/structs/shared_shape_contexts.md)
- [XDK vs GDK audio API comparison](/build/console-features/audio/overviews/comparison-of-xdk-and-gdk-audio-api.md)
- [XDK と GDK のオーディオ API の比較](/ja-jp/build/console-features/audio/overviews/comparison-of-xdk-and-gdk-audio-api.md)
- [XDK 与 GDK 音频 API 对比](/zh-CN/build/console-features/audio/overviews/comparison-of-xdk-and-gdk-audio-api.md)
