Sound Library - システム関数

sdSysHostCmdBufFlush

Sound LibraryでバッファリングされているHost Commandをフラッシングします

書式

SDE_ERR sdSysHostCmdBufFlush( mode )
const SDE_HOST_CMD_FLUSH_MODE mode

引数

mode   Host Commandの送信モード

戻り値

SDE_ERR_NOTHING   エラーなし
SDE_ERR_NO_INIT   Sound Library が初期化されていない
SDE_ERR_PTR_NULL   modeがNULL Address;

解説

その場でHost CommandをSound Driverに送信する試みをします。

modeで設定できる値は下記の通りです

 SDE_HOST_CMD_FLUSH_MODE_NORMAL   1回だけ送信を試みます 
 SDE_HOST_CMD_FLUSH_MODE_FORCE   必ず1回送信します 
 SDE_HOST_CMD_FLUSH_MODE_FORCE_ALL   必ずバッファリングしている全てのHost Commandを送信します 

SDE_HOST_CMD_FLUSH_MODE_NORMALはSound Driverが既にHost Commandを解析中の場合は送信しませんが,その他2つは必ず送信します。SDE_HOST_CMD_FLUSH_MODE_FORCE_ALLは一度に送りきれない場合は全て送りきるまで分割して送信します。


備考

Sound DriverはHost Commandは4ms単位で(必要なら)Scanningにいきます。つまり,SDE_HOST_CMD_FLUSH_MODE_FORCEとSDE_HOST_CMD_FLUSH_MODE_FORCE_ALLはかなり長いあいだ関数から戻ってこない場合があります。

当然Host CommandがSound Libraryでバッファリングされていない場合そのまま関数を終了します。


参照

sdSysHostCmdBufIsLock()
 Sound Library・Sound Driver両方のHost Command Bufferのロック状態を調べる

sdSysHostCmdBufFlush
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000