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

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

## 構文

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

### パラメーター

*handle*   \_In\_\
型: XApuHandle

[XApuConnect](/reference/audio/xapu/functions/xapuconnect) の呼び出しによって返されたハンドル。

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

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

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

返される総コマンド数。

### 戻り値

型: HRESULT

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

## 解説

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

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

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

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

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

| XApuCommandType             | 構造体の種類                                                                                             |
| --------------------------- | -------------------------------------------------------------------------------------------------- |
| XApuCommandType::Activate   | [XApuDecodeConvertActivateCommand](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) |
| XApuCommandType::Deactivate | [XApuCommandId](/reference/audio/xapu/structs/xapucommandid)                                       |
| XApuCommandType::Process    | [XApuDecodeConvertCommand](/reference/audio/xapu/structs/xapudecodeconvertcommand)                 |
| XApuCommandType::Notify     | [XApuCommandId](/reference/audio/xapu/structs/xapucommandid)                                       |
| XApuCommandType::Reset      | [XApuCommandId](/reference/audio/xapu/structs/xapucommandid)                                       |

## 要件

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

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

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

## 関連項目

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


## Related topics

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