IAudioOutputEndpointRT::ReleaseOutputDataPointer メソッド (audioengineendpoint.h)
ReleaseOutputDataPointer メソッドは、出力バッファーへのポインターを解放します。
構文
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
パラメーター
[in] pConnectionProperty
APO_CONNECTION_PROPERTY構造体へのポインター。 構造体の値は変更しないでください。 呼び出し元は、次のようにメンバーを設定します。
- pBuffer は、 IAudioOutputEndpointRT::GetOutputDataPointer メソッドによって返される出力データ バッファーへのポインターに設定されます。
- u32ValidFrameCount は、オーディオ エンジンによって生成されたフレームの実際の数に設定されます。 この値は、GetOutputDataPointer メソッドの u32FrameCount パラメーターで渡されるフレーム数と同じでない場合があります。
- pBuffer メンバーが指す出力バッファーに有効なデータが含まれている場合、u32BufferFlags は BUFFER_VALID に設定されます。 出力バッファーにサイレント データのみが含まれている場合、u32BufferFlags は BUFFER_SILENT に設定されます。 バッファー内のデータは実際には無音である必要はありませんが、 pBuffer メンバーで指定されたバッファーは、 u32ValidFrameCount メンバーに含まれるすべての無音フレームを保持できる必要があります。 したがって、 BUFFER_SILENT が指定されている場合、エンドポイントは出力バッファーに無音を書き込む必要があります。
戻り値
なし
解説
ReleaseOutputDataPointer は、オーディオ エンジンが出力バッファーにデータを書き込むタスクを完了し、データ ポインターが不要になったことをエンドポイントに通知します。 このメソッドは、出力バッファー内のオーディオ サンプルに対応する時間、オーディオ エンジンによって生成されたフレームの数、バッファーが有効なデータまたは無音データでいっぱいかどうかなどの情報も中継します。 この情報に基づいて、ループされたバッファーを表し、オーディオ エンジンの出力に接続されているエンドポイントは、バッファー内の書き込み位置を進めることができます。 GetOutputDataPointer メソッドの u32FrameCount パラメーターの値 0 は、オーディオ エンジンが出力バッファーに有効なデータを書き込まなかったことを示します。 u32FrameCount パラメーターの値は、GetOutputDataPointer で指定されたフレーム数以下である必要があります。 エンドポイントは、 GetOutputDataPointer によって要求されたすべてのデータが実際に生成されたと想定することはできません。
このメソッドは、リアルタイム処理スレッドから呼び出すことができます。 このメソッドの実装では、ページングされたメモリをブロックしたり、ページ メモリにアクセスしたり、ブロックしているシステム ルーチンを呼び出したりすることはできません。
リモート デスクトップ サービス AudioEndpoint API は、リモート デスクトップ シナリオで使用されます。クライアント アプリケーション用ではありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 |
サポートされている最小のサーバー | Windows Server 2008 R2 |
対象プラットフォーム | Windows |
ヘッダー | audioengineendpoint.h |