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のロック状態を調べる