- po:Pointer to the IVfsCacheContainer interface object
void IVFSCACHECONTAINER_Notify( IVfsCacheContainer * po )
Firstly, all unused child nodes are released.
Secondly, all remaining (i.e. observed) nodes are 'moved' so that they can no longer be found via the normal path lookup.
Then, each child node has IVFSNODE_Notify() called upon it to inform the observer that the child node is to be modified. This should cause the observing software to firstly unobserve, and then to re-observe the affected node. Since the AddObserver call uses path lookup, when the node is re-observed, this cache container will create a new (duplicate) child node. Finally, the original child node (that was 'moved' in the second step above) has IVFSNODE_Release() called upon it to delete it.
The overall effect is to delete all children, notifying observers as needed, and ensuring that any new searches will not find the original child, but instead create a new one.