IDirectMusicPerformance8::GetParam
The GetParam method retrieves data from a track inside the control segment.
Syntax
HRESULT GetParam(
REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
MUSIC_TIME mtTime,
MUSIC_TIME* pmtNext,
void* pParam
);
Parameters
rguidType
Reference to (C++) or address of (C) the identifier of the type of data to retrieve. See Standard Track Parameters.
dwGroupBits
Group of the track from which to retrieve the data (see Remarks). Set this value to 0xFFFFFFFF for all groups.
dwIndex
Index of the track in the group from which to retrieve the data, or DMUS_SEG_ANYTRACK to find the first track that contains the parameter.
mtTime
Time from which to retrieve the data, in performance time.
pmtNext
Address of a variable that receives the time (relative to mtTime) until which the data is valid. If this returns a value of 0, either the data is always valid, or it is not known when it might become invalid. If this information is not needed, pmtNext can be set to NULL. See Remarks.
pParam
Address of an allocated structure in which the data is to be returned. The structure must be of the appropriate kind and size for the data type identified by rguidType.
Return Values
If the method succeeds, the return value is S_OK.
If it fails, the method can return one of the error values shown in the following table.
Return code |
DMUS_E_GET_UNSUPPORTED |
DMUS_E_NO_MASTER_CLOCK |
DMUS_E_NOT_FOUND |
DMUS_E_TRACK_NOT_FOUND |
E_POINTER |
Remarks
Normally, the primary segment is the control segment. However, a secondary segment can be designated as a control segment when it is played.
The data returned in *pParam can become invalid before the time returned in *pmtNext if another control segment is cued.
Each track belongs to one or more groups, and each group is represented by a bit in dwGroupBits. For more information, see IDirectMusicSegment8::InsertTrack and Identifying the Track.
Requirements
** Header:** Dmusici.h
Library: Dmime.dll, Dmimed.dll
See Also