Thanks for your reply. Here is a dump from NeroCmd (without updating). As far as I can see buffer underrun should be supported in NerCom for this drive?
Microsoft Windows XP [Version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Alan>cd c:\program files\ahead
ero
C:\Program Files\Ahead\Nero>nerocmd --drivename H --driveinfo
Drive letter : H
Device name : NEC DVD_RW ND-2500A
Device id : 1
Host adapter name : atapi
Host adapter number : 1
Underrun protection : <supported>
Drive buffer size : 00000800
Mandatory BUP speed : <none>
Device type : WORM
Media support : DVD+R/RW, DVD-R/RW, CD-R/RW, Fixed Packetwriting
Capabilities : allowed dao read_cd_text variable_pauses_in_tao dao_write
cd_text underrun_prot dvd+vr
Read speeds : 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30,
32, 34, 36, 38, 40
Base speed in KB/s : 150
Write speeds : 4, 8, 16, 20, 24, 32
Base speed in KB/s : 150
Ok.
C:\Program Files\Ahead\Nero>
Here is the code I am using. Apart from some minor additions and changes it is the same as NeroFiddles
Private Sub identifyBurner()
Set nero = New nero
ProgressBar.Value = 0
strMessages = ""
Dim drives As INeroDrives
Set drives = nero.GetDrives(NERO_MEDIA_CDR)
If drives.Count > 1 Then
For myIndex = 0 To drives.Count - 2 'ignore virtual drive
AvailableDevices.AddItem drives(myIndex).DeviceName, myIndex
Next
AvailableDevices.ListIndex = 0 'default
End If
ErrHandler:
Exit Sub
End Sub
Private Sub cmdBurn_Click()
AvailableDevices.Enabled = False
cmdAbort.Enabled = True
cmdBurn.Enabled = False
Set Folder = New NeroFolder
Dim drives As INeroDrives
Set drives = nero.GetDrives(NERO_MEDIA_CDR)
Set drive = drives(AvailableDevices.ListIndex)
Dim testIt As String
testt = drive.BufUnderrunProtName
Debug.Print testIt
Dim isotrack As NeroISOTrack
Set isotrack = New NeroISOTrack
isotrack.Name = sessionRef
isotrack.RootFolder = Folder
Dim file As NeroFile
isotrack.BurnOptions = NERO_BURN_OPTION_CREATE_ISO_FS + NERO_BURN_OPTION_USE_JOLIET
'changes added to allow for buffer underrun protection
If drive.Capabilities = NERO_CAP_BUF_UNDERRUN_PROT Then
strMessages = strMessages + “Buffer underrun protection activated” & vbCrLf
drive.BurnIsoAudioCD “Test”, “Test2” , 0, isotrack, Nothing, Nothing, NERO_BURN_FLAG_SIMULATE + NERO_BURN_FLAG_BUF_UNDERRUN_PROT + NERO_BURN_FLAG_VERIFY + NERO_BURN_FLAG_WRITE, 0, NERO_MEDIA_CD
GoTo quit
Else
strMessages = strMessages + “Warning - no buffer underrun protection!” & vbCrLf
drive.BurnIsoAudioCD “Test”, "Test2 " , 0, isotrack, Nothing, Nothing, NERO_BURN_FLAG_SIMULATE + NERO_BURN_FLAG_VERIFY + NERO_BURN_FLAG_WRITE, 0, NERO_MEDIA_CD
GoTo quit
End If
handle_error:
strMessages = strMessages + Err.Description + Chr(13) + Chr(10) + nero.LastError
edtMessages = strMessages
quit:
End Sub
It always produces the warning string, and testIt returns as “” I have substituted “Test” and “Test2” for my application strings which I don’t particularly want to publicise here, hope that is OK. All variables are declared here or elsewhere in the module as I use Option Explicit.