CD Burning with C#

  • Thread starter Thread starter Hendrik Christian
  • Start date Start date
H

Hendrik Christian

Hi all,

Is it possible to programmatically using C# burn a bunch of files in a
predefined location to CD-R ?
The application will be run in Windows 2000 environments. If it's possible,
I would like it NOT to use third party like Nero SDK, but only the main
Windows 2000 and VS.NET 2003.
I've googled and found samples for use with WinXP, Linux, KDE, etc etc, but
none are meant for Windows 2000?
I'll appreciate very much samples and help.
Thank you.
 
Hendrik Christian said:
Hi all,

Is it possible to programmatically using C# burn a bunch of files in a
predefined location to CD-R ?
The application will be run in Windows 2000 environments. If it's possible,
I would like it NOT to use third party like Nero SDK, but only the main
Windows 2000 and VS.NET 2003.
I've googled and found samples for use with WinXP, Linux, KDE, etc etc, but
none are meant for Windows 2000?
I'll appreciate very much samples and help.
Thank you.

Short of writing your own ASPI\SPTI code, as well as filesystem generators,
you are out of luck. Windows XP includes IMAPI, which is a cd burning API,
but it is not available on anything before XP.
Third party is your best bet, they do all the testing and insure it will
work across any burner you run across. If your application is open source,
there may be a few free libraries out there, otherwise you'll have to
license something.
 
You can do it, but here's what you'd have to go through:

1. Track down drivers for all the CD-R/CD-RW drives you want to
support (not a problem, most of them come with Windows 2000/XP) and
obtain documentation on how to program against them (the documentation
may be a bit difficult to find)

2. Build a new C# class library with a standard set of method calls to
read/write to communicate with the drivers using unmanaged API calls
(most drivers are written in native Assembly language or C). I'd build
this as a plug-in architecture, with the managed plug-in dll as a
wrapper around the target driver .dll. That way you can dynamicly add
support for new devices)

3. Test with all the supported devices.

This is no easy task, depending on how many drives you want to support
you could be out a lot of money and time on R&D. The problem is that
their isn't a standardized API yet, a similar problem existed for
video hardware before Microsoft began releasing DirectX. At this point
it just makes more sense to buy a third-party library for most
scenarios.



Developers of burning software such as Nero and Easy CD Creator has
painstakenly gathered all these drivers togeather
 
Thanks Daniel and JDeats,

Is it possible to port the IMAPI driver (and all that are required and
available in WinXP) from WinXP to Win2K instead? Since as I understood the
underlying platform between Win2K and WinXP are quite similar.
Thank you.

Hendrik

Daniel O'Connell said:
Hendrik Christian said:
Hi all,

Is it possible to programmatically using C# burn a bunch of files in a
predefined location to CD-R ?
The application will be run in Windows 2000 environments. If it's possible,
I would like it NOT to use third party like Nero SDK, but only the main
Windows 2000 and VS.NET 2003.
I've googled and found samples for use with WinXP, Linux, KDE, etc etc, but
none are meant for Windows 2000?
I'll appreciate very much samples and help.
Thank you.

Short of writing your own ASPI\SPTI code, as well as filesystem generators,
you are out of luck. Windows XP includes IMAPI, which is a cd burning API,
but it is not available on anything before XP.
Third party is your best bet, they do all the testing and insure it will
work across any burner you run across. If your application is open source,
there may be a few free libraries out there, otherwise you'll have to
license something.
 
Frankly, it may be, but I don't think it would be legal.


Hendrik Christian said:
Thanks Daniel and JDeats,

Is it possible to port the IMAPI driver (and all that are required and
available in WinXP) from WinXP to Win2K instead? Since as I understood the
underlying platform between Win2K and WinXP are quite similar.
Thank you.

Hendrik
 
Back
Top