IXAudio2::Release メソッド

XAudio2 オブジェクトへの参照を解放します。

構文

ULONG Release()

戻り値

常に 0 です。

解説 

最後の Release が特定の XAudio2 オブジェクトで呼び出されると、これに関連付けられているすべてのボイス オブジェクトが破棄されます。クライアントがまだ保持しているこれらのオブジェクトへのポインターは、直ちに無効になります。これらに対して呼び出しを行うと、未定義の動作が発生します。オーディオ処理エンジンも停止します。これは、Release が返された後、クライアントがグラフによって参照されているデータ (オーディオ ソース バッファーやコールバック処理オブジェクトなど) を安全に解放できるようにするためです。

Release は同期呼び出しです。(処理ロックが有効になっていて) 障害が起きることのないときには、XAudio2 コールバックでこのメソッドを呼び出すことにより、タイトルでスレッドの待ち時間が発生するのを回避できます。

コールバック内からの Release の呼び出しは無効です。コールバック内から Release を呼び出すと、XAUDIO2_E_INVALID_CALL が返されます。

要件

ヘッダー: xaudio2.h で宣言されています。

関連項目

IXAudio2