Apr 2, 2010 at 8:58 PM



I am not sure if it was reported already but I had some problems creating ReparsePoints. The problem was that the Tag member in class ReparsePoint was an int and setting it to IO_REPARSE_TAG_MOUNT_POINT (0xA0000003) was causing an overflow. Changing this to uint worked fine and in fact in class ReparsePointRecord the field Tag is uint. 

Just to let you know of this so that you can include this change in the repository.



Apr 3, 2010 at 10:20 AM


This is a bit of a tricky one - I've tried to keep DiscUtils CLS-compliant, which means uint can't be used on public interfaces.  If you cast the value to 'int' before setting the Tag, does that work?



Apr 3, 2010 at 4:25 PM

Hi Ken

Thanks for your quicky reply. I had followed your suggestion and it does work. Checking again and there are actually no issue. I was getting confused since when reading back from the stream for the reparse point I was seeing an incorrect value and I thought it was being persisted wrongly. Typecasting to uint again when getting the Tag back solved my issue.