ピストンコラージュのpttuneファイルについての質問なんですが、
pxtone.dllを使ってゲーム中で鳴らすpttuneファイルの再生回数や開始位置を制御したいのです。
そのために曲の現在再生時間(現在再生サンプル)を取得、または再生時間を予め決めて処理しようと思っています。
調べて考えた結果
1:pxtone_Tune_Load()でpttuneファイルを読み込み、
 pxtone_Tune_Start()で再生バッファ取得開始位置から再生後
 pxtone_Tune_Vomit()で必要な演奏時間分の再生バッファを取得しておく
2:適宜、取得した再生バッファをpxtone_Tune_Read()で読み込んで再生・ループを行う

という事をやってみようとしたんですが、pxtone_Tune_Vomit()の使用方法がよく分かりません。
操作の分かる方のアドバイスか、pxtone.dllの詳しいリファレンスがあるサイトの紹介をしてもらえませんか?
現在直面している問題は
・第一引数のバッファ取得アドレスに渡すポインタの型が分からない(longでは何も取得されない)
・pxtone.h内の説明にあるように、pxtone_Ready() の引数 buffer_secを0にすると書き込み違反となる
というものです。

本当はpttuneファイルを操作するのではなくptcopを編集してからpttuneにするべきと思いますが、
webで公開されたpttuneファイルなので編集不可です。どうか回答をおねがいします。

テストソース
ttp://sageuploader.vs.land.to/1upload/src/sage1_21815.zip.html

なお言語はC++、DXライブラリ使用です。