Microsoft DirectX 8.0 (C++)

IDirectMusicTrack8::InitPlay

トラックが演奏を開始する準備ができたときに呼び出される。このメソッドは、状態データへのポインタを返す。

HRESULT InitPlay(
  IDirectMusicSegmentState* pSegmentState,
  IDirectMusicPerformance* pPerformance,
  void** ppStateData,
  DWORD dwVirtualTrackID,
  DWORD dwFlags
);

パラメータ

pSegmentState
呼び出し元の IDirectMusicSegmentState または IDirectMusicSegmentState8 インターフェイスのアドレス。
pPerformance
呼び出し元の IDirectMusicPerformance または IDirectMusicPerformance8 インターフェイスのアドレス。
ppStateData
状態情報へのポインタを受け取るための変数のアドレス。データのフォーマットと使用方法は、トラックに固有である。データは InitPlay メソッドで作成し、IDirectMusicTrack8::EndPlay メソッドで解放しなければならない。ポインタは、IDirectMusicTrack8::Play メソッドと IDirectMusicTrack8::PlayEx メソッドに渡される。
dwVirtualTrackID
このトラック インスタンスに割り当てられた仮想トラック ID。
dwFlags
トラックの動作を制御する DMUS_SEGF_FLAGS。「注意」を参照すること。

戻り値

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

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

DMUS_E_NOT_INIT
E_OUTOFMEMORY
E_POINTER

注意

dwFlags パラメータは、IDirectMusicPerformance8::PlaySegment または IDirectMusicPerformance8::PlaySegmentEx の呼び出しでパフォーマンスに渡されたフラグを渡す。トラックは、DMUS_SEGF_CONTROL と DMUS_SEGF_SECONDARY の各フラグに基づいて、その実行方法を決定する。たとえば、テンポ トラックは、それ自体がプライマリ セグメントまたはセカンダリ制御セグメントのパートである場合に限り、テンポの変更を自動的に演奏する (DMUS_SEGF_SECONDARY が設定されていない、または DMUS_SEGF_CONTROL が設定されている)。

トラックは ppStateData で NULL を返す場合がある。

動作環境

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