NeroAPI IOCallback


I have a problem with CNeroDataCallback::IOCallback(BYTE *pBuffer, DWORD dwLen): when I write less than the specified dwLen bytes into pBuffer, Nero ignores the returned value and writes the full dwLen amount of bytes on CD/DVD.

Maybe this was hard to understand, so I’ll give an example here…

  1. in IOCallback, I get called with dwLen = 65536 bytes.
  2. I only write 8192 bytes to pBuffer and return with “8192”.
  3. Now, Nero API should write only 8192 bytes (as specified in documentation).

However, Nero API writes the full pBuffer 65536 bytes to DVD, which is not correct (at least in my opinion, after reading the PDF specification). Am I wrong?