Image Mastering API

Overview of the Image Mastering API technology.

To develop Image Mastering API, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
EmulationType Defines values for media types that the boot image is intended to emulate.
FsiFileSystems Defines values for recognized file systems.
FsiItemType Defines values for the file system item that was found using the IFileSystemImage::Exists method.
IMAPI_BURN_VERIFICATION_LEVEL Defines values for the burn verification implemented by the IBurnVerification interface.
IMAPI_CD_SECTOR_TYPE Defines the sector types that can be written to CD media.
IMAPI_CD_TRACK_DIGITAL_COPY_SETTING Defines the digital copy setting values available for a given track.
IMAPI_FEATURE_PAGE_TYPE Defines values for the feature that are supported by the logical unit (CD and DVD device).
IMAPI_FORMAT2_DATA_MEDIA_STATE Defines values for the possible media states.
IMAPI_FORMAT2_DATA_WRITE_ACTION Defines values that indicate the current state of the write operation when using the IDiscFormat2DataEventArgs interface.
IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE Defines values that indicate the type of sub-channel data.
IMAPI_FORMAT2_RAW_CD_WRITE_ACTION Defines values that indicate the current state of the write operation when using the IDiscFormat2RawCDEventArgs interface.
IMAPI_FORMAT2_TAO_WRITE_ACTION Defines values that indicate the current state of the write operation when using the IDiscFormat2TrackAtOnceEventArgs interface.
IMAPI_MEDIA_PHYSICAL_TYPE Defines values for the currently known media types supported by IMAPI.
IMAPI_MEDIA_WRITE_PROTECT_STATE Defines values that indicate the media write protect status. One or more write protect values can be set on a given drive.
IMAPI_MODE_PAGE_REQUEST_TYPE Defines values that indicate requests sent to a device using the MODE_SENSE10 MMC command.
IMAPI_MODE_PAGE_TYPE Defines values for the mode pages that are supported by CD and DVD devices.
IMAPI_PROFILE_TYPE Defines values for the possible profiles of a CD and DVD device. A profile defines the type of media and features that the device supports.
IMAPI_READ_TRACK_ADDRESS_TYPE Defines values that indicate how to interpret track addresses for the current disc profile of a randomly-writable, hardware-defect-managed media type.
PlatformId Defines values for the operating system architecture that the boot image supports.

Functions

Title Description
AcquireExclusiveAccess Acquires exclusive access to the device.
Add Adds a file or directory described by the IFsiItem object to the file system image.
AddAudioTrack Writes the data stream to the current media as a new track.
AddAudioTrackBlocks Adds blocks of audio data to the currently open track. This method can be called repeatedly until there is no space available or the track is full.
AddData Adds the contents of a root storage to the staged image file. This storage will be enumerated to place all substorages and streams in the root file system of the stage image file. Substorages become folders and streams become files.
AddDirectory Adds a directory to the file system image.
AddFile Adds a file to the file system image.
AddSpecialPregap Accepts the provided IStream object and saves the associated pointer to be used as data for the pre-gap for track 1.
AddStream Associates a named stream with a specific file in the file system image.
AddSubcodeRWGenerator Allows the addition of custom R-W subcode, provided by the IStream. The provided object must have a size equal to the number of sectors in the raw disc image * 96 bytes when the final image is created.
AddTrack Accepts the provided IStream object and saves the interface pointer as the next track in the image.
AddTree Adds the contents of a directory tree to the file system image.
AddTreeWithNamedStreams Adds the contents of a directory tree along with named streams associated with all files to the file system image.
Append Appends a stream to this stream.
Append2 Appends an array of streams to this stream.
AssignBootImage Sets the data stream that contains the boot image.
CalculateDiscIdentifier Retrieves a string that identifies a disc and the sessions recorded on the disc.
CancelAddTrack Cancels the current write operation.
CancelWrite Cancels the current write operation.
CancelWrite Cancels the current write operation.
CancelWrite Cancels a write operation that is in progress.
ChooseImageDefaults Sets the default file system types and the image size based on the current media.
ChooseImageDefaultsForMediaType Sets the default file system types and the image size based on the specified media type.
ClearFormatContent Clears the contents of an unburned image (the current stash file).
Clone Creates another enumerator that contains the same enumeration state as the current one.
Clone Creates another enumerator that contains the same enumeration state as the current one.
Close Closes the interface so other applications can use it.
Close Releases exclusive access to a disc recorder. This restores file system access to the drive.
CloseAudioTrack Closes a currently open audio track. All audio tracks must be closed before the IDiscMaster::RecordDisc method can be called.
CloseTray Closes the media tray.
CreateAudioTrack Begins staging a new audio track. It can be called only when there are no open audio tracks in the image.
CreateDirectoryItem Create a directory item with the specified name.
CreateFileItem Create a file item with the specified name.
CreateResultImage Creates the final IStream object based on the current settings.
CreateResultImage Create the result object that contains the file system and file data.
DisableMcn Disables Media Change Notification (MCN) for the device.
Eject Unlocks and ejects the tray of the disc recorder, if possible.
EjectMedia Ejects media from the device.
EnableMcn Enables Media Change Notification (MCN) for the device.
EnumDiscMasterFormats Retrieves an enumerator for all disc mastering formats supported by this disc master object. A disc master format specifies the structure of the content in a staged image file (data/audio) and the interface that manages the staged image.
EnumDiscRecorders Retrieves an enumerator for all disc recorders supported by the active disc master format.
Erase Attempts to erase the CD-RW media if this is a CD-RW disc recorder. Both full and quick erases are supported.
EraseMedia Erases the media in the active disc recorder.
Exists Checks for the existence of a given file or directory.
FileSystemName Retrieves the name of the item as modified to conform to the specified file system.
FileSystemPath Retrieves the full path of the item as modified to conform to the specified file system.
get__NewEnum Retrieves a list of the CD and DVD devices installed on the computer.
get__NewEnum Retrieves a list of child items contained within the directory in the file system image.
get__NewEnum Retrieves an IEnumVARIANT list of the named streams associated with a file in the file system image.
get__NewEnum Retrieves the list of progress items from the collection.
get_ActiveDiscRecorder Retrieves the unique identifier used to initialize the disc device.
get_AudioHasPreemphasis Retrieves the value that specifies if an audio track has an additional pre-emphasis added to the audio data.
get_BlockCount Retrieves the number of blocks in the progress item.
get_BlockRanges Returns the list of sector ranges in the form of a safe array of variants of type VT_Dispatch.
get_BlockSize Retrieves the size, in bytes, of a block of data.
get_BootImage Retrieves a pointer to the boot image data stream.
get_BootImageOptions Retrieves the boot image that you want to add to the file system image.
get_BootImageOptionsArray Retrieves the boot option array that will be utilized to generate the file system image.
get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled for CDR, CD-RW, and DVD-R media.
get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.
get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.
get_BurnVerificationLevel Retrieves the current Burn Verification Level.
get_BytesPerSector Retrieves the number of bytes to use for each sector during writing. The returned value indicates what the value previously set with IWriteEngine2::put_BytesPerSector, and does not return a current bytes per sector value for media.
get_ChangePoint Retrieves the change point identifier.
get_ClientName Retrieves the friendly name of the client.
get_ClientName Retrieves the friendly name of the client.
get_ClientName Retrieves the friendly name of the client.
get_ClientName Retrieves the friendly name of the client.
get_Count Retrieves the number of the CD and DVD disc devices installed on the computer.
get_Count Number of child items in the enumeration.
get_Count Returns the number of the named streams associated with a file in the file system image.
get_Count Retrieves the number of progress items in the collection.
get_CreateRedundantUdfMetadataFiles Retrieves a property value that specifies if the UDF Metadata will be redundant in the file system image.
get_CreationTime Retrieves the date and time that the directory or file item was created and added to the file system image.
get_CurrentAction Retrieves the current write action being performed.
get_CurrentAction Retrieves the current write action being performed.
get_CurrentAction Retrieves the current write action being performed.
get_CurrentFeaturePages Retrieves the list of feature pages of the device that are marked as current.
get_CurrentMediaStatus Retrieves the current state of the media in the device.
get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.
get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.
get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.
get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.
get_CurrentProfiles Retrieves all MMC profiles of the device that are marked as current.
get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the recorder.
get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the recorder.
get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the recorder.
get_CurrentTrackNumber Retrieves the current track number being written to the media.
get_CurrentWriteSpeed Retrieves the drive's current write speed.
get_CurrentWriteSpeed Retrieves the drive's current write speed.
get_CurrentWriteSpeed Retrieves the drive's current write speed.
get_Data Retrieves the data stream of the file's content.
get_DataSize Retrieves the number of bytes in the file.
get_DataSize32BitHigh Retrieves the most significant 32 bits of the IFsiFileItem::get_DataSize property.
get_DataSize32BitLow Retrieves the least significant 32 bits of the IFsiFileItem::get_DataSize property.
get_Description Retrieves the description in the progress item.
get_DeviceCanLoadMedia Determines if the device can eject and subsequently reload media.
get_DigitalAudioCopySetting Retrieves the value for the bit that represents the current digital audio copy setting on the resulting media. Please see the IMAPI_CD_TRACK_DIGITAL_COPY_SETTING enumeration for possible values.
get_DirectoryCount Retrieves the number of directories in the file system image.
get_DisableConsumerDvdCompatibilityMode Determines if a DVD recording session includes tasks that can increase the chance that a device can play the DVD.
get_DisableGaplessAudio Retrieves the current value that specifies if "Gapless Audio" recording is disabled. This property defaults to a value of VARIANT_FALSE, which disables the use of "gapless" recording between consecutive audio tracks.
get_DiscId Retrieves the disc volume name for this file system image.
get_DoNotFinalizeMedia Determines if the media is left open for writing after writing the audio track.
get_ElapsedTime Retrieves the total elapsed time of the write operation.
get_ElapsedTime Retrieves the total elapsed time of the write operation.
get_ElapsedTime Retrieves the total elapsed time of the write operation.
get_Emulation Retrieves the media type that the boot image is intended to emulate.
get_EndingSectorsPerSecond Retrieves the estimated number of sectors per second that the recording device can write to the media at the end of the writing process.
get_EndLba Retrieves the end sector of the range specified by the IBlockRange interface.
get_EnumFsiItems Retrieves a list of child items contained within the directory in the file system image.
get_EnumNamedStreams Creates a non-variant enumerator for the collection of the named streams associated with a file in the file system image.
get_EnumProgressItems Retrieves the list of progress items from the collection.
get_ExclusiveAccessOwner Retrieves the name of the client application that has exclusive access to the device.
get_ExpectedTableOfContents Retrieves the table of content for the audio tracks that were laid on the media within the track-writing session.
get_ExpectedTableOfContents Gets the SCSI-form table of contents for the resulting disc.
get_ExtendedSeed Retrieves an array of seed values used by the random number generator.
get_FileCount Retrieves the number of files in the file system image.
get_FileSystemsSupported Retrieves the list of file system types that a client can use to build a file system image.
get_FileSystemsToCreate Retrieves the types of file systems to create when generating the result stream.
get_FirstBlock Retrieves the first block number in this segment of the result image.
get_ForceMediaToBeClosed Determines if further additions to the file system are prevented.
get_ForceOverwrite Determines if the data writer must overwrite the disc on overwritable media types.
get_FreeMediaBlocks Retrieves the maximum number of blocks available for the image.
get_FreeSectorsOnMedia Retrieves the number of free sectors on the disc for incremental recording (without overwriting existing data).
get_FreeSectorsOnMedia Retrieves the number of sectors available for adding a new track to the media.
get_FreeSectorsOnMedia Retrieves the number of free sectors available on the media.
get_FreeSystemBuffer Retrieves the number of unused bytes in the internal data buffer that is used for writing to disc.
get_FsiNamedStreams Retrieves a collection of named streams associated with a file in the file system image.
get_FullErase Determines the quality of the disc erasure.
get_FullPath Retrieves the full path of the file or directory item in the file system image.
get_ImageSize Retrieves the size of the boot image.
get_ImageStream Retrieves the burn image stream.
get_ImportedVolumeName Retrieves the volume name provided from an imported file system.
get_ImportRecorder Retrieves the disc recorder to use to import one or more previous sessions.
get_InUse Determines if this multi-session interface is the one you should use on the current media.
get_IsFirstDataSession Determines if this session is the first data session on the media.
get_IsHidden Determines if the item's hidden attribute is set in the file system image.
get_IsNamedStream Determines if the item is a named stream.
get_ISO9660InterchangeLevel Retrieves the ISO9660 compatibility level to use when creating the result image.
get_ISO9660InterchangeLevelsSupported Retrieves the supported ISO9660 compatibility levels.
get_ISRC Retrieves the International Standard Recording Code (ISRC) currently associated with the track. This property value defaults to NULL (or a zero-length string) and may only be set for tracks containing audio data.
get_IsRealTime Retrieves the property value that specifies if a file item in the file system image is a 'Real-Time' or standard file.
get_IsSupportedEnvironment Retrieves a value that determines if the environment contains one or more optical devices and the execution context has permission to access the devices.
get_IsSupportedOnCurrentMediaState Determines if the multi-session type can write to the current optical media.
get_Item Retrieves the unique identifier of the specified disc device.
get_Item Retrieves the specified directory or file item from file system image.
get_Item Retrieves a single named stream associated with a file in the file system image.
get_Item Retrieves the specified progress item from the collection.
get_LastAccessedTime Retrieves the date and time the directory or file item was last accessed in the file system image.
get_LastBlock Retrieves the last block in this segment of the result image.
get_LastModifiedTime Retrieves the date and time that the directory or file item was last modified in the file system image.
get_LastPossibleStartOfLeadout Retrieves the last possible starting position for the leadout area.
get_LastReadLba Retrieves the address of the sector most recently read from the burn image.
get_LastUsedUserSectorInImage Retrieves the number of total used sectors on the current media, including any overhead between existing tracks.
get_LastWrittenAddress Retrieves the last written address on the media.
get_LastWrittenAddressOfPreviousSession Retrieves the last sector of the previous write session.
get_LastWrittenAddressOfPreviousSession Retrieves the last sector written in the previous session on the media.
get_LastWrittenLba Retrieves the address of the sector most recently written to the device.
get_LegacyDeviceNumber Retrieves the legacy device number for a CD or DVD device.
get_Manufacturer Retrieves the identifier of the manufacturer of the CD.
get_MediaCatalogNumber Sets the Media Catalog Number (MCN) for the entire audio disc.
get_MediaHeuristicallyBlank Attempts to determine if the media is blank using heuristics (mainly for DVD+RW and DVD-RAM media).
get_MediaPhysicallyBlank Determines if the current media is reported as physically blank by the drive.
get_MediaType Retrieves type of media in the current drive.
get_ModifiedBlocks Retrieves the list of modified blocks in the result image.
get_MultisessionInterfaces Retrieves a list of available multi-session interfaces.
get_MultisessionInterfaces Retrieves the list of multi-session interfaces for the optical media.
get_Name Retrieves the name of the directory or file item in the file system image.
get_NextWritableAddress Retrieves the location for the next write operation.
get_NextWritableAddress Retrieves the next writable address on the media, including used sectors.
get_NumberOfExistingTracks Retrieves the number of existing audio tracks on the media.
get_NumberOfExistingTracks Retrieves the number of existing audio tracks on the media.
get_Path Retrives the logical path to an .iso image.
get_PlatformId Retrieves the platform identifier that identifies the operating system architecture that the boot image supports.
get_PostgapAlreadyInImage Determines if the data stream contains post-writing gaps.
get_ProductId Retrieves the product ID of the device.
get_ProductRevision Retrieves the product revision code of the device.
get_ProgressItems Retrieves the progress item block mapping collection.
get_Recorder Retrieves the recording device to use for the write operation.
get_Recorder Retrieves the recording device to use in the erase operation.
get_Recorder Retrieves the recording device to use for the write operation.
get_Recorder Retrieves the recording device to use for the write operation.
get_Recorder Retrieves the recording device to use in the write operation.
get_RemainingTime Retrieves the estimated remaining time of the write operation.
get_RemainingTime Retrieves the estimated remaining time of the write operation.
get_RemainingTime Retrieves the estimated remaining time of the write operation.
get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.
get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.
get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.
get_RequestedSectorType Retrieves the requested data sector to use during write of the stream.
get_RequestedWriteSpeed Retrieves the requested write speed.
get_RequestedWriteSpeed Retrieves the requested write speed.
get_RequestedWriteSpeed Retrieves the requested write speed.
get_ResultingImageType Retrieves the value that specifies the type of image file that will be generated.
get_Root Retrieves the root directory item.
get_RotationTypeIsPureCAV Retrieves the supported rotational-speed control used by the recorder for the current media.
get_SectorCount Retrieves the number of user sectors in this track.
get_SectorCount Retrieves the number of sectors to write to the device in the current write operation.
get_SectorType Retrieves the type of data provided for the sectors in this track. For more detail on the possible sector types, see IMAPI_CD_SECTOR_TYPE.
get_Seed Retrieves the seed value used by the random number generator.
get_SessionStartBlock Retrieves the starting block address for the recording session.
get_StageFiles Indicates if the files being added to the file system image should be staged before the burn.
get_StartAddressOfPreviousSession Retrieves the first sector of the previous write session.
get_StartAddressOfPreviousSession Retrieves the first sector written in the previous session on the media.
get_StartingLba Retrieves the LBA of the first user sectors in this track.
get_StartingSectorsPerSecond Retrieves the estimated number of sectors per second that the recording device can write to the media at the start of the writing process.
get_StartingTrackNumber Retrieves the starting track number.
get_StartLba Retrieves the start sector of the range described by IBlockRange.
get_StartLba Retrieves the starting logical block address (LBA) of the current write operation.
get_StartOfLeadout Retrieves the value that defines the LBA for the start of the Leadout. This method can be utilized to determine if the image can be written to a piece of media by comparing it against the LastPossibleStartOfLeadout for the media.
get_StartOfLeadoutLimit Retrieves the current StartOfLeadoutLimit property value. This value specifies if the resulting image is required to fit on a piece of media with a StartOfLeadout greater than or equal to the LBA.
get_StartOfNextSession Retrieves the first sector of the next session.
get_Stream Retrieves the IStream object associated with the .iso image.
get_StrictFileSystemCompliance Determines the compliance level for creating and developing the file-system image.
get_SupportedFeaturePages Retrieves the list of features that the device supports.
get_SupportedMediaTypes Retrieves the media types that are supported by the current implementation of the IDiscFormat2 interface.
get_SupportedModePages Retrieves the list of MMC mode pages that the device supports.
get_SupportedProfiles Retrieves the list of MMC profiles that the device supports.
get_SupportedSectorTypes Retrieves the supported data sector types for the current recorder.
get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported by the disc recorder and current media.
get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported by the disc recorder and current media.
get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported by the disc recorder and current media.
get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc recorder and current media.
get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc recorder and current media.
get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc recorder and current media.
get_TotalBlocks Retrieves the number of blocks in the result image.
get_TotalSectorsOnMedia Retrieves the number of sectors on the media in the device.
get_TotalSectorsOnMedia Retrieves the total sectors available on the media if writing one continuous audio track.
get_TotalSectorsOnMedia Retrieves the total number of sectors on the media.
get_TotalSystemBuffer Retrieves the size of the internal data buffer that is used for writing to disc.
get_TotalTime Retrieves the estimated total time for write operation.
get_TrackIndexes Retrieves the one-based index of the tracks on the disc.
get_TrackInfo Retrieves an indexed property, which takes a LONG value with a range of 1 to 99 as the index to determine which track the user is querying. The returned object is then queried/set for the particular per-track property of interest.
get_TrackNumber Retrieves the track number for this track.
get_UDFRevision Retrieves the UDF revision level of the imported file system image.
get_UDFRevisionsSupported Retrieves a list of supported UDF revision levels.
get_UsedBlocks Retrieves the number of blocks in use.
get_UsedSectorsOnMedia Retrieves the total number of used sectors on the media.
get_UsedSystemBuffer Retrieves the number of used bytes in the internal data buffer that is used for writing to disc.
get_UseRestrictedCharacterSet Determines if the file and directory names use a restricted character.
get_UseStreamingWrite12 Retrieves a value that indicates if the write operations use the WRITE12 or WRITE10 command.
get_VendorId Retrieves the vendor ID for the device.
get_VolumeName Retrieves the unique volume name associated with the device.
get_VolumeName Retrieves the volume name for this file system image.
get_VolumeNameISO9660 Retrieves the volume name for the ISO9660 system image.
get_VolumeNameJoliet Retrieves the volume name for the Joliet system image.
get_VolumeNameUDF Retrieves the volume name for the UDF system image.
get_VolumePathNames Retrieves a list of drive letters and NTFS mount points for the device.
get_WorkingDirectory Retrieves the temporary directory in which stash files are built.
get_WriteInProgress Retrieves a value that indicates whether the recorder is currently writing data to the disc.
get_WriteProtectStatus Retrieves the current write protect state of the media in the device.
get_WriteSpeed Retrieves the supported write speed for writing to the media.
get_WriteUnitSize Retrieves the size of a writeable unit on the media.
get_WriteUnitSize Retrieves the size of a writeable unit on the media.
GetActiveDiscMasterFormat Retrieves the active disc recorder format. The active format specifies both the structure of the staged image file content (audio/data) and the COM interface that must be used to manipulate that staged image.
GetActiveDiscRecorder Retrieves an interface pointer to the active disc recorder. The active disc recorder is the recorder where a burn will occur when RecordDisc is called.
GetAdapterDescriptor Retrieves the adapter descriptor for the device.
GetAudioBlockSize Retrieves the size, in bytes, of an audio block.
GetAvailableAudioTrackBlocks Retrieves the current number of blocks that can be added to the track before an additional add will cause a failure for lack of space.
GetBasePnPID Retrieves a base PnP string that can be used to consistently identify a specific class of device by make and model. The string can be used by applications to customize their behavior according to the specific recorder type.
GetByteAlignmentMask Retrieves the byte alignment mask for the device.
GetDataBlockSize Retrieves the size of a data block.
GetDefaultFileSystemForImport Retrieves the file system to import by default.
GetDeviceDescriptor Retrieves the device descriptor for the device.
GetDiscInformation Retrieves the disc information from the media.
GetDisplayNames Retrieves a formatted name for the recorder that can be displayed. The name consists of the manufacturer and product identifier of the device.
GetFeaturePage Retrieves the specified feature page from the device.
GetJolietProperties Retrieves a pointer to an IPropertyStorage interface that contains the Joliet properties.
GetMaximumNonPageAlignedTransferSize Retrieves the maximum non-page-aligned transfer size for the device.
GetMaximumPageAlignedTransferSize Retrieves the maximum page-aligned transfer size for the device.
GetModePage Retrieves the specified mode page from the device.
GetPath Retrieves a path to the device within the operating system. This path should be used in conjunction with the display name to completely identify an available disc recorder.
GetRecorderGUID Retrieves the GUID of the physical disc recorder currently associated with the recorder object.
GetRecorderProperties Retrieves a pointer to an IPropertyStorage interface.
GetRecorderState Retrieves the disc recorder state.
GetRecorderType Determines whether the disc recorder is a CD-R or CD-RW type device. This does not indicate the type of media that is currently inserted in the device.
GetSupportedFeaturePages Retrieves the list of supported feature pages or the current feature pages of the device.
GetSupportedModePages Retrieves the supported mode pages for the device.
GetSupportedProfiles Retrieves the supported profiles or the current profiles of the device.
GetTotalAudioBlocks Retrieves the total number of blocks available for staging audio tracks. The total includes all block types, including blocks that may need to be allocated for track gaps.
GetTotalAudioTracks Retrieves the total number of tracks that have either been staged or are being staged.
GetTotalDataBlocks Retrieves the total number of blocks available for staging a Joliet data disc.
GetTrackInformation Retrieves the track information from the media.
GetUsedAudioBlocks Retrieves the total number of audio blocks in use.
GetUsedDataBlocks Retrieves the total number of data blocks that are in use.
IdentifyFileSystemsOnDisc Retrieves a list of the different types of file systems on the optical media.
ImportFileSystem Imports the default file system on the current disc.
ImportSpecificFileSystem Import a specific file system from disc.
Initialize Initializes this stream from two input streams.
Initialize Initialize this interleaved stream from an array of input streams and interleave sizes.
Initialize2 Initializes this stream from an array of input streams.
InitializeDiscRecorder Associates the object with the specified disc device.
IsCurrentMediaSupported Determines if the current media in a supported recorder supports the given format.
IsRecorderSupported Determines if the recorder supports the given format.
LockInChangePoint Locks the file system information at the current change-point level.
Next Retrieves a specified number of items in the enumeration sequence.
Next Retrieves a specified number of items in the enumeration sequence.
NotifyAddProgress Notifies an application of its progress in response to calls to IRedbookDiscMaster::AddAudioTrackBlocks or IJolietDiscMaster::AddData. Notifications are sent for the first and last steps, and at points in between.
NotifyBlockProgress Notifies an application of its progress in burning a disc on the active recorder. Notifications are sent for the first and last blocks, and at points in between.
NotifyBurnComplete Notifies an application that a call to IDiscMaster::RecordDisc has finished.
NotifyClosingDisc Notifies the application that it is has started closing the disc. No further notifications are sent until the burn is finished.
NotifyDeviceAdded Receives notification when an optical media device is added to the computer.
NotifyDeviceRemoved Receives notification when an optical media device is removed from the computer.
NotifyEraseComplete Notifies an application that a call to IDiscRecorder::Erase has finished.
NotifyPnPActivity Notifies the application that there is a change to the list of valid disc recorders. (For example, a USB CD-R driver is removed from the system.).
NotifyPreparingBurn Notifies the application that it is preparing to burn a disc. No further notifications are sent until the burn starts.
NotifyTrackProgress Notifies an application that a track has started or finished during the burn of an audio disc.
Open Opens an upper-level IMAPI object for access by a client application.
OpenExclusive Opens a disc recorder for exclusive access.
PrepareMedia Locks the current media for exclusive access.
PrepareMedia Locks the current media for exclusive access.
ProbeSpecificFileSystem Determines if a specific file system on the current media is appendable through the IMAPI.
ProgressAdvise Registers an application for progress notifications.
ProgressItemFromBlock Retrieves a progress item based on the specified block number.
ProgressItemFromDescription Retrieves a progress item based on the specified file name.
ProgressUnadvise Cancels progress notifications for an application.
put_AudioHasPreemphasis Sets the value that specifies if an audio track has an additional pre-emphasis added to the audio data prior to being written to CD.
put_BootImageOptions Sets the boot image that you want to add to the file-system image. This method creates a complete copy of the passed-in boot options by copying the stream from the supplied IBootOptions interface.
put_BootImageOptionsArray Sets the boot option array that will be utilized to generate the file system image. Unlike IFileSystemImage::put_BootImageOptions, this method will not create a complete copy of each boot options array element, but instead use references to each element.
put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.
put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.
put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free Recording is enabled.
put_BurnVerificationLevel Sets the Burn Verification Level.
put_BytesPerSector Sets the number of bytes to use for each sector during writing.
put_ClientName Sets the friendly name of the client.
put_ClientName Sets the friendly name of the client.
put_ClientName Sets the friendly name of the client.
put_ClientName Sets the friendly name of the client.
put_CreateRedundantUdfMetadataFiles Sets the property that specifies if the UDF Metadata will be redundant in the file system image.
put_CreationTime Sets the date and time that the directory or file item was created and added to the file system image.
put_Data Sets the data stream of the file's content.
put_DigitalAudioCopySetting Sets the digital audio copy "Allowed" bit to one of three values on the resulting media. Please see the IMAPI_CD_TRACK_DIGITAL_COPY_SETTING enumeration for additional information on each possible value.
put_DisableConsumerDvdCompatibilityMode Determines if a DVD recording session includes tasks that can increase the chance that a device can play the DVD.
put_DisableGaplessAudio Sets the value that specifies if "Gapless Audio" recording is disabled. This property defaults to a value of VARIANT_FALSE, which disables the use of "gapless" recording between consecutive audio tracks.
put_DoNotFinalizeMedia Determines if the media is left open for writing after writing the audio track.
put_Emulation Sets the media type that the boot image is intended to emulate.
put_EndingSectorsPerSecond Sets the estimated number of sectors per second that the recording device can write to the media at the end of the writing process.
put_ExtendedSeed Sets a list of seed values for the random number generator and seeks to the start of stream.
put_FileSystemsToCreate Sets the file systems to create when generating the result stream.
put_ForceMediaToBeClosed Determines if further additions to the file system are prevented.
put_ForceOverwrite Determines if the data writer must overwrite the disc on overwritable media types.
put_FreeMediaBlocks Sets the maximum number of blocks available for the image.
put_FullErase Determines the quality of the disc erasure.
put_InUse Determines if this multi-session interface is the one you should use on the current media.
put_IsHidden Determines if the item's hidden attribute is set in the file system image.
put_ISO9660InterchangeLevel Sets the ISO9660 compatibility level of the file system image.
put_ISRC Sets the International Standard Recording Code (ISRC) currently associated with the track. This property value defaults to NULL (or a zero-length string) and may only be set for tracks containing audio data.
put_IsRealTime Sets the 'Real-Time' attribute of a file in a file system. This attribute specifies whether or not the content requires a minimum data-transfer rate when writing or reading, for example, audio and video data.
put_LastAccessedTime Sets the date and time that the directory or file item was last accessed in the file system image.
put_LastModifiedTime Sets the date and time that the item was last modified in the file system image.
put_Manufacturer Sets an identifier that identifies the manufacturer or developer of the CD.
put_MediaCatalogNumber Retrieves the Media Catalog Number (MCN) for the entire audio disc.
put_MultisessionInterfaces Sets the list of multi-session interfaces for the optical media.
put_PlatformId Sets the platform identifier that identifies the operating system architecture that the boot image supports.
put_PostgapAlreadyInImage Determines if the data stream contains post-writing gaps.
put_Recorder Sets the recording device to use for the write operation.
put_Recorder Sets the recording device to use in the erase operation.
put_Recorder Sets the recording device to use for the write operation.
put_Recorder Sets the recording device to use for the write operation.
put_Recorder Sets a recording device for the write operation.
put_RequestedSectorType Sets the requested data sector to use for writing the stream.
put_ResultingImageType Sets the value that defines the type of image file that will be generated.
put_Seed Sets the seed value used by the random number generator and seeks to the start of stream.
put_SessionStartBlock Sets the starting block address for the recording session.
put_StageFiles Determines if the files being added to the file system image should be staged before the burn.
put_StartingSectorsPerSecond Sets the estimated number of sectors per second that the recording device can write to the media at the start of the writing process.
put_StartingTrackNumber Sets the starting track number.
put_StartOfLeadoutLimit Sets the StartOfLeadoutLimit property value.
put_StrictFileSystemCompliance Determines the compliance level for creating and developing the file-system image.
put_UDFRevision Sets the UDF revision level of the file system image.
put_UseRestrictedCharacterSet Determines if file and directory names should be restricted to using only CP_ANSI characters.
put_UseStreamingWrite12 Sets a value that indicates if the write operations use the WRITE12 or WRITE10 command.
put_VolumeName Sets the volume name for this file system image.
put_WorkingDirectory Sets the temporary directory in which stash files are built.
QueryCancel Checks whether an AddData, AddAudioTrackBlocks, or RecordDisc operation should be canceled.
QueryMediaInfo Retrieves information about the currently mounted media, such as the total number of blocks used on the media.
QueryMediaType Detects the type of media currently inserted in the recorder, if any.
ReadDvdStructure Reads a DVD structure from the media.
RecordDisc Burns the staged image to media in the active disc recorder.
ReleaseExclusiveAccess Releases exclusive access to the device.
ReleaseMedia Closes a Disc-At-Once (DAO) writing session of a raw image and releases the lock.
ReleaseMedia Closes the track-writing session and releases the lock.
Remove Removes the specified item from the file system image.
RemoveStream Removes a named stream association with a file.
RemoveTree Remove the specified directory tree from the file system image.
Reset Resets the enumeration sequence to the beginning.
Reset Resets the enumeration sequence to the beginning.
RollbackToChangePoint Reverts the image back to the specified change point.
SendCommandGetDataFromDevice Sends a MMC command to the recording device requesting data from the device.
SendCommandNoData Sends a MMC command to the recording device. Use this function when no data buffer is sent to nor received from the device.
SendCommandSendDataToDevice Sends a MMC command and its associated data buffer to the recording device.
SendDvdStructure Sends a DVD structure to the media.
SetActiveDiscMasterFormat Sets the currently active disc recorder format. The active format specifies both the structure of the staged image file content (audio/data) and the COM interface that must be used to manipulate that staged image.
SetActiveDiscRecorder Selects an active disc recorder. The active disc recorder is the recorder where a burn will occur when RecordDisc is called.
SetJolietProperties Sets the Joliet properties.
SetMaxMediaBlocksFromDevice Set maximum number of blocks available based on the capabilities of the recorder.
SetModePage Sets the mode page data for the device.
SetPath Sets the Path property value with a logical path to an .iso image.
SetRecorderProperties Accepts an IPropertyStorage pointer for an object with all the properties that the application wishes to change. Sparse settings are supported.
SetStream Sets the Stream property with the IStream object associated with the .iso image.
SetWriteSpeed Sets the write speed of the disc recorder.
SetWriteSpeed Sets the write speed of the disc recorder.
SetWriteSpeed Sets the write speed of the disc recorder.
Skip Skips a specified number of items in the enumeration sequence.
Skip Skips a specified number of items in the enumeration sequence.
Update Implement this method to receive progress notification of the current write operation.
Update Implement this method to receive progress notification of the current erase operation.
Update Implement this method to receive progress notification of the current raw-image write operation.
Update Implement this method to receive progress notification of the current track-writing operation.
Update Implement this method to receive progress notification of the current write operation.
Update Implement this method to receive progress notification of the current write operation. The notifications are sent when copying the content of a file or while adding directories or files to the file system image.
UpdateImport Receives import notification for every file and directory item imported from an optical medium.
Validate Determines if the provided .iso image is valid.
Write Writes the data stream to the device.
WriteMedia Writes a DAO-96 raw image to the blank media using MSF 95:00:00 as the starting address.
WriteMedia2 Writes a DAO-96 raw image to the blank media using a specified starting address.
WriteSection Writes a data stream to the current recorder.

Interfaces

Title Description
DDiscFormat2DataEvents Implement this interface to receive notifications of the current write operation.
DDiscFormat2EraseEvents Implement this interface to receive notifications of the current erase operation.
DDiscFormat2RawCDEvents Implement this interface to receive notifications of the current raw-image write operation.
DDiscFormat2TrackAtOnceEvents Implement this interface to receive notifications of the current track-writing operation.
DDiscMaster2Events Implement this interface to receive notification when a CD or DVD device is added to or removed from the computer.
DFileSystemImageEvents Implement this interface to receive notifications of the current write operation.
DFileSystemImageImportEvents Use this interface to receives notifications regarding the current file system import operation.
DWriteEngine2Events Implement this interface to receive notifications of the current write operation.
IBlockRange Use this interface to retrieve information about a single continuous range of sectors on the media. This interface is typically used together with the IBlockRangeList interface to describe a collection of sector ranges.
IBlockRangeList Use this interface to retrieve a list of continuous sector ranges on the media. This interface is used to describe the sectors that need to be updated on a rewritable disc when a new logical session is recorded.
IBootOptions Use this interface to specify the boot image to add to the optical disc. A boot image contains one or more sectors of code used to start the computer.
IBurnVerification Use this interface with IDiscFormat2Data or IDiscFormat2TrackAtOnce to get or set the Burn Verification Level property which dictates how burned media is verified for integrity after the write operation.
IDiscFormat2 This is a base interface. Use the following interfaces which inherit this interface IDiscFormat2Data, IDiscFormat2Erase, IDiscFormat2TrackAtOnce, IDiscFormat2RawCD
IDiscFormat2Data Use this interface to write a data stream to a disc.
IDiscFormat2DataEventArgs Use this interface to retrieve information about the current write operation.
IDiscFormat2Erase Use this interface to erase data from a disc.
IDiscFormat2RawCD Use this interface to write raw images to a disc device using Disc At Once (DAO) mode (also known as uninterrupted recording).
IDiscFormat2RawCDEventArgs Use this interface to retrieve information about the current write operation.
IDiscFormat2TrackAtOnce Use this interface to write audio to blank CD-R or CD-RW media in Track-At-Once mode.
IDiscFormat2TrackAtOnceEventArgs Use this interface to retrieve information about the current write operation.
IDiscMaster The IDiscMaster interface allows an application to reserve an image mastering API, enumerate disc mastering formats and disc recorders supported by an image mastering object, and start a simulated or actual burn of a disc.
IDiscMaster2 Use this interface to enumerate the CD and DVD devices installed on the computer.
IDiscMasterProgressEvents The IDiscMasterProgressEvents interface provides a single interface for all callbacks that can be made from IMAPI to an application.
IDiscRecorder The IDiscRecorder interface enables access to a single disc recorder device, labeled the active disc recorder. An IMAPI object such as MSDiscMasterObj maintains an active disc recorder.
IDiscRecorder2 This interface represents a physical device. You use this interface to retrieve information about a CD and DVD device installed on the computer and to perform operations such as closing the tray or eject the media.
IDiscRecorder2Ex This interface represents a physical device.
IEnumFsiItems Use this interface to enumerate the child directory and file items for a FsiDirectoryItem object.
IEnumProgressItems Use this interface to enumerate a collection of progress items.
IFileSystemImage Use this interface to build a file system image, set session parameter, and import or export an image.
IFileSystemImage2 Use this interface to write multiple boot entries or boot images required for the EFI/UEFI support. For example, boot media with boot straps for both Windows XP and Windows Vista.
IFileSystemImage3 Use this interface to set or check the metadata and metadata mirror files in a UDF file system (rev 2.50 and later) to determine redundancy.
IFileSystemImageResult Use this interface to get information about the burn image, the image data stream, and progress information.
IFileSystemImageResult2 The IFileSystemImageResult2 interface allows the data recorder object to retrieve information about modified blocks in images created for rewritable discs.
IFsiDirectoryItem Use this interface to add items to or remove items from the file-system image.
IFsiDirectoryItem2 Use this interface to add a directory tree, which includes all sub-directories, files, and associated named streams to a file system image.
IFsiFileItem Use this interface to identify the file size and data stream of the file contents.
IFsiFileItem2 Use this interface to add, remove and enumerate named streams associated with a file. This interface also provides access to the 'Real-Time' attribute of a file.
IFsiItem Base interface containing properties common to both file and directory items.
IFsiNamedStreams Use this interface to enumerate the named streams associated with a file in a file system image.
IIsoImageManager Use this interface to verify if an existing .iso file contains a valid file system for burning.
IJolietDiscMaster The IJolietDiscMaster interface enables the staging of a CD data disc.
IMultisession Base interface containing properties common to derived multisession interfaces.
IMultisessionRandomWrite Use this interface to retrieve information about the current state of media allowing random writes and not supporting the concept of physical sessions.
IMultisessionSequential Use this interface to retrieve information about the previous import session on a sequentially recorded media, if the media contains a previous session.
IMultisessionSequential2 Use this interface to retrieve information about the size of a writeable unit on sequentially recorded media.
IProgressItem Use this interface to retrieve block information for one segment of the result file image.
IProgressItems Use this interface to enumerate the progress items in a result image.
IRawCDImageCreator Use this interface to create a RAW CD image for use in writing to CD media in Disc-at-Once (DAO) mode. Images created with this interface can be written to CD media using the IDiscFormat2RawCD interface.
IRawCDImageTrackInfo Use this interface to track per-track properties that are applied to CD media.
IRedbookDiscMaster The IRedbookDiscMaster interface enables the staging of an audio CD image. It represents one of the formats supported by MSDiscMasterObj, and it allows the creation of multi-track audio discs in Track-at-Once mode (fixed-size audio gaps).
IStreamConcatenate Use this interface to combine several data streams into a single stream.
IStreamInterleave Use this interface to combine several data streams into a single stream by alternately interspersing portions of each.
IStreamPseudoRandomBased Use this interface to generate a read-only data stream whose data is initialized with pseudo-random data (not cryptographically safe). You must call the SetSize method to set the requested size of the stream.
IWriteEngine2 Use this interface to write a data stream to a device.
IWriteEngine2EventArgs Use this interface to retrieve information about the current write operation. This interface is passed to the DWriteEngine2Events::Update method that you implement.
IWriteSpeedDescriptor Use this interface retrieve detailed write configurations supported by the disc recorder and current media, for example, the media type, write speed, rotational-speed control type.