Do you process collisions callbacks in the right way? By default tree nodes with the same name would replace old ones. You need to check BuildImage sample to see how to do this.
craigneuro wrote:
I was trying to burn a CD and add a directory (with StarBurn_ISO9660JolietFileTree_Add). However, only a few files in the directory were actually added to the CD. I walked that part of the tree with StarBurn_ISO9660JolietFileTree_GetNextKid, etc., and confirmed that those files were the only ones under that directory.
Next I tried adding the files one-by-one. Each time StarBurn_ISO9660JolietFileTree_Add returned EN_SUCCESS. However, once again, only some of the files were added.
Eventually, I started checking the returned nodes from StarBurn_ISO9660JolietFileTree_Add (the p__PPVOID__ISO9660JolietFileTreeNode__NewChild parameter). You should get a unique node for each file (12 files = 12 nodes), but I discovered nodes were being reused (ie, it would add three nodes, than the next node would be the same as one of those instead of being added new). The filenames are unique.
The tree-related functions return EN_SUCCESS and they don't print anything to the log file.
So, is there any reason StarBurn would replace an existing node in the ISO9660 tree rather than adding a new one (if the file names are distinct)? The filenames are relatively long (around 40 bytes each for some of them) but I'm burning a Joliet CD and they're within the limits. Also, this is the only directory on which this happens (all the other directories I've seen don't have a problem).