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

# IAcpHal::Connect

> IAcpHal::Connect

# IAcpHal::Connect

ACP に接続します。

## 構文

```cpp theme={null}
HRESULT Connect(  
         UINT32 numCommands,  
         UINT32 numMessages  
)  
```

### パラメーター

*numCommands*   \
型: UINT32

ACP コマンド キューに割り当てるコマンド数を指定します。この値は 0 より大きく、2.67 ミリ秒のオーディオ フレームごとに発行されるコマンド数を処理できるだけの大きさである必要があります。

*numMessages*   \
型: UINT32

ACP メッセージ キューに割り当てるメッセージ数を指定します。タイトルが受信したメッセージを処理しない場合、この値は 0 でもかまいません。*コマンド完了* メッセージ ([ACP\_MESSAGE\_TYPE](/reference/audio/acphal/enums/acp_message_type) を参照) に登録している場合、少なくともコマンド数と同数のメッセージが存在します。通常、このメッセージ キューはオーディオ フレームごとよりも少ない頻度で処理されるため、複数フレーム分のメッセージを見込んで計画してください。

### 戻り値

型: HRESULT

メソッドが成功した場合は `S_OK` を返します。失敗した場合は、次のいずれかのコードを返します (一部のみ)。

| 戻り値コード                     | 説明                                                  |
| -------------------------- | --------------------------------------------------- |
| E\_INVALIDARG              | 1 つ以上の引数が無効であるか、パラメーター *numCommands* が 0 に設定されています。 |
| E\_OUTOFMEMORY             | メモリ割り当てに失敗しました。                                     |
| ACP\_E\_ALREADY\_CONNECTED | 既に ACP に接続されています。                                   |
| E\_UNEXPECTED              | 予期しないエラーが発生しました。                                    |
| ACP\_E\_QUEUE\_FULL        | ACP キューが満杯です。                                       |
| E\_TIMEOUT                 | タイムアウト エラーが発生しました。                                  |

## 解説

このインターフェイスの他のメソッドを呼び出す前に、このメソッドを呼び出します。ただし、[Disconnect](/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect) を呼び出した後は、このメソッドを再度呼び出すことができます。[SubmitCommand](/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand) も参照してください。

`E_INVALIDARG` または `ACP_E_ALREADY_CONNECTED` 以外のエラーでメソッドが失敗した場合、既存の **すべての** ACP クライアント オブジェクトを破棄し、[AcpHalReleaseShapeContexts](/reference/audio/acphal/functions/acphalreleaseshapecontexts) を使用して割り当て済みの SHAPE コンテキストを解放することを推奨します。新しい SHAPE コンテキストと ACP クライアント オブジェクトは、必要に応じてそれぞれ [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts) と [AcpHalCreate](/reference/audio/acphal/functions/acphalcreate) を使用して再度割り当て/作成してください。

## 要件

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

**サポート対象プラットフォーム:** XBOX One ファミリー本体、XBOX Series 本体

## 関連項目

[Disconnect](/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect)\
[AcpHal](/reference/audio/acphal/acphal_members)


## Related topics

- [IAcpHal](/ja-jp/reference/audio/acphal/interfaces/IAcpHal/iacphal.md)
- [IAcpHal::Disconnect](/ja-jp/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect.md)
- [IAcpHal::PopMessage](/ja-jp/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_popmessage.md)
- [IAcpHal::SubmitCommand](/ja-jp/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand.md)
- [IAcpHal::GetNumMessages](/ja-jp/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_getnummessages.md)
