Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

AFPlugIn Class

  • Last UpdatedNov 18, 2025
  • 8 minute read
AFPlugIn Class
The AFPlugIn contains the information about a AF plugin that is defined and installed on the PI AF Server.

Inheritance Hierarchy

SystemObject
  OSIsoft.AFAFObject
    OSIsoft.AFAFPlugIn

Namespace:  OSIsoft.AF
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182

Syntax

[SerializableAttribute]
public sealed class AFPlugIn : AFObject, 
	IComparable<AFPlugIn>
<SerializableAttribute>
Public NotInheritable Class AFPlugIn
	Inherits AFObject
	Implements IComparable(Of AFPlugIn)

Dim instance As AFPlugIn
[SerializableAttribute]
public ref class AFPlugIn sealed : public AFObject, 
	IComparable<AFPlugIn^>
[<SealedAttribute>]
[<SerializableAttribute>]
type AFPlugIn =  
    class
        inherit AFObject
        interface IComparable<AFPlugIn>
    end

The AFPlugIn type exposes the following members.

Properties

  NameDescription
Public property
AssemblyFileName
Read-only property that provides the original file name of the assembly containing the plugin.
Public property
AssemblyID
Read-only property that provides a unique identifier for the assembly containing the plugin.
Public property
AssemblyLoadProperties
Read-only property that specifies the properties for loading the assembly containing the plugin.
Public property
AssemblyTime
Read-only property that provides the timestamp of the assembly containing the plugin.
Public property
CompatibilityVersion
The compatibility version number of the plugin.
Public property
Description
Read-only property that provides more detailed description of the object.
Public property
ID
Read-only property that provides a unique identifier for the object to be used for quick access that is not dependent upon the index.
(Inherited from AFObject.)
Public property
Identity
This read-only property contains identity of the object.
(Inherited from AFObject.)
Public property
IsBrowsable
Specifies whether a plugin should be displayed in client applications.
Public property
IsDeleted
This read-only property indicates whether the object has been deleted.
(Inherited from AFObject.)
Public property
IsNonEditableConfig
Specifies whether a plugin's configuration should be allowed to be modified in client applications.
Public property
LoadedAssemblyTime
Read-only property that provides the timestamp of the loaded assembly containing the plugin.
Public property
LoadedVersion
Read-only property that contains a string that uniquely identifies the loaded plugin version, as determined from its assembly.
Public property
Name
Read-only property that identifies the name of the object.
Public property
PISystem
This read-only property allows access to the PISystem associated with this object.
(Inherited from AFObject.)
Public property
SupportAssemblies
The collection of support assemblies for the AFPlugIn.
Public property
UniqueID
Read-only property that provides the object's ID as a String.
(Inherited from AFObject.)
Public property
Version
Read-only property that contains a string that uniquely identifies the plugin version, as determined from its assembly.

Methods

  NameDescription
Public method
CompareTo(Object)
Compares this instance with a specified Object.
(Inherited from AFObject.)
Public method
CompareTo(AFObject)
Compares this instance with a specified AFObject.
(Inherited from AFObject.)
Public method
CreateAnalysisRuleInstance
Create an AFAnalysisRule instance of a plugin.
Public method
CreateControlInstance
Create an instance of a plugin editor control.
Public method
CreateDataReferenceInstance
Create an AFDataReference instance of a plugin.
Public method
CreateDeliveryChannelInstance
Create an AFDeliveryChannel instance of a plugin.
Public methodCode example
CreateFormInstance
Create an instance of a plugin editor form.
Public method
CreateTimeRuleInstance
Create an AFTimeRule instance of a plugin.
Public method
CreateValueFormInstance
Create an instance of a plugin value editor form.
Public method
Equals(Object)
Determines whether the specified Object is equal to the current object.
(Inherited from AFObject.)
Public method
Equals(AFObject)
Indicates whether the current object is equal to another object of the same type.
(Inherited from AFObject.)
Public method
GetHashCode
Gets the hash code for this instance of the object which is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from AFObject.)
Public method
GetPath
Returns the full path to the object, using just the names.
(Inherited from AFObject.)
Public method
GetPath(AFObject)
Returns the path to the object relative from another object.
(Inherited from AFObject.)
Public method
GetPath(AFEncodeType, AFObject)
Returns the path to the object relative from another object, using the name and/or id as specified by encodeType.
(Inherited from AFObject.)
Public method
GetPlugInType
Gets the .NET Type for the plugin.
Public method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method
Persist
This method returns the persistence string for the object.
(Inherited from AFObject.)
Public methodStatic member
ResolvePlugInAssemblyPath
Resolve the AFPlugIn assembly file name to a full path name.
Public method
ToString
Returns a String that represents the current object.
(Inherited from AFObject.)
Public methodStatic member
UsesAControl
Determines if the plugin editor is a control.

Remarks

The plugin is created by an object which inherits from one of the base plugin types (AFAnalysisRule, AFTimeRule, AFDataReference, or AFDeliveryChannel) that is located on the server's workstation. This object specifies the plugin's name, description, and identifier used to create an instance of the object.

Currently, there are four categories of plugins that are supported by the AF SDK: data references which inherit from the AFDataReference base class; time rules which inherit from the AFTimeRule base class; analysis engines which inherit from the AFAnalysisRule base class; and delivery channels which inherit from the AFDeliveryChannel base class. The lists of installed plugins are maintained by the PISystem.

Plugins are registered on the server using the RegPlugIn utility. A user must have Admin rights on the PISystem in order to register or unregister plugins on the server.

Examples

// This example will display information on the Data Reference PlugIns.

// Get the Default System
PISystems myPISystems = new PISystems();
PISystem myPISystem = myPISystems.DefaultPISystem;

// Display the Name and Description of each Data Reference Rule PlugIn
foreach (AFPlugIn CurDataReferencePlugIn in myPISystem.DataReferencePlugIns)
{
    Console.WriteLine("Name  = {0}", CurDataReferencePlugIn.Name);
    Console.WriteLine("Description = {0}", CurDataReferencePlugIn.Description);
    Console.WriteLine("UniqueID = {0}", CurDataReferencePlugIn.UniqueID);
}
' This example will display information on the Data Reference PlugIns.

' Get the Default System
Dim myPISystems As New PISystems
Dim myPISystem As PISystem = myPISystems.DefaultPISystem

' Display the Name and Description of each Data Reference Rule PlugIn
Dim CurDataReferencePlugIn As AFPlugIn
For Each CurDataReferencePlugIn In myPISystem.DataReferencePlugIns
    Console.WriteLine("Name  = {0}", CurDataReferencePlugIn.Name)
    Console.WriteLine("Description = {0}", CurDataReferencePlugIn.Description)
    Console.WriteLine("UniqueID = {0}", CurDataReferencePlugIn.UniqueID)
Next CurDataReferencePlugIn

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

Version Information

AFSDK


See Also

In This Topic
TitleResults for “How to create a CRG?”Also Available in