The MMMULTITRACKREAD structure contains the following parameters:
The track map list is a list of valid track numbers for the current file and is used to map a track to a record table. Each track map list contains:
Each element of the record table contains a pointer to (pBuffer) and the length (ulLength) of the corresponding data in the buffer.
For example, if the number of track entries is two, the track map list will contain two track map tables, one for each track. There is a corresponding record table for each track. The number of entries in the track map table for each track is the number of entries in the record table for a particular track. The following figure illustrates the multitrack read data structure.
MMMULTITRACKREAD pBuffer ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ulLength ÃÄÙ TRACKMAP RECORDTAB ³ ³ pBuffer ³ TABLE AUDIO ³ ³ ulFlags ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ ¿ ³ ulNumTracks ³ ³ ulTrackID ³ ³ pRecord 1 ÃÄÄÄÄ Audio ³ ³ ³ pTrackMapList ÃÄÄ ulNumEntries ÃÄÄ ulLength ³ ³ Data 1 ³ ³ ³ ³ ³ pRecordTabList³ ³ ulParm1 ³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ulParm2 ³ ÚÄÄ Video ³ ³ ³ ulBufferLength³ ³ ulTrackID ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ Data 1 ³ ³ ³(extended mode)³ ³ ulNumEntries ÿ ³ . 2 ³ ³ ÃÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ pRecordTabList³³ ³ . ÃÄÅÄÄ Audio ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ ³ . ³ ³ ³ Data 2 ³ ³ ³ . ³³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ . ³³ RECORDTAB ³ ³ Video ³ ³ ³ . ³³ VIDEO ³ÚÄ Data 2 ³ ³ ulLength ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ ³ pRecord 1 ³ ³³ ³ . ³ ³ ÀÄ ulLength ÃÄÙ³ ³ . ³ ³ ³ ulParm1 ³ ³ ³ . ³ ³ ³ ulParm2 ³ ³ ÃÄÄÄÄÄÄÄÄ´ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ³ . 2 ÃÄÄÙ ³ ³ ³ ³ . ³ ³ ³ ³ ³ . ³ ÃÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ³ ³ ³ ³ ³ MMMULTITRACKREAD pBuffer ÃÄÄÄÄÄÄÄÄ´ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ulLength ÃÄÙ TRACKMAP RECORDTAB ³ ³ ³ ³ ³ pBuffer ³ TABLE AUDIO ³ ³ ³ Ù ³ ulFlags ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÀÄÃÄÄÄÄÄÄÄÄ´ ¿ ³ ulNumTracks ³ ³ ulTrackID ³ ³ pRecord 1 ÃÄÄÄÄ Audio ³ ³ ³ pTrackMapList ÃÄÄ ulNumEntries ÃÄÄ ulLength ³ ³ Data 1 ³ ³ ³ ³ ³ pRecordTabList³ ³ ulParm1 ³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ulParm2 ³ ÚÄÄ Video ³ ³ ³ ulBufferLength³ ³ ulTrackID ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ Data 1 ³ ³ ³(extended mode)³ ³ ulNumEntries ÿ ³ . 2 ³ ³ ÃÄÄÄÄÄÄÄÄ´ ³ ulLength ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ pRecordTabList³³ ³ . ÃÄÅÄÄ Audio ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´³ ³ . ³ ³ ³ Data 2 ³ ³ ³ . ³³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ . ³³ RECORDTAB ³ ³ Video ³ ³ ³ . ³³ VIDEO ³ÚÄ Data 2 ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³³ ÃÄÄÄÄÄÄÄÄ´ ³ ³ ³ pRecord 1 ³ ³³ ³ . ³ ³ ÀÄ ulLength ÃÄÙ³ ³ . ³ ³ ³ ulParm1 ³ ³ ³ . ³ ³ ³ ulParm2 ³ ³ ÀÄÄÄÄÄÄÄÄÙ Ù ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ . 2 ÃÄÄÙ ³ . ³ ³ . ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ