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

# XApuConnect

> XApuConnect

# XApuConnect

Audio Processing Unit (XAPU) への接続を確立し、必要なリソースを割り当てます。

## 構文

```cpp theme={null}
HRESULT XApuConnect(  
         XApuConnectInputParameters* params,  
         XApuConnectOutputParameters* data,  
         XApuHandle* handle  
)  
```

### パラメーター

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

リソースを割り当てるために XApuConnect に渡すパラメーター。

*data*   \_Out\_\
型: [XApuConnectOutputParameters\*](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectoutputparameters.md)

XApuConnect によって返されるパラメーター。

*handle*   \_Outptr\_\
型: XApuHandle\*

返される XAPU ハンドルへのポインター。このハンドルは、他の XAPU API を呼び出すときにどの XAPU インスタンスを操作するかを示すために使用されます。

### 戻り値

型: HRESULT

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

## 解説

呼び出し側は、XAPU クライアントが実行する [XApuProcessType](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapuprocesstype.md) を指定する必要があります。XAPU のインスタンスは、その存続期間中に 1 種類のプロセスを扱うことができます。2 種類以上の異なる処理を実行するには、2 つ以上の XAPU インスタンスをインスタンス化する必要があります。

[XApuConnectInputParameters](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectinputparameters.md) の内部で、呼び出し側は次の項目を指定する必要があります。

* XAPU が同時に処理することが想定されるストリームの最大数。
* 各ストリームでキューに入るコマンドの最大数。
* すべてのコマンドおよびストリームで必要な合計メモリ割り当て量。これは、ストリームあたりのキュー内コマンド数と最大ストリーム数を掛けた分の、入力、出力、および処理データに対する総割り当てを含みます。

呼び出しが成功すると、[XApuConnectOutputParameters::baseData](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectoutputparameters.md) パラメーターは、呼び出し側がストリームの入力データを渡し、出力データを取得するために使用するメモリ ブロックを指します。このメモリ ブロックの分割と再利用は呼び出し側の責任です。この割り当ては [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md) 呼び出し時に解放されます。

[XApuConnectOptions::EnableResultReadyEvent](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapuconnectoptions.md) が設定されている場合、[XApuConnectOutputParameters::resultReadyEvent](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectoutputparameters.md) は有効な Win32 イベント ハンドルを含みます。このハンドルは [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md) 呼び出し時に閉じられます。

このハンドルは [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md) 呼び出し時に閉じられます。

ストリームを開始および停止するために [XapuConnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuconnect.md) と [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md) を頻繁に呼び出すことはお勧めしません。これらの呼び出しは時間がかかり、メモリの断片化によりリソース損失を引き起こす可能性もあるためです。代わりに、[XapuConnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuconnect.md) はストリーミング セッションの初期化時に一度だけ呼び出し、ストリーミング中のストリームの開始と停止には [XApuCommandType::Activate](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapucommandtype.md) と [XApuCommandType::Deactivate](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapucommandtype.md) を使用する必要があります。ストリーミング セッションの終了時には [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md) を呼び出す必要があります。これはすべての XAPU クライアントに当てはまります。

## 要件

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

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

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

## 概念ドキュメント

* [XAPU の概要](https://docs.xbox.com/ja-jp/build/console-features/audio/overviews/xapu-overview.md)

## 関連項目

[XAPU](https://docs.xbox.com/ja-jp/reference/audio/xapu/xapu_members.md)\
[XApuDecodeConvertCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapudecodeconvertcommand.md)\
[XApuDequeueResult](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudequeueresult.md)\
[XApuEnqueueCommand](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapuenqueuecommand.md)\
[XApuGetResultCount](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapugetresultcount.md)


## Related topics

- [XApuConnectOptions](https://docs.xbox.com/ja-jp/reference/audio/xapu/enums/xapuconnectoptions.md)
- [XApuConnectOutputParameters](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectoutputparameters.md)
- [XApuConnectInputParameters](https://docs.xbox.com/ja-jp/reference/audio/xapu/structs/xapuconnectinputparameters.md)
- [XApuDisconnect](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudisconnect.md)
- [XApuDequeueResult](https://docs.xbox.com/ja-jp/reference/audio/xapu/functions/xapudequeueresult.md)
