Burn data not from disk file, and multisession

Hi, all

My task is to write a program to backup the data collected from network into a CDR.

Because security reasons, the data to be burnt cannot be written to hard disk. That means no intermediate files available, so it’s hard to build the NERO_ISO_ITEM tree from disk for burning. I noticed the classes declared in NeroIsoTrack.h, they were what i need. it’s ok.

The question comes when i burn in multisession. The normal way is to call NeroImportDataTrack to fetch the track had been burnt before, and add it to the track to be burnt. But how can i add a NERO_ISO_ITEM to my customed CNeroIsoTrack class?

By using NERO_CITE_ARGS, we can setup the root item of default CNeroIsoTrack, but can i use following code?

args.firstRootItem = NeroImportDataTrack(…);
CMyIsoTrack* myTrack = (CMyIsoTrack*)NeroCreateIsoTrackEx(…);

Also, i see the virtual function CNeroIsoEntry::GetImportInfo(), but i dont know how to make it work.

My questions:
1, How can i put a NERO_ISO_ITEM, which is obtained by NerImportDataTrack, into my customed CNeroIsoTrack class?

2, Alternatively, if i dont use customed CNeroIsoTrack class, is there any way to burn data which is not from disk file?

Many thanks for your help.