Burn .ISO image stream to a disc

Hello,

I'm curious if there is a solution where I could burn a .iso image STREAM (not just a file) to disc. The complicated part of task is that I need to tweak certain bytes in the original ISO file and then send it to disc for burn. Ideally the work flow I'm looking at is as follows

1 open the ISO file for read
2 Read N bytes from the file
3 Tweak some bytes
4 Send to disc for burn
5 Repeat from step 2 until end of the file

Since time is of essence in this app, I cant afford to tweak data first and then burn it.

I'm familiar with Microsoft's IMAPIv2 but it cannot help get through this. Any ideas???

Thanks.
kk8Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jkrCommented:
You can write the ISO image via 'IDiscFormat2Data::Write()', given that you openend the file as an IStream. See the article at http://www.codeproject.com/KB/cs/IsoBurner.aspx ("How to Burn Optical File Images with IMAPI 2.0 from Managed Cod") for more info on that, even though it's C#, you should be able to locat the interfaces used quite easily.
0
kk8Author Commented:
One could assign a ISO file to IStream and Write function can burn the entire file for you. But I dont think this will serve the purpose, I cant change data buffered through IStream. Check this out.
http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=1807966&SiteID=1
0
jkrCommented:
Well, I thought the idea was to alter the file and then burn it - should work better than doing it on the fly...
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

kk8Author Commented:
As I have mentioned in the original thread, I must achieve this on the fly for efficiency reasons. I cant afford to split this into 2 steps.
0
jkrCommented:
Hm, what about providing your own implementation of IStream that wraps the functionality of the original one?
0
kk8Author Commented:
no not a good idea
0
DanRollinsCommented:
If writing a new copy of the ISO is not an option, what about tweaking the ISO in place?  
Just keep a record of each change you make and then burn the whole thing, then change it back.
0
kk8Author Commented:
This 2 step process of modifying ISO first and then burning it on the disc is time consuming. I want to combine these two steps to save time.
0
DanRollinsCommented:
I can understand that objection when it comes to copying a 700MB file.  
But it sounded like you are talking about making a few minor changes at a few specific places in the ISO (for instance, burning a unique identifier on the disk).  If so, my suggestion will cost a few milliseconds.  That's hardly something that your user will notice.
0
kk8Author Commented:
Its not 700 MB and its not few milliseconds that we have here. You could assume 2 step process isnt what i'm looking for.
0
DanRollinsCommented:
In that case, I'm down with with jkr's suggestion:  Write an implementation of IStream that does what you want it to do.  Your version will make the changes on the fly, and the IMAPIv2 handler will see the simple stream of data that it expects, but it will be the data that you have tweaked on the fly.
0
kk8Author Commented:
Go thru this http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=1807966&SiteID=1 

MSFT engineer says its not a good idea. Although i'm interested in such implemented if you could make the snippet available for me.
0
DanRollinsCommented:
It seems that the IMAPIv2 samples incoludes such an IStream wrapper.  There was a copy of it in the source poinyed to by one of the posters in that forum:
   http://www.codeplex.com/ImageMaster/SourceControl/ListDownloadableCommits.aspx
The file is named AStream.cs
>> Its not 700 MB and its not few milliseconds that we have here.
It might help is you told us what it is rather than what it is not.. Thanks.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
kk8Author Commented:
That info is meant to be confidential but I can tell you that the size we are talking could be a 100GBytes. AStream.cs could come handy for my project. Thanks for that, at least it will help to explore more possibilities.
0
kk8Author Commented:
k
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Multimedia Programming

From novice to tech pro — start learning today.