Question

Is there anyway to dectect available DVD burners in a windows system using c++? I know how to detect all available drives but I would like to be able to detect which ones have the ability to burn DVD media.

Was it helpful?

Solution

What you want is the Image Mastering API (IMAPI). To list the available devices you can use IDiscMaster::EnumDiscRecorders.

OTHER TIPS

::GetDriveType() ::GetVolumeInformation()

Are the two APIs that I know of that may get you what you need to know.

However, neither has a clear & obvious way of obtaining "is this DVD drive a recorder?"

You can get GET_MEDIA_TYPES (see http://msdn.microsoft.com/en-us/library/aa363264.aspx) with respect of IOCTL_STORAGE_GET_MEDIA_TYPES_EX (see http://msdn.microsoft.com/en-us/library/aa363413.aspx). You can use if like in http://msdn.microsoft.com/en-us/library/aa363147.aspx. Information from GET_MEDIA_TYPES has all information which you need.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top