IWriteEngine2 interface (imapi2.h)

Use this interface to write a data stream to a device.

This interface should be used by those developing support for new media types or formats. Writing to media typically includes the following steps:

  1. Preparing the hardware by setting mode pages for the media.
  2. Querying the hardware to verify that the media is large enough.
  3. Initializing the write, for example, by formatting the media or setting OPC.
  4. Performing the actual WRITE commands.
  5. Finishing the write by stopping the formatting or closing the session or track.
When developing support for new media types, you can implement steps 1, 2, 3, and 5, and use this interface to perform step 4. Note that all the IDiscFormat2* interfaces use this interface to perform the write operation.

Most client applications should use the IDiscFormat2Data interface to write images to a device.

To create an instance of this interface, call the CoCreateInstance function. Use__uuidof(MsftWriteEngine2) for the class identifier and __uuidof(IWriteEngine2) for the interface identifier.

Inheritance

The IWriteEngine2 interface inherits from the IDispatch interface. IWriteEngine2 also has these types of members:

Methods

The IWriteEngine2 interface has these methods.

 
IWriteEngine2::CancelWrite

Cancels a write operation that is in progress.
IWriteEngine2::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.
IWriteEngine2::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.
IWriteEngine2::get_Recorder

Retrieves the recording device to use in the write operation.
IWriteEngine2::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.
IWriteEngine2::get_UseStreamingWrite12

Retrieves a value that indicates if the write operations use the WRITE12 or WRITE10 command.
IWriteEngine2::get_WriteInProgress

Retrieves a value that indicates whether the recorder is currently writing data to the disc.
IWriteEngine2::put_BytesPerSector

Sets the number of bytes to use for each sector during writing.
IWriteEngine2::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.
IWriteEngine2::put_Recorder

Sets a recording device for the write operation.
IWriteEngine2::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.
IWriteEngine2::put_UseStreamingWrite12

Sets a value that indicates if the write operations use the WRITE12 or WRITE10 command.
IWriteEngine2::WriteSection

Writes a data stream to the current recorder.

Remarks

To create the MsftWriteEngine2 object in a script, use IMAPI2.MsftWriteEngine2 as the program identifier when calling CreateObject.

It is possible for a power state transition to take place during a burn operation (i.e. user log-off or system suspend) which leads to the interruption of the burn process and possible data loss. For programming considerations, see Preventing Logoff or Suspend During a Burn.

Requirements

Requirement Value
Minimum supported client Windows Vista, Windows XP with SP2 [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header imapi2.h

See also

DWriteEngine2Events

IDiscFormat2

IDiscFormat2Data

IDiscFormat2Erase

IDiscFormat2RawCD

IDiscFormat2TrackAtOnce

IWriteEngine2EventArgs