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

# XApuEnqueueCommand

> XApuEnqueueCommand

# XApuEnqueueCommand

Soumet une commande unique à la file d'attente des commandes XAPU.

## Syntaxe

```cpp theme={null}
HRESULT XApuEnqueueCommand(  
         XApuHandle handle,  
         XApuCommandId* command,  
         uint32_t* totalCommandCount  
)  
```

### Paramètres

*handle*   \_In\_\
Type : XApuHandle

Handle retourné par l'appel à [XApuConnect](/fr/reference/audio/xapu/functions/xapuconnect).

*command*   \_In\_\
Type : [XApuCommandId\*](/fr/reference/audio/xapu/structs/xapucommandid)

Commande à soumettre à la file d'attente d'entrée XAPU.

*totalCommandCount*   \_Out\_opt\_\
Type : uint32\_t\*

Nombre total de commandes, retourné.

### Valeur renvoyée

Type : HRESULT

Retourne S\_OK en cas de réussite ; sinon, retourne un code d'erreur.

## Remarques

Cet appel est rapide, car il n'alloue pas de ressources et ne traite pas de données : il envoie simplement la commande au serveur matériel. Cet appel retourne [XAPU\_E\_QUEUE\_FULL](/fr/reference/audio/xapu/enums/xapuerrors) si [XApuConnectInputParameters::maxQueuedCommandsPerStream](/fr/reference/audio/xapu/structs/xapuconnectinputparameters) commandes sont en cours de traitement. Pour éviter cette erreur, l'appelant doit récupérer un ou plusieurs résultats via [XApuDequeueResult](/fr/reference/audio/xapu/functions/xapudequeueresult). Cet appel est thread-safe, c'est-à-dire qu'il est possible de soumettre des commandes depuis plusieurs threads ; toutefois, l'appeler depuis plusieurs threads n'apporte aucun gain de performances.

Cet appel accepte également un pointeur vers un uint32\_t pour retourner le *totalCommandCount* de la session actuelle. Ce nombre représente le total des commandes soumises avec succès depuis le début de la session, après l'appel à [XApuConnect](/fr/reference/audio/xapu/functions/xapuconnect). Ce nombre ne revient jamais à zéro.

Si le serveur matériel est dans un état incorrect, [XApuEnqueueCommand](/fr/reference/audio/xapu/functions/xapuenqueuecommand) retourne le code d'erreur [XAPU\_E\_DEVICE\_FATAL\_ERROR](/fr/reference/audio/xapu/enums/xapuerrors). Dans ce cas, tous les clients XAPU doivent être déconnectés puis reconnectés.

Si cette méthode échoue, un code d'erreur descriptif est retourné.

Le tableau suivant associe chaque [XApuCommandType](/fr/reference/audio/xapu/enums/xapucommandtype) au type de structure à passer à **XApuEnqueueCommand** :

| XApuCommandType | Type de structure |
| - | - |
| XApuCommandType::Activate | [XApuDecodeConvertActivateCommand](/fr/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) |
| XApuCommandType::Deactivate | [XApuCommandId](/fr/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Process | [XApuDecodeConvertCommand](/fr/reference/audio/xapu/structs/xapudecodeconvertcommand) |
| XApuCommandType::Notify | [XApuCommandId](/fr/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Reset | [XApuCommandId](/fr/reference/audio/xapu/structs/xapucommandid) |

## Configuration requise

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

**Bibliothèque :** xapu.lib

**Plateformes prises en charge :** XBOX Series X|S

## Voir aussi

[XAPU](/fr/reference/audio/xapu/xapu_members)


## Related topics

- [XApuEnqueueCommand](/reference/audio/xapu/functions/xapuenqueuecommand.md)
- [XApuCommandType](/reference/audio/xapu/enums/xapucommandtype.md)
