I have began using the class given here and expanded it to include getting history items. The class appears to work fine for logging in, and getting the whole tree. But, I appear to be having issues in getting the proper history items. If my vault repository is something like:

Then resolve each history item in the result with: TxInfo info = ServerOperations.ProcessCommandTxDetail(historyItems[i].TxID);

It turns out that some of the history items have an ItemPath1 : "$/Something/Test", instead of the desired vaultPath I sent with the original call. Note that in this example, the info.items.Length == 1...

Yes, there are shares on the two parent folders involved. Is there something in the result that shows it's a shared folder item, or do I have to do a path compare to weed out the ones I'm really not interested in?

TxInfo's items will give you the exact path where the operation took place. So, in the case of an operation in a share, if $/A/B/C/D/file.txt was modified, it will show up in a history of $/X/Y/Z/D/ where D/ is shared.

I'm not 100% certain, but some of the paths of the history items (MiscInfo1, MiscInfo2, and HistoricName) may provide you with a relative path that may be of more help.