Microsoft DirectX 8.0 (C++)

IDirectMusicBuffer8::PackStructured

固定長データ (通常は MIDI チャンネル メッセージ) を、タイミング情報およびルーティング情報と共にバッファ内に挿入する。

HRESULT PackStructured(
  REFERENCE_TIME rt,
  DWORD dwChannelGroup,
  DWORD dwChannelMessage
);

パラメータ

rt
メッセージの絶対タイム。「注意」を参照すること。
dwChannelGroup
データが所属するチャンネル グループ。
dwChannelMessage
パックすべきデータ (MIDI メッセージ)。

戻り値

成功した場合は S_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

DMUS_E_INVALID_EVENT
E_OUTOFMEMORY

注意

バッファ内に少なくとも 32 バイト (DMUS_EVENTHEADERdwChannelMessage の合計サイズ) の空きが存在しなければならない。

rt パラメータには、データがポートに送信される絶対タイムを設定する必要がある。メッセージを即座に演奏するには、遅延時間クロックからこのタイムを取得し、rt として使用する。「IDirectMusicPort8::GetLatencyClock」を参照すること。

同じタイムのスタンプが付いたメッセージは、バッファ内に置かれた順序と同じ順序で演奏されるとは限らない。

動作環境

  ヘッダー : dmusicc.h で宣言。

参照

IDirectMusicBuffer8::PackUnstructured