PluginDescriptor

Overview

The PluginDescriptor class represents a plugin descriptor of a loaded plugin. This class provides access to a plugin metadata such as description or version number.

Use Case

Most common case is to use plugin descriptors to get data about plugins, for example:

  moduleManager.LoadModule("MyPlugin.dll");
            
  // list all plugins 
  foreach (PluginDescriptor p in moduleManager.Plugins)
  {
    Console.WriteLine(String.Format("Plugin: {0} Description: {1}", p.Name, p.Description));
  }

Location


 

CheckPluginInterface  stdcall

Checks whether plugin implements the specified interface.

 

method CheckPluginInterface(aInterface: Guid; out aResult: UInt16): HRESULT

 

HRESULT CheckPluginInterface(Guid aInterface, out UInt16 aResult)

 

func CheckPluginInterface(_ aInterface: Guid, _ aResult: UInt16) -> HRESULT

 

Function CheckPluginInterface(aInterface As Guid, <OutAttribute> ByRef aResult As UInt16) As HRESULT

Parameters:

  • aInterface: GUID of the interface.
  • aResult: result

CheckPluginType  stdcall

Checks whether plugin class is equals (or inherited from) the specified type.

 

method CheckPluginType(aType: OleString; out aResult: UInt16): HRESULT

 

HRESULT CheckPluginType(OleString aType, out UInt16 aResult)

 

func CheckPluginType(_ aType: OleString, _ aResult: UInt16) -> HRESULT

 

Function CheckPluginType(aType As OleString, <OutAttribute> ByRef aResult As UInt16) As HRESULT

Parameters:

  • aType: Name of the type.
  • aResult: result

Description

Stores user defined description of a plugin.

 

property Description: String read;

 

String Description { get; }

 

var Description: String { get{} }

 

ReadOnly Property Description() As String

GetIDsOfNames    (declared in FakeIDispatch)

Maps a single member and an optional set of argument names to a corresponding set of integer DISPIDs. Empty.

 

// Island-Ubuntu
method GetIDsOfNames(riid: REFIID; rgszNames: ^^Char; cNames: UInt32; lcid: UInt32; rgDispId: ^Int32): HRESULT
// Island-Windows
method GetIDsOfNames(riid: REFIID; rgszNames: ^^WCHAR; cNames: UINT; lcid: LCID; rgDispId: ^DISPID): HRESULT

 

// Island-Ubuntu
HRESULT GetIDsOfNames(REFIID riid, Char** rgszNames, UInt32 cNames, UInt32 lcid, Int32* rgDispId)
// Island-Windows
HRESULT GetIDsOfNames(REFIID riid, WCHAR** rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId)

 

// Island-Ubuntu
func GetIDsOfNames(_ riid: REFIID, _ rgszNames: UnsafeMutablePointer<UnsafeMutablePointer<Char>>, _ cNames: UInt32, _ lcid: UInt32, _ rgDispId: UnsafeMutablePointer<Int32>) -> HRESULT
// Island-Windows
func GetIDsOfNames(_ riid: REFIID, _ rgszNames: UnsafeMutablePointer<UnsafeMutablePointer<WCHAR>>, _ cNames: UINT, _ lcid: LCID, _ rgDispId: UnsafeMutablePointer<DISPID>) -> HRESULT

 

// Island-Ubuntu
Function GetIDsOfNames(riid As REFIID, rgszNames As Ptr(Of Ptr(Of Char)), cNames As UInt32, lcid As UInt32, rgDispId As Ptr(Of Int32)) As HRESULT
// Island-Windows
Function GetIDsOfNames(riid As REFIID, rgszNames As Ptr(Of Ptr(Of WCHAR)), cNames As UINT, lcid As LCID, rgDispId As Ptr(Of DISPID)) As HRESULT

Parameters:

  • riid: Reserved for future use. Must be IID_NULL.
  • rgszNames: The array of names to be mapped.
  • cNames: The count of the names to be mapped.
  • lcid: The locale context in which to interpret the names.
  • rgDispId: Caller-allocated array, each element of which contains an identifier (ID) corresponding to one of the names passed in the rgszNames array.

GetTypeInfo    (declared in FakeIDispatch)

Retrieves the type information for an object, which can then be used to get the type information for an interface. Empty.

 

// Island-Ubuntu
method GetTypeInfo(iTInfo: UInt32; lcid: UInt32; ppTInfo: ^ITypeInfo): HRESULT
// Island-Windows
method GetTypeInfo(iTInfo: UINT; lcid: LCID; ppTInfo: ^ITypeInfo): HRESULT

 

// Island-Ubuntu
HRESULT GetTypeInfo(UInt32 iTInfo, UInt32 lcid, ITypeInfo* ppTInfo)
// Island-Windows
HRESULT GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo* ppTInfo)

 

// Island-Ubuntu
func GetTypeInfo(_ iTInfo: UInt32, _ lcid: UInt32, _ ppTInfo: UnsafeMutablePointer<ITypeInfo>) -> HRESULT
// Island-Windows
func GetTypeInfo(_ iTInfo: UINT, _ lcid: LCID, _ ppTInfo: UnsafeMutablePointer<ITypeInfo>) -> HRESULT

 

// Island-Ubuntu
Function GetTypeInfo(iTInfo As UInt32, lcid As UInt32, ppTInfo As Ptr(Of ITypeInfo)) As HRESULT
// Island-Windows
Function GetTypeInfo(iTInfo As UINT, lcid As LCID, ppTInfo As Ptr(Of ITypeInfo)) As HRESULT

Parameters:

  • iTInfo: Index of the type information to return.
  • lcid: The locale identifier for the type information.
  • ppTInfo: The requested type information object.

GetTypeInfoCount    (declared in FakeIDispatch)

Retrieves the number of type information interfaces that an object provides (either 0 or 1). Empty

 

// Island-Ubuntu
method GetTypeInfoCount(pctinfo: ^UInt32): HRESULT
// Island-Windows
method GetTypeInfoCount(pctinfo: ^UINT): HRESULT

 

// Island-Ubuntu
HRESULT GetTypeInfoCount(UInt32* pctinfo)
// Island-Windows
HRESULT GetTypeInfoCount(UINT* pctinfo)

 

// Island-Ubuntu
func GetTypeInfoCount(_ pctinfo: UnsafeMutablePointer<UInt32>) -> HRESULT
// Island-Windows
func GetTypeInfoCount(_ pctinfo: UnsafeMutablePointer<UINT>) -> HRESULT

 

// Island-Ubuntu
Function GetTypeInfoCount(pctinfo As Ptr(Of UInt32)) As HRESULT
// Island-Windows
Function GetTypeInfoCount(pctinfo As Ptr(Of UINT)) As HRESULT

Parameters:

  • pctinfo: The number of type information interfaces provided by the object. If the object provides type information, this number is 1; otherwise the number is 0.

Invoke    (declared in FakeIDispatch)

Provides access to properties and methods exposed by an object. Empty.

 

// Island-Ubuntu
method Invoke(dispIdMember: Int32; riid: REFIID; lcid: UInt32; wFlags: UInt16; pDispParams: ^DISPPARAMS; pVarResult: ^VARIANT; pExcepInfo: ^EXCEPINFO; puArgErr: ^UInt32): HRESULT
// Island-Windows
method Invoke(dispIdMember: DISPID; riid: REFIID; lcid: LCID; wFlags: WORD; pDispParams: ^DISPPARAMS; pVarResult: ^VARIANT; pExcepInfo: ^EXCEPINFO; puArgErr: ^UINT): HRESULT

 

// Island-Ubuntu
HRESULT Invoke(Int32 dispIdMember, REFIID riid, UInt32 lcid, UInt16 wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UInt32* puArgErr)
// Island-Windows
HRESULT Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr)

 

// Island-Ubuntu
func Invoke(_ dispIdMember: Int32, _ riid: REFIID, _ lcid: UInt32, _ wFlags: UInt16, _ pDispParams: UnsafeMutablePointer<DISPPARAMS>, _ pVarResult: UnsafeMutablePointer<VARIANT>, _ pExcepInfo: UnsafeMutablePointer<EXCEPINFO>, _ puArgErr: UnsafeMutablePointer<UInt32>) -> HRESULT
// Island-Windows
func Invoke(_ dispIdMember: DISPID, _ riid: REFIID, _ lcid: LCID, _ wFlags: WORD, _ pDispParams: UnsafeMutablePointer<DISPPARAMS>, _ pVarResult: UnsafeMutablePointer<VARIANT>, _ pExcepInfo: UnsafeMutablePointer<EXCEPINFO>, _ puArgErr: UnsafeMutablePointer<UINT>) -> HRESULT

 

// Island-Ubuntu
Function Invoke(dispIdMember As Int32, riid As REFIID, lcid As UInt32, wFlags As UInt16, pDispParams As Ptr(Of DISPPARAMS), pVarResult As Ptr(Of VARIANT), pExcepInfo As Ptr(Of EXCEPINFO), puArgErr As Ptr(Of UInt32)) As HRESULT
// Island-Windows
Function Invoke(dispIdMember As DISPID, riid As REFIID, lcid As LCID, wFlags As WORD, pDispParams As Ptr(Of DISPPARAMS), pVarResult As Ptr(Of VARIANT), pExcepInfo As Ptr(Of EXCEPINFO), puArgErr As Ptr(Of UINT)) As HRESULT

Parameters:

  • dispIdMember: Identifies the member.
  • riid: Reserved for future use. Must be IID_NULL.
  • lcid: The locale context in which to interpret arguments.
  • wFlags: Flags describing the context of the Invoke call.
  • pDispParams: Pointer to a DISPPARAMS structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays.
  • pVarResult: Pointer to the location where the result is to be stored, or nil if the caller expects no result.
  • pExcepInfo: Pointer to a structure that contains exception information.
  • puArgErr: The index within rgvarg of the first argument that has an error.

MajorVersion

Major version of a plugin.

 

property MajorVersion: Int32 read;

 

Int32 MajorVersion { get; }

 

var MajorVersion: Int32 { get{} }

 

ReadOnly Property MajorVersion() As Int32

MinorVersion

Minor version of a plugin.

 

property MinorVersion: Int32 read;

 

Int32 MinorVersion { get; }

 

var MinorVersion: Int32 { get{} }

 

ReadOnly Property MinorVersion() As Int32

Name

Returns the name of the plugin.

 

property Name: String read;

 

String Name { get; }

 

var Name: String { get{} }

 

ReadOnly Property Name() As String

PluginType

Plugin type

 

property PluginType: Type read;

 

Type PluginType { get; }

 

var PluginType: Type { get{} }

 

ReadOnly Property PluginType() As Type

RequiredPrivilege

Stores user defined list of privileges that is required to create an instance of a plugin.

 

property RequiredPrivilege: String read;

 

String RequiredPrivilege { get; }

 

var RequiredPrivilege: String { get{} }

 

ReadOnly Property RequiredPrivilege() As String

UserData

Returns a user-defined data that is assosiated with a plugin.

 

property UserData: String read;

 

String UserData { get; }

 

var UserData: String { get{} }

 

ReadOnly Property UserData() As String

 

Description

Stores user defined description of a plugin.

 

property Description: String read;

 

String Description { get; }

 

var Description: String { get{} }

 

ReadOnly Property Description() As String

MajorVersion

Major version of a plugin.

 

property MajorVersion: Int32 read;

 

Int32 MajorVersion { get; }

 

var MajorVersion: Int32 { get{} }

 

ReadOnly Property MajorVersion() As Int32

MinorVersion

Minor version of a plugin.

 

property MinorVersion: Int32 read;

 

Int32 MinorVersion { get; }

 

var MinorVersion: Int32 { get{} }

 

ReadOnly Property MinorVersion() As Int32

Name

Returns the name of the plugin.

 

property Name: String read;

 

String Name { get; }

 

var Name: String { get{} }

 

ReadOnly Property Name() As String

PluginType

Plugin type

 

property PluginType: Type read;

 

Type PluginType { get; }

 

var PluginType: Type { get{} }

 

ReadOnly Property PluginType() As Type

RequiredPrivilege

Stores user defined list of privileges that is required to create an instance of a plugin.

 

property RequiredPrivilege: String read;

 

String RequiredPrivilege { get; }

 

var RequiredPrivilege: String { get{} }

 

ReadOnly Property RequiredPrivilege() As String

UserData

Returns a user-defined data that is assosiated with a plugin.

 

property UserData: String read;

 

String UserData { get; }

 

var UserData: String { get{} }

 

ReadOnly Property UserData() As String

 

CheckPluginInterface  stdcall

Checks whether plugin implements the specified interface.

 

method CheckPluginInterface(aInterface: Guid; out aResult: UInt16): HRESULT

 

HRESULT CheckPluginInterface(Guid aInterface, out UInt16 aResult)

 

func CheckPluginInterface(_ aInterface: Guid, _ aResult: UInt16) -> HRESULT

 

Function CheckPluginInterface(aInterface As Guid, <OutAttribute> ByRef aResult As UInt16) As HRESULT

Parameters:

  • aInterface: GUID of the interface.
  • aResult: result

CheckPluginType  stdcall

Checks whether plugin class is equals (or inherited from) the specified type.

 

method CheckPluginType(aType: OleString; out aResult: UInt16): HRESULT

 

HRESULT CheckPluginType(OleString aType, out UInt16 aResult)

 

func CheckPluginType(_ aType: OleString, _ aResult: UInt16) -> HRESULT

 

Function CheckPluginType(aType As OleString, <OutAttribute> ByRef aResult As UInt16) As HRESULT

Parameters:

  • aType: Name of the type.
  • aResult: result

GetIDsOfNames    (declared in FakeIDispatch)

Maps a single member and an optional set of argument names to a corresponding set of integer DISPIDs. Empty.

 

// Island-Ubuntu
method GetIDsOfNames(riid: REFIID; rgszNames: ^^Char; cNames: UInt32; lcid: UInt32; rgDispId: ^Int32): HRESULT
// Island-Windows
method GetIDsOfNames(riid: REFIID; rgszNames: ^^WCHAR; cNames: UINT; lcid: LCID; rgDispId: ^DISPID): HRESULT

 

// Island-Ubuntu
HRESULT GetIDsOfNames(REFIID riid, Char** rgszNames, UInt32 cNames, UInt32 lcid, Int32* rgDispId)
// Island-Windows
HRESULT GetIDsOfNames(REFIID riid, WCHAR** rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId)

 

// Island-Ubuntu
func GetIDsOfNames(_ riid: REFIID, _ rgszNames: UnsafeMutablePointer<UnsafeMutablePointer<Char>>, _ cNames: UInt32, _ lcid: UInt32, _ rgDispId: UnsafeMutablePointer<Int32>) -> HRESULT
// Island-Windows
func GetIDsOfNames(_ riid: REFIID, _ rgszNames: UnsafeMutablePointer<UnsafeMutablePointer<WCHAR>>, _ cNames: UINT, _ lcid: LCID, _ rgDispId: UnsafeMutablePointer<DISPID>) -> HRESULT

 

// Island-Ubuntu
Function GetIDsOfNames(riid As REFIID, rgszNames As Ptr(Of Ptr(Of Char)), cNames As UInt32, lcid As UInt32, rgDispId As Ptr(Of Int32)) As HRESULT
// Island-Windows
Function GetIDsOfNames(riid As REFIID, rgszNames As Ptr(Of Ptr(Of WCHAR)), cNames As UINT, lcid As LCID, rgDispId As Ptr(Of DISPID)) As HRESULT

Parameters:

  • riid: Reserved for future use. Must be IID_NULL.
  • rgszNames: The array of names to be mapped.
  • cNames: The count of the names to be mapped.
  • lcid: The locale context in which to interpret the names.
  • rgDispId: Caller-allocated array, each element of which contains an identifier (ID) corresponding to one of the names passed in the rgszNames array.

GetTypeInfo    (declared in FakeIDispatch)

Retrieves the type information for an object, which can then be used to get the type information for an interface. Empty.

 

// Island-Ubuntu
method GetTypeInfo(iTInfo: UInt32; lcid: UInt32; ppTInfo: ^ITypeInfo): HRESULT
// Island-Windows
method GetTypeInfo(iTInfo: UINT; lcid: LCID; ppTInfo: ^ITypeInfo): HRESULT

 

// Island-Ubuntu
HRESULT GetTypeInfo(UInt32 iTInfo, UInt32 lcid, ITypeInfo* ppTInfo)
// Island-Windows
HRESULT GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo* ppTInfo)

 

// Island-Ubuntu
func GetTypeInfo(_ iTInfo: UInt32, _ lcid: UInt32, _ ppTInfo: UnsafeMutablePointer<ITypeInfo>) -> HRESULT
// Island-Windows
func GetTypeInfo(_ iTInfo: UINT, _ lcid: LCID, _ ppTInfo: UnsafeMutablePointer<ITypeInfo>) -> HRESULT

 

// Island-Ubuntu
Function GetTypeInfo(iTInfo As UInt32, lcid As UInt32, ppTInfo As Ptr(Of ITypeInfo)) As HRESULT
// Island-Windows
Function GetTypeInfo(iTInfo As UINT, lcid As LCID, ppTInfo As Ptr(Of ITypeInfo)) As HRESULT

Parameters:

  • iTInfo: Index of the type information to return.
  • lcid: The locale identifier for the type information.
  • ppTInfo: The requested type information object.

GetTypeInfoCount    (declared in FakeIDispatch)

Retrieves the number of type information interfaces that an object provides (either 0 or 1). Empty

 

// Island-Ubuntu
method GetTypeInfoCount(pctinfo: ^UInt32): HRESULT
// Island-Windows
method GetTypeInfoCount(pctinfo: ^UINT): HRESULT

 

// Island-Ubuntu
HRESULT GetTypeInfoCount(UInt32* pctinfo)
// Island-Windows
HRESULT GetTypeInfoCount(UINT* pctinfo)

 

// Island-Ubuntu
func GetTypeInfoCount(_ pctinfo: UnsafeMutablePointer<UInt32>) -> HRESULT
// Island-Windows
func GetTypeInfoCount(_ pctinfo: UnsafeMutablePointer<UINT>) -> HRESULT

 

// Island-Ubuntu
Function GetTypeInfoCount(pctinfo As Ptr(Of UInt32)) As HRESULT
// Island-Windows
Function GetTypeInfoCount(pctinfo As Ptr(Of UINT)) As HRESULT

Parameters:

  • pctinfo: The number of type information interfaces provided by the object. If the object provides type information, this number is 1; otherwise the number is 0.

Invoke    (declared in FakeIDispatch)

Provides access to properties and methods exposed by an object. Empty.

 

// Island-Ubuntu
method Invoke(dispIdMember: Int32; riid: REFIID; lcid: UInt32; wFlags: UInt16; pDispParams: ^DISPPARAMS; pVarResult: ^VARIANT; pExcepInfo: ^EXCEPINFO; puArgErr: ^UInt32): HRESULT
// Island-Windows
method Invoke(dispIdMember: DISPID; riid: REFIID; lcid: LCID; wFlags: WORD; pDispParams: ^DISPPARAMS; pVarResult: ^VARIANT; pExcepInfo: ^EXCEPINFO; puArgErr: ^UINT): HRESULT

 

// Island-Ubuntu
HRESULT Invoke(Int32 dispIdMember, REFIID riid, UInt32 lcid, UInt16 wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UInt32* puArgErr)
// Island-Windows
HRESULT Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr)

 

// Island-Ubuntu
func Invoke(_ dispIdMember: Int32, _ riid: REFIID, _ lcid: UInt32, _ wFlags: UInt16, _ pDispParams: UnsafeMutablePointer<DISPPARAMS>, _ pVarResult: UnsafeMutablePointer<VARIANT>, _ pExcepInfo: UnsafeMutablePointer<EXCEPINFO>, _ puArgErr: UnsafeMutablePointer<UInt32>) -> HRESULT
// Island-Windows
func Invoke(_ dispIdMember: DISPID, _ riid: REFIID, _ lcid: LCID, _ wFlags: WORD, _ pDispParams: UnsafeMutablePointer<DISPPARAMS>, _ pVarResult: UnsafeMutablePointer<VARIANT>, _ pExcepInfo: UnsafeMutablePointer<EXCEPINFO>, _ puArgErr: UnsafeMutablePointer<UINT>) -> HRESULT

 

// Island-Ubuntu
Function Invoke(dispIdMember As Int32, riid As REFIID, lcid As UInt32, wFlags As UInt16, pDispParams As Ptr(Of DISPPARAMS), pVarResult As Ptr(Of VARIANT), pExcepInfo As Ptr(Of EXCEPINFO), puArgErr As Ptr(Of UInt32)) As HRESULT
// Island-Windows
Function Invoke(dispIdMember As DISPID, riid As REFIID, lcid As LCID, wFlags As WORD, pDispParams As Ptr(Of DISPPARAMS), pVarResult As Ptr(Of VARIANT), pExcepInfo As Ptr(Of EXCEPINFO), puArgErr As Ptr(Of UINT)) As HRESULT

Parameters:

  • dispIdMember: Identifies the member.
  • riid: Reserved for future use. Must be IID_NULL.
  • lcid: The locale context in which to interpret arguments.
  • wFlags: Flags describing the context of the Invoke call.
  • pDispParams: Pointer to a DISPPARAMS structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays.
  • pVarResult: Pointer to the location where the result is to be stored, or nil if the caller expects no result.
  • pExcepInfo: Pointer to a structure that contains exception information.
  • puArgErr: The index within rgvarg of the first argument that has an error.