I am using the ISO9660JolietFileTree_Add method to add files from my hard drive. This is working as expected.
I am also using the ISO9660JolietFileTree_AddMemory method (in exactly the same session as the Add() method above) to insert blocks of memory directly into my Joliet tree (not ISO9660 format...selected FILE_TREE_JOLIET).
All indications are that both files are successfully burned to disc, and indeed I can go back and see both files in Windows Explorer. I can even open both files and the contents are correct.
The problem is that the file I added from memory seems to have a corrupted (truncated) filename. I am setting the p__PCHAR__Name parameter in AddMemory() to something like "200601121455572.tar". The resulting filename on the disc is "200601121455". The remaining "572.tar" has been lost.
When I import the track for subsequent write operations, I get the following callback trace for that tar file:
Callback(): Adding name 'ImportingTrack( 1 ):/200601121455, tree node(s) 193
I then go to add a new file called "200601121455573.tar" also with AddMemory, and here is the callback trace for that:
Callback(): Adding name '', tree node(s) 196
...and finally, when I destroy the tree the callback shows the removal of the new filename as:
Callback(): Removing name '', tree node(s) 1
I am using the Callback tracing as shown in the TrackAtOnceFromTreeWithImport sample code.
I am assuming that the p__PCHAR__Name parameter to AddMemory is supposed to be the resulting filename on disc. So, assuming I am using the AddMemory method correctly (always suspect on my part!), there seem to be two problems:
1. p__PVOID__CallbackSpecial1 parameter in the callback method does not contain the p__PCHAR__Name parameter from the original AddMemory() call...it is blank.
2. Filenames provided in p__PCHAR__Name to AddMemory() are truncated at 12 characters when burned to disc. Is this some sort of 8.3 (=12 chars) limitation? My other files added through the Add() method also have > 12 chars and show up fine on disc.
I have tried burning shorter names from memory like "2006.tar" and those names are not truncated on disc (through they still appear as blank in the p__PVOID__CallbackSpecial1 parameter.
If needed I can provide debug logs but this looks like simple user error or simple-to-reproduce bug.
Thanks,
Chris
|