xpburncd - I swear it did work!

  • Thread starter Thread starter Bernie Yaeger
  • Start date Start date
B

Bernie Yaeger

I'm trying to use the xpburn component. It worked - the first time. Now I
get
Exception from HRESULT: 0x80040225
No matter what I do. I removed it and reinstalled; I rebooted; nothing
helps.

Any ideas?

Bernie Yaeger
 
Hi Bernie,

Bob again. I may be interested in using a integrated
burn capability in the future. Where did you get this
XPBurnCD?

Bob
 
I'm trying to use the xpburn component. It worked - the first time.
Now I get
Exception from HRESULT: 0x80040225
No matter what I do. I removed it and reinstalled; I rebooted;
nothing helps.

Any ideas?

Bernie Yaeger

Hi,
I wrote a demo of the XPBurn component and stuck it on planetsourcecode.com
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=3159
&lngWId=10

or search for vbxpburner
I had to alter the xpburncomponent slightly to get it to identify the
drives correctly, see the note on the web page mentioned above. I had
similar errors to yours until I put try...catch blocks around everything.
There is one other program using the xpburn component on that web site,
search for "CD\DVD Backup" by C.Savvas. He modified the component more.

I'm just putting a bit onto a program I'm writing so that it will backup a
database to cd. Its going ok at the moment.
 
Hi Jo,

Neither your .dll or Crystos' worked more than once, which brings me back to
the issue:
mine is a dvd drive which burns both cd's and dvd's. I am burning here a
cd-r, which works, as I said, the first time. Could it be that it's burning
in a dvd drive and that is the problem?

Here's an even bigger clue, I think: it worked once with your dll and then
once with the other .dll. Here's my guess: the dll is not closing out, if
that is the proper term, and so an attempt to use it again fails, until the
pc is rebooted - if we could get this solved, it would, I think, solve the
problem. Tx again for your help; let me know if you have any ideas.

Bernie
 
Hi Jo,

Neither your .dll or Crystos' worked more than once, which brings me
back to the issue:
mine is a dvd drive which burns both cd's and dvd's. I am burning
here a cd-r, which works, as I said, the first time. Could it be that
it's burning in a dvd drive and that is the problem?

Here's an even bigger clue, I think: it worked once with your dll and
then once with the other .dll. Here's my guess: the dll is not
closing out, if that is the proper term, and so an attempt to use it
again fails, until the pc is rebooted - if we could get this solved,
it would, I think, solve the problem. Tx again for your help; let me
know if you have any ideas.

Bernie


Argh, I'll have a look when I get time. I need to use it for this program
I'm doing.
 
Argh, I'll have a look when I get time. I need to use it for this program
I'm doing.

I had a look, and got further. I added bits to the dll so that I could
call iDiscBurner.close and iDiscBurner.clear and had it so that I could
repeatedly burn - erase - burn - erase ...
But when I tried the prog on another computer it didn't work, and I
stopped for the evening. I'll have another look later.
 
HI Jo,

Thanks for following up - sounds like you're on to it. Let me know if you
have success and let me know how to get your revised .dll.

Tx!

Bernie
 
HI Jo,

Thanks for following up - sounds like you're on to it. Let me know if you
have success and let me know how to get your revised .dll.

Tx!

Bernie


Ok, heres the current version of the xpburn component and the demo program.
Haven't changed much in the component (I've only just started c#, and the
xpburn thing is beyond me for the most part).

ftp://ftp.sep.myftp.org
login: vbburner
passw: vbburner

let me know if you can't connect - just built a new computer and have only
just reinstalled the ftp server.
 
Hi Jo,

Sorry; I can't get in. I tried IE first, then Cute FTP - I tried
ftp.sep.myftp.org and then sep.myftp.org - neither worked in either place.

Let me know when it's repaired or if I'm doing something wrong.

Tx,

Bernie
 
Tx Jo,

I got it from your web link. I'll try it out on my system tonight.

Thanks again,

Bernie
 
Hi Jo,

You are THE MAN! Your revised component, with clear() and close() methods,
plus the call of these after the burncomplete event did the trick

Thanks so much!

Bernie
 
Hi Jo,

You are THE MAN! Your revised component, with clear() and close() methods,
plus the call of these after the burncomplete event did the trick

Thanks so much!

Bernie

I worked out some other stuff last night.
The call to work out the free space is worng. It actually tells you the
used space in the staging area. It only changes when files are added by
imapi (not by the vb program or by the xpburn component. In other words
it is useless unless I manage to re-write the component. (I'd like to
strip the component down to be just a wrapper - so that I can call all
the imapi methods and properties from vb).
The thing can still get stuck - I've had disks that the program can't
erase, but windows can. There are lots more conditions to check as well -
is there a cd inserted, is something being burnt as the program starts.
I was trying to figure out how to get the cd drive letter - the
xpburncomponent can return the path, by which it means the "nt device
path" which is /ide0/cdrom0. I can't see how to map that back to the
drive letter - there is some stuff about it in the msdn library but it is
for device driver writers. I'll have a rummage through the registry and
see if I can find a way to do it. You could get a user with two identical
burner drives, and the user would be unable to distinguish between them.
Unfortunately XP lets you remap the drive letters, so you can't just name
them as they would appear in dos (lowest bus, lowest drive gets the
lowest letter, hard disks before cds).
I'll play some more. I'll start a new thread sometime and probably update
the program on planetsourcecode.
 
I worked out some other stuff last night.
The call to work out the free space is worng. It actually tells you the
used space in the staging area. It only changes when files are added by
imapi (not by the vb program or by the xpburn component. In other words
it is useless unless I manage to re-write the component. (I'd like to
strip the component down to be just a wrapper - so that I can call all
the imapi methods and properties from vb).
The thing can still get stuck - I've had disks that the program can't
erase, but windows can. There are lots more conditions to check as well -
is there a cd inserted, is something being burnt as the program starts.
I was trying to figure out how to get the cd drive letter - the
xpburncomponent can return the path, by which it means the "nt device
path" which is /ide0/cdrom0. I can't see how to map that back to the
drive letter - there is some stuff about it in the msdn library but it is
for device driver writers. I'll have a rummage through the registry and
see if I can find a way to do it. You could get a user with two identical
burner drives, and the user would be unable to distinguish between them.
Unfortunately XP lets you remap the drive letters, so you can't just name
them as they would appear in dos (lowest bus, lowest drive gets the
lowest letter, hard disks before cds).
I'll play some more. I'll start a new thread sometime and probably update
the program on planetsourcecode.


Oh, and I found an imapi wrapper, so I'll see how it works now I
understand it a bit better:
http://www.vbaccelerator.com/home/NET/Code/Libraries/Writing_CDs/IMAPI/a
rticle.asp
 
Oh, and I found an imapi wrapper, so I'll see how it works now I
understand it a bit better:
http://www.vbaccelerator.com/home/NET/Code/Libraries/Writing_CDs/IMAPI/a
rticle.asp

Ok, fixed their wrapper so that it works with visual studio 2003 (the
conversion of the project seems to break it), and to remove the strong
typing (whatever that is).

I like this wrapper much more than the xpburn component - it does the drive
letter and everything. Not got far on my demo program yet...
http://www.svenedin.pwp.blueyonder.co.uk/vbburner/IMAPIWrapper.zip
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top