DVD Burning problem

I have written a project to burn ISO image file to CD and DVD using C++ & SPTI. It works well for CD, but has problem in burning DVD. Here is the detail burning procedure of my project:

  1. Must use a blank DVD media.
  2. Use “MMC2 read track information” to obtain NWA (Next Writable Address) for track 1 - usually this is MMC LBA 0.
  3. Use “MMC2 select10” or “MMC2 select6” to send write parameters mode page to set TAO mode with write block type 08h (ISO mode 1).
  4. Read blocks from .ISO file.
  5. Use “MMC2 write10” to send blocks to DVD writer.
  6. Repeat from 5 until end of file.
  7. Send “MMC2 synchronize cache” to write remaining cached sectors.
  8. Send “MMC2 close track session” to close the session.

Is there any step that is missing for burning iso to DVD?

(1 track, non multi-session, ISO mode 1)
I have studied some burning program, they have sent the following commands before writing DVD:
CDB[0] = 0xac and CDB[0] = 0xb6. I haven’t found any technical information about these two commands.