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

# XApuEnqueueCommand

> XApuEnqueueCommand

# XApuEnqueueCommand

XAPU コマンド キューに 1 つのコマンドを送信します。

## 構文

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

### パラメーター

*handle*   \_In\_\
型: XApuHandle

[XApuConnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuconnect.md) の呼び出しによって返されたハンドル。

*command*   \_In\_\
型: [XApuCommandId\*](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapucommandid.md)

XAPU 入力キューに送信するコマンド。

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

返される総コマンド数。

### 戻り値

型: HRESULT

成功した場合は S\_OK を返します。それ以外の場合はエラー コードを返します。

## 解説

この呼び出しはリソースの割り当てやデータの処理を行わず、単にコマンドをハードウェア サーバーに送信するだけであるため、高速に動作します。処理中のコマンドが [XApuConnectInputParameters::maxQueuedCommandsPerStream](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectinputparameters.md) に達している場合、この呼び出しは [XAPU\_E\_QUEUE\_FULL](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapuerrors.md) を返します。このエラーを避けるためには、呼び出し側は [XApuDequeueResult](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudequeueresult.md) を通じて 1 つ以上の結果を取得する必要があります。この呼び出しはスレッド セーフです。つまり、複数のスレッドからコマンドを送信することが可能ですが、複数のスレッドから呼び出してもパフォーマンス上の利点はありません。

この呼び出しは、現在のセッションの *totalCommandCount* を返すために uint32\_t へのポインターも受け取ります。この数値は、セッション開始後および [XApuConnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuconnect.md) の呼び出し後に正常に送信された総コマンド数を表します。この数値はゼロに戻りません。

ハードウェア サーバーが異常な状態にある場合、[XApuEnqueueCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuenqueuecommand.md) は [XAPU\_E\_DEVICE\_FATAL\_ERROR](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapuerrors.md) エラー コードを返します。この場合、すべての XAPU クライアントを切断し、再接続する必要があります。

このメソッドが失敗した場合、詳細を示すエラー コードが返されます。

次の表は、各 [XApuCommandType](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapucommandtype.md) と、**XApuEnqueueCommand** に渡す必要がある構造体の種類を対応付けたものです。

| XApuCommandType | 構造体の種類 |
| - | - |
| XApuCommandType::Activate | [XApuDecodeConvertActivateCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md) |
| XApuCommandType::Deactivate | [XApuCommandId](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapucommandid.md) |
| XApuCommandType::Process | [XApuDecodeConvertCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapudecodeconvertcommand.md) |
| XApuCommandType::Notify | [XApuCommandId](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapucommandid.md) |
| XApuCommandType::Reset | [XApuCommandId](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapucommandid.md) |

## 要件

**ヘッダー:** xapu.h

**ライブラリ:** xapu.lib

**サポートされているプラットフォーム:** XBOX Series X|S

## 関連項目

[XAPU](https://docs.xbox.com/ja-jp/reference/audio/xapu/xapu_members.md)


## Related topics

- [XApuCommandType](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapucommandtype.md)
- [XApuDecodeConvertCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapudecodeconvertcommand.md)
- [XApuDecodeConvertActivateCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
- [XApuConnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuconnect.md)
- [XApuDequeueResult](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudequeueresult.md)
