I’ve discovered a problem in which NeroBurn() does not return if it is in the midst of writing files to media and the media fills up or does not have space available. The DVD burner (a Sony) ejects the disc when this occurs. I can insert other media with sufficient space - I then see some activity, but that media is then ejected shortly afterward. I have set a breakpoint at my IdleCallback() function and the function is being called regularly during this time. If I break the application in the VC++ debugger, I see the following stack trace:
7ffe0304() KERNEL32! 77e7ab74() NEWTRF! 220191c0() NEWTRF! 22018031() NEROERR! 2000c7b9() KERNEL32! 77e7d28e()
Based on the “NEROERR!” entry, I suspect that NeroBurn() detected the out-of-space condition.
- Should NeroBurn() return an error if the media fills? Why isn't it returning? - Is there a specific call-back I should be using to handle this situation? Can I call something to terminate the burn in the IdleCallback() function?
I could try to use the NeroEstimateTrackSize() function to determine if sufficient space exists prior to the burn, but I’d like to know what is exactly happening.
I’m using the latest NeroSDK API with Visual C++ 6.0.
Thanks in advance.