The IRefresh interface is a secondary interface supported by objects in the Applies To table shown below. The interface has one method, Refresh, which allows the caller to update the contents of an object's cached data from the PI server.
As the PI-SDK acquires information from the server, (PIPoints, PointAttributes, StateSets, PI Users, etc.) the information is saved for later use without having to re-query the server. In general this works to an application's advantage, providing performance benefits. Occasionally, an application will need to be sure the information it is dealing with is the most current available. In this case, calling Refresh will make a call to the server to re-fetch the information and update the cached information. The Refresh method works hierarchically. It refreshes the object it is called on and some or all of the child objects below it (see the individual help pages for each object for more information). This can impact performance if called too often or too high in the hierarchy. Note, just because you have addressed an object does not mean you have cached information. For example, when you retrieve a PIPoint and have not asked for any particular point attributes, you do not have point attribute information cached. Refreshing is limited to updating data you have already retrieved as any new data will necessarily be "fresh".