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

Envia um único comando para a fila de comandos do XAPU.

## Sintaxe

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

### Parâmetros

*handle*   \_In\_\
Tipo: XApuHandle

Identificador retornado pela chamada de [XApuConnect](/pt-BR/reference/audio/xapu/functions/xapuconnect).

*command*   \_In\_\
Tipo: [XApuCommandId\*](/pt-BR/reference/audio/xapu/structs/xapucommandid)

Comando a ser enviado para a fila de entrada do XAPU.

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

Contagem total de comandos, retornada.

### Valor retornado

Tipo: HRESULT

Retornará S\_OK se tiver êxito; caso contrário, retornará um código de erro.

## Comentários

Essa chamada é rápida, pois não aloca recursos nem processa dados; ela apenas envia o comando ao servidor de hardware. Essa chamada retornará [XAPU\_E\_QUEUE\_FULL](/pt-BR/reference/audio/xapu/enums/xapuerrors) se houver [XApuConnectInputParameters::maxQueuedCommandsPerStream](/pt-BR/reference/audio/xapu/structs/xapuconnectinputparameters) comandos em processamento. Para evitar esse erro, o chamador deve recuperar um ou mais resultados por meio de [XApuDequeueResult](/pt-BR/reference/audio/xapu/functions/xapudequeueresult). Essa chamada é thread-safe, ou seja, é possível enviar comandos de vários threads; no entanto, não há vantagem de desempenho em chamá-la de mais de um thread.

Essa chamada também recebe um ponteiro para uint32\_t para retornar o *totalCommandCount* da sessão atual. Esse número representa o total de comandos que foram enviados com êxito desde o início da sessão e após a chamada de [XApuConnect](/pt-BR/reference/audio/xapu/functions/xapuconnect). Esse número não volta a zero.

Se o servidor de hardware estiver em um estado inválido, [XApuEnqueueCommand](/pt-BR/reference/audio/xapu/functions/xapuenqueuecommand) retornará o código de erro [XAPU\_E\_DEVICE\_FATAL\_ERROR](/pt-BR/reference/audio/xapu/enums/xapuerrors). Nesse caso, todos os clientes XAPU devem ser desconectados e reconectados.

Se esse método falhar, um código de erro descritivo será retornado.

A tabela a seguir mapeia cada [XApuCommandType](/pt-BR/reference/audio/xapu/enums/xapucommandtype) para o tipo de struct que deve ser passado para **XApuEnqueueCommand**:

| XApuCommandType | Tipo de struct |
| - | - |
| XApuCommandType::Activate | [XApuDecodeConvertActivateCommand](/pt-BR/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) |
| XApuCommandType::Deactivate | [XApuCommandId](/pt-BR/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Process | [XApuDecodeConvertCommand](/pt-BR/reference/audio/xapu/structs/xapudecodeconvertcommand) |
| XApuCommandType::Notify | [XApuCommandId](/pt-BR/reference/audio/xapu/structs/xapucommandid) |
| XApuCommandType::Reset | [XApuCommandId](/pt-BR/reference/audio/xapu/structs/xapucommandid) |

## Requisitos

**Cabeçalho:** xapu.h

**Biblioteca:** xapu.lib

**Plataformas compatíveis:** XBOX Series X|S

## Confira também

[XAPU](/pt-BR/reference/audio/xapu/xapu_members)


## Related topics

- [XApuCommandType](/pt-BR/reference/audio/xapu/enums/xapucommandtype.md)
- [XApuDecodeConvertCommand](/pt-BR/reference/audio/xapu/structs/xapudecodeconvertcommand.md)
- [XApuDecodeConvertActivateCommand](/pt-BR/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
- [XApuConnect](/pt-BR/reference/audio/xapu/functions/xapuconnect.md)
- [XApuDequeueResult](/pt-BR/reference/audio/xapu/functions/xapudequeueresult.md)
