マルチユニットの転送サンプル

1998. 9.29更新

サンプルについて

 このサンプルは出来るだけマルチユニットのダウンロードを行うサンプルです.

サンプルの流れ

 ワークメモリに既に読み込まれているマルチユニットファイルをサウンドメモリにダウンロードするためのサンプルです.

 処理の流れとしては

  1. メモリブロックハンドルの取得sdMemBlkCreate

  2. メモリブロックハンドルにパラメータを設定sdMemBlkSetPrm

  3. マルチユニットのダウンロードsdMultiUnitDownload

  4. メモリブロックハンドルの破棄sdMemBlkDestory

となります.

注意点


実際のコーディング

 実際のコーディングを下記に提示します.なお,このサンプルは理解のしやすさを優先するためにエラーチェックをかなり省いています.

マルチユニットのダウンロードのサンプル
/*********************************************************
*
* Sound Library Sample
*
* ワークメモリにあるマルチユニットをダウンロードします.
*
*********************************************************/


#include <sd_sg.h>

SDE_ERR MultiUnitDownload( Void *src_ptr)
{
SDE_ERR result = SDE_ERR_NOTHING;
SDMEMBLK memblk = NULL;

if ( ( result = sdMemBlkCreate( &memblk)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}

/* 第二引数のブロックサイズはsdMultiUnitDownloadでは実際には使用しません */
if ( ( result = sdMemBlkSetPrm( memblk, src_ptr, 0, SDD_MEMBLK_SYNC_FUNC, NULL)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}

/* ダウンロード */
if ( ( result = sdMultiUnitDownload( memblk)) != SDE_ERR_NOTHING)
{
/* エラーが起こった */
goto exit;
}

exit:
if ( memblk != NULL)
{
result = sdMemBlkDestory( memblk);
}
return ( result);
}

/*EOF*/