IDiscFormat2Data::get_FreeSectorsOnMedia method

Retrieves the number of free sectors on the disc for incremental recording (without overwriting existing data).

Note  When this method is called for DVD-/+RW, DVD-RAM, and BD-RE media, the reported free sector value represents total capacity, rather than the current number of free sectors. To retrieve free sectors for these media types, the file system must be imported via IFileSystemImage::ImportFileSystem or IFileSystemImage::ImportSpecificFileSystem, which will allow the use of the IFileSystemImage::get_FreeMediaBlocks method to retrieve the value.



HRESULT get_FreeSectorsOnMedia(
  LONG *value



Number of free sectors on the media in the device.

Return Value

S_OK is returned on success, but other success codes may be returned as a result of implementation. The following error codes are commonly returned on operation failure, but do not represent the only possible error values:

Return code Description
One or more arguments are not valid.

Value: 0x80070057

Pointer is not valid.

Value: 0x80004003

Unspecified failure.

Value: 0x80004005

Failed to allocate the required memory.

Value: 0x8007000E

The device failed to accept the command within the timeout period. This may be caused by the device having entered an inconsistent state, or the timeout value for the command may need to be increased.

Value: 0xC0AA020D

The device reported unexpected or invalid data for a command.

Value: 0xC0AA02FF

The media is inserted upside down.

Value: 0xC0AA0204

The drive reported that it is in the process of becoming ready. Please try the request again later.

Value: 0xC0AA0205

There is no media in the device.

Value: 0xC0AA0202

The media is currently being formatted. Please wait for the format to complete before attempting to use the media.

Value: 0xC0AA0206

The drive reported that it is performing a long-running operation, such as finishing a write. The drive may be unusable for a long period of time.

Value: 0xC0AA0207

The write failed because the drive did not receive data quickly enough to continue writing. Moving the source data to the local computer, reducing the write speed, or enabling a "buffer underrun free" setting may resolve this issue.

Value: 0xC0AA0300

The media is not compatible or of unknown physical format.

Value: 0xC0AA0203

The DVD structure is not present. This may be caused by incompatible drive/medium used.

Value: 0xC0AA020E

The device reported that the requested mode page (and type) is not present.

Value: 0xC0AA0201

The drive reported that the combination of parameters provided in the mode page for a MODE SELECT command were not supported.

Value: 0xC0AA0208

The drive reported that the media is write protected.

Value: 0xC0AA0209

The media's speed is incompatible with the device. This may be caused by using higher or lower speed media than the range of speeds supported by the device.

Value: 0xC0AA020F

The specified handle is invalid.

Value: 6

The specified network resource or device is no longer available.

Value: 55

The device associated with this recorder during the last operation has been exclusively locked, causing this operation to failed.

Value: 0xC0AA0210

The requested operation is only valid with supported media.

Value: 0xC0AA0402


The value of this property is effectively the number of sectors available on disc for the write operation. The value filters sectors consumed in managing the disc space and data quality, such as run-out blocks and postgaps.

Note  For overwritable discs, which have only one physical session, the number of free sectors indicated by value will always be the total number of sectors on the disc.
If IDiscFormat2Data::put_ForceOverwrite is set to VARIANT_TRUE, use the IDiscFormat2Data::get_TotalSectorsOnMedia property instead.


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