Following describes the files and routines included in the IBMCDRT.DLL.
CDMCINIT.C File
See table in previous section.
CDMCCOMN.C File
See table in previous section.
HHPHEAP.C File
See table in previous section.
IBMCDROM.C
This module includes the entry point for the DLL. It contains the device dependent code for a specific CD-ROM drive.
┌─────────────────────────┬───────────────────────────────────┐ │Procedure │Description │ ├─────────────────────────┼───────────────────────────────────┤ │vsdDriverEntry │Specifies the entry point to the │ │ │VSD from the MCD. │ ├─────────────────────────┼───────────────────────────────────┤ │process_msg │Processes the requested command │ │ │message. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudClose │Error recovery routine. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudErrRecov │Closes an instance. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudInfo │Returns information about the │ │ │component. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudOpen │Opens an instance. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudRegDisc │Registers a disc for the logical │ │ │device. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudRegDrive │Registers a drive for the calling │ │ │MCD. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudSet │Sets various attributes of the │ │ │device. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudSetVerify │Tests flags for the SET command. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudStatus │Returns the requested attribute. │ ├─────────────────────────┼───────────────────────────────────┤ │CDAudStatCVol │Returns mapped component volume │ │ │levels. │ └─────────────────────────┴───────────────────────────────────┘
This module processes hardware requests.
┌─────────────────────────┬───────────────────────────────────┐ │Procedure │Description │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Cue │Prerolls a drive. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_CuePoint │Sets up a cue point. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetCaps │Gets device capabilities. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetDiscInfo │Gets status information of the │ │ │disc. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetID │Gets the CD ID from the disc. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetPosition │Gets the position of the head. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetState │Gets the state of the device. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetTOC │Returns the table of contents │ │ │(MMTOC form). │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_GetVolume │Gets the volume settings of the │ │ │drive. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_LockDoor │Locks or unlocks the drive door. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Open │Opens the specified device or │ │ │drive. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Play │Initiates a play operation. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_PlayCont │Continues a play operation. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_PosAdvise │Sets up a position advise command. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_RegTracks │Registers tracks on the disc. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Restore │Restores the saved instance. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Resume │Unpauses a CD play operation. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Save │Saves the current instance. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Seek │Seeks to a particular redbook │ │ │address. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_SetVolume │Sets the volume of the drive. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Stop │Stops a CD play operation. │ └─────────────────────────┴───────────────────────────────────┘
This module processes miscellaneous functions such as the timer routine for the play command, identify the drive, and package the IOCtl calls.
┌─────────────────────────┬───────────────────────────────────┐ │Procedure │Description │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_StartPlay │Starts the play operation. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Sync │Sync to MDM request. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Timer │Timer routine for play operation. │ ├─────────────────────────┼───────────────────────────────────┤ │CD01_Timernotify │Timer routine to setup/notify │ │ │events. │ ├─────────────────────────┼───────────────────────────────────┤ │GetTableName │Gets the CD table full path name. │ ├─────────────────────────┼───────────────────────────────────┤ │OpenFirstTime │First time device open tests. │ ├─────────────────────────┼───────────────────────────────────┤ │QueryTable │Queries the CD look-up table. │ ├─────────────────────────┼───────────────────────────────────┤ │CallIOCtl │Calls the hardware by way of │ │ │IOCtls. │ └─────────────────────────┴───────────────────────────────────┘