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

# XApuConnect

> XApuConnect

# XApuConnect

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

## 構文

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

### パラメーター

*params*   \_In\_\
型: [XApuConnectInputParameters\*](/reference/audio/xapu/structs/xapuconnectinputparameters)

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

*data*   \_Out\_\
型: [XApuConnectOutputParameters\*](/reference/audio/xapu/structs/xapuconnectoutputparameters)

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

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

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

### 戻り値

型: HRESULT

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

## 解説

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

[XApuConnectInputParameters](/reference/audio/xapu/structs/xapuconnectinputparameters) の内部で、呼び出し側は次の項目を指定する必要があります。

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

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

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

このハンドルは [XApuDisconnect](/reference/audio/xapu/functions/xapudisconnect) 呼び出し時に閉じられます。

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

## 要件

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

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

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

## 概念ドキュメント

* [XAPU の概要](/build/console-features/audio/overviews/xapu-overview)

## 関連項目

[XAPU](/reference/audio/xapu/xapu_members)\
[XApuDecodeConvertCommand](/reference/audio/xapu/structs/xapudecodeconvertcommand)\
[XApuDequeueResult](/reference/audio/xapu/functions/xapudequeueresult)\
[XApuEnqueueCommand](/reference/audio/xapu/functions/xapuenqueuecommand)\
[XApuGetResultCount](/reference/audio/xapu/functions/xapugetresultcount)


## Related topics

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