I guess you are using a DVD+RW? Generally, you can not speak about the DVD media, because the different DVD media types are quite different in the way they are written.

DVD+RW always have only one track and one session and the size of the track depends on how much of the medium has already been formatted. So if you write to a new medium only 300 MB of data, only 300+x MB of the media will be formatted by the drive.Since the disc info of Nero shows the physical status of the disc, it displays as free space the size of the track. The only way to find out how much data is "really" written on the disc, would be to go through the filesystem and sum the size of the files.

However, since you wrote the disc with NeroAPI or with Nero as multisession disc, it add some extra information to the disc, where these "virtual sessions" begin and end. Therefore, you can use NeroGetVMSInfo to info about the data written on the disc. Then you can use NERO_VMS_INFO::nvmsiNextWritableAddress to know how much data has been written. If you substract this from NERO_CD_INFO::ncdiTotalCapacity you have the free space available.

Yes, it is a DVD+RW. As usual, new media types bring new features and also new troubles.

Since NeroGetVMSInfo applies only to DVD-/+RW, to handle any possible expected media (e.g. older CDs), perhaps it is better to traverse the filesystem and calculate the free space. This "old traditional way" has more chances to work even with "not yet implemented" media types. Otherwise, when the market happens to offer those new DVD-/+*RWXYZs we will quickly have to update the "disk free space" algorithm.