> ## 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 seule commande à 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-CA/reference/audio/xapu/functions/xapuconnect).

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

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

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

Nombre total de commandes, retourné.

### Valeur de retour

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-CA/reference/audio/xapu/enums/xapuerrors) s'il y a [XApuConnectInputParameters::maxQueuedCommandsPerStream](/fr-CA/reference/audio/xapu/structs/xapuconnectinputparameters) commandes en cours de traitement. Pour éviter cette erreur, l'appelant doit récupérer un ou plusieurs résultats au moyen de [XApuDequeueResult](/fr-CA/reference/audio/xapu/functions/xapudequeueresult). Cet appel est thread-safe, c'est-à-dire qu'il est possible de soumettre des commandes à partir de plusieurs threads; toutefois, l'appeler à partir de plusieurs threads n'offre aucun avantage en matière de performances.

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

Si le serveur matériel est dans un état incorrect, [XApuEnqueueCommand](/fr-CA/reference/audio/xapu/functions/xapuenqueuecommand) retourne le code d'erreur [XAPU\_E\_DEVICE\_FATAL\_ERROR](/fr-CA/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-CA/reference/audio/xapu/enums/xapucommandtype) au type de struct qui doit être transmis à **XApuEnqueueCommand** :

| XApuCommandType | Type de struct |
| - | - |
| XApuCommandType::Activate | [XApuDecodeConvertActivateCommand](/fr-CA/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) |
| XApuCommandType::Deactivate | [XApuCommandId](/fr-CA/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Process | [XApuDecodeConvertCommand](/fr-CA/reference/audio/xapu/structs/xapudecodeconvertcommand) |
| XApuCommandType::Notify | [XApuCommandId](/fr-CA/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Reset | [XApuCommandId](/fr-CA/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-CA/reference/audio/xapu/xapu_members)


## Related topics

- [XApuEnqueueCommand](/reference/audio/xapu/functions/xapuenqueuecommand.md)
- [XApuCommandType](/reference/audio/xapu/enums/xapucommandtype.md)
- [XApuDecodeConvertCommand](/reference/audio/xapu/structs/xapudecodeconvertcommand.md)
- [XApuDecodeConvertActivateCommand](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
