Error with NeroGetAvailableDrivesEx()


Maybe someone can help me. I have an application that needs to write to a DVD RW connected by USB. However, calling the API NeroGetAvailableDrivesEx() does often does not find this or the internal CDRW that is connected to the computer. But they are always found if I use nerocmd --listdrives. When NeroGetAvailableDrivesEx() fails it returns this:

Drv: Adapter Underrun Protection Technology # type ID

? Image Recorder <none> -1 Virtual 0

Any idea why my DVD or CDRW is not found?

If I am missing needed information let me know and I will provide it.



It seems the DVD recorder(its a Sony DRU-530a) is not detected unless it has a DVD loaded into it the first time NeroGetAvailableDrivesEx() is called. It will also be detected if it is later plugged in with no DVD via the drive change callback.

I looked to register a status callback for when a disk is inserted, but I can’t register this callback. It requires a pointer to the nero device and I can’t get a pointer to the device because it won’t detect it without a DVD inserted!

Why doesn’t NeroGetAvailableDrivesEx() see the device without a media disk inserted?