IDirectMusicPerformance::GetSegmentState

The IDirectMusicPerformance::GetSegmentState method retrieves the currently playing primary segment state, or the primary segment state that is playing at a given time.

HRESULT GetSegmentState(
  IDirectMusicSegmentState ** ppSegmentState, 
  MUSIC_TIME mtTime
);
 

Parameters

ppSegmentState
Address of a variable to receive a pointer to the segment state. The caller is responsible for calling Release on this pointer.
mtTime
Time for which the segment state is to be retrieved; that is, the segment state that will be playing at this time is to be returned. To get the currently playing segment state, pass the time retrieved by using the IDirectMusicPerformance::GetTime method.

Return Values

If the method succeeds, the return value is S_OK.

If it fails, the method may return one of the following error values:

DMUS_E_NOT_FOUND
E_POINTER

Remarks

This function is intended for routines that need to access the currently playing segment state, for example to obtain the chord or command track. "Currently playing" in this context means that it is being called into to perform messages. Because of latency, the currently playing segment state is not necessarily the one actually being heard.

QuickInfo

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusici.h.