Is there a means to get an annotation directly, perhaps by its UniqueID? Or the Restorer interface?
Some context... I'm providing a library component that uses the PI SDK. Consumers of my library will not use PI SDK assemblies (rather, they will only use standard .NET types). When they look up values (by providing search parameters), the library will return a list of annotations and the annotation values for each PIValue. However, there is the special case of annotation files. If my library indicates that the annotation is a file, I would like to provide a means to directly get that file with a second call to the library (passing a path to "export" the file to and perhaps the annotations UniqueID). My library will be consumed by multiple users, so it does not track any kind of state. Therefore, I need a means to find the annotation so I can export the file. It would be rather cumbersome to pass all of the original search parameters to find the PIValue and then iterate through all of the value's annotations searching for the matching UniqueID.
I see that the PIAnnotation object has a property UniqueID. This would lead one to believe that there is a way to get the annotation by its UniqueID. Is this possible?