MibBrowser Component

Properties   Methods   Events   Config Settings   Errors  

The MIBBrowser component is used to parse SNMP MIB Module definitions.

Syntax

nsoftware.IPWorksSNMP.Mibbrowser

Remarks

The MIBBrowser component allows easy loading and querying of definitions in the SNMP Management Information Base (MIB) specifications.

The LoadMib method allows loading of MIB modules, which get stored in an internal tree structure for further queries.

If modules reference (import) other modules, recursive loading of modules is performed automatically and/or controlled by the ImportSymbols event.

The MIB tree is navigated through the SelectNode method, which enables pointing to a node in the tree specified by NodeOid and NodeLabel. Other node information is provided through the NodeModuleName, NodeFileName, NodeSyntax, NodeType, and NodeAccess properties.

The node selector parameter in SelectNode can be a label such as "internet", an OID such as "1.3.6.4", a combination of the two: "iso.3.dod.internet", or a label in a particular module such as "RFC1213-MIB!interfaces".

Node children and successors are provided by the ListChildren and ListSuccessors methods. The individual node information is provided via the MibNode event.

Module traps are listed via the ListTraps method. The individual trap information is provided through the TrapNode event.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

ExactMatchControls the way the OID matching is done (complete or partial).
NodeAccessThe access permissions for the selected node.
NodeDescriptionTextual description of the selected node.
NodeFileNameThe absolute path of the file where the selected node is declared.
NodeFullLabelThe full label of the selected node.
NodeIndexThe index of the node in a table.
NodeLabelThe label of the selected node.
NodeModuleNameThe name of the module where the selected node is declared.
NodeOidThe Object ID of the selected node.
NodeSubIdThe SubId of the currently selected node.
NodeSyntaxThe syntax of the selected node.
NodeSyntaxStringThe node syntax of the selected node in text format.
NodeTypeThe type of the selected node.
NodeTypeStringThe node type of the selected node in text format.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
ListChildrenLists the immediate children of the selected node.
ListSuccessorsLists all successors of the selected node.
ListTrapsLists all the traps defined in the loaded modules.
LoadMibParses the file FileName and adds the parsed nodes to the collection of existing nodes.
ResetReset all properties of the component.
SelectNodeUsed to select individual nodes in the loaded MIB module(s).

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ErrorErrors that occur while loading/parsing MIB modules are fired through this event.
ImportSymbolsList of imported symbols and the respective modules where they are declared.
MibNodeThis event fires once for every child or successor of the currently selected node when invoking ListChildren or ListSuccessors .
TrapNodeLists module trap information.

Config Settings


The following is a list of config settings for the component with short descriptions. Click on the links for further details.

AutoLoadMibsDetermines whether imported MIB modules are loaded automatically.
CacheDescriptionsControls caching of Node descriptions.
CacheMibsControls MIB module caching.
CheckNoKnownRootsControls whether or not the component fails when a file with no known root is loaded.
DisplayHintThe DISPLAY-HINT property for the current node.
MibExtensionsControls the file extensions that the component will search for.
NodeIsColumnarWhether the current node is columnar.
NodeIsScalarWhether the current node is scalar.
ReturnEnumValuesComma-separated list of the current node's enumeration textual-conventions.
UndefinedSymbolsComma-separated list of nodes that have not been resolved.
BuildInfoInformation about the product's build.
GUIAvailableWhether or not a message loop is available for processing events.
LicenseInfoInformation about the current license.
MaskSensitiveWhether sensitive data is masked in log messages.
UseInternalSecurityAPIWhether or not to use the system security libraries or an internal implementation.

ExactMatch Property (MibBrowser Component)

Controls the way the OID matching is done (complete or partial).

Syntax

public bool ExactMatch { get; set; }
Public Property ExactMatch As Boolean

Default Value

True

Remarks

If ExactMatch is set to True, the SelectNode method will try to find an exact match for the supplied selector. If not found, an exception will be thrown.

If ExactMatch is set to False, the SelectNode method will start from the root (iso) and will go as far as it can, finding the closest match for the requested node.

For instance, in SNMPv2-MIB sysUpTime is defined as "1.3.6.1.2.1.1.3". If ExactMatch is False, calling SelectNode with selector "1.3.6.1.2.1.1.3.0" will populate NodeLabel with "sysUpTime.0" while the same call with ExactMatch set to True will fail since that exact OID is not defined in the MIB.

NodeAccess Property (MibBrowser Component)

The access permissions for the selected node.

Syntax

public MibbrowserNodeAccess NodeAccess { get; }

enum MibbrowserNodeAccess { accUnknown, accNoAccess, accReadOnly, accReadCreate, accReadWrite, accWriteOnly, accForNotify }
Public ReadOnly Property NodeAccess As MibbrowserNodeAccess

Enum MibbrowserNodeAccess accUnknown accNoAccess accReadOnly accReadCreate accReadWrite accWriteOnly accForNotify End Enum

Default Value

0

Remarks

The following is the list of values for NodeAccess:

0accUnknown
1accNoAccess
2accReadOnly
3accReadCreate
4accReadWrite
5accWriteOnly
6accForNotify

This property is read-only.

NodeDescription Property (MibBrowser Component)

Textual description of the selected node.

Syntax

public string NodeDescription { get; }
Public ReadOnly Property NodeDescription As String

Default Value

""

Remarks

Because loading descriptions can consume unwanted resources, the component can control caching of descriptions in order to keep the memory footprint of the component as small as possible.

To disable caching, set the CacheDescriptions config setting to True. In this case, the component will only save the offset of the description in the MIB file in memory, and will fetch the textual description directly from the file only when required. When using caching, make sure that the path of the loaded modules does not change or the property will be unable to fetch the correct text description.

This property is read-only.

NodeFileName Property (MibBrowser Component)

The absolute path of the file where the selected node is declared.

Syntax

public string NodeFileName { get; }
Public ReadOnly Property NodeFileName As String

Default Value

""

Remarks

It is possible for a node to be re-declared in other modules. In this case the property contains a comma separated list of file names where the selected node is declared.

This property is read-only.

NodeFullLabel Property (MibBrowser Component)

The full label of the selected node.

Syntax

public string NodeFullLabel { get; }
Public ReadOnly Property NodeFullLabel As String

Default Value

""

Remarks

This contains the full label of the Oid of the selected node. It is unique within the MIB module where it is declared.

This property is read-only.

NodeIndex Property (MibBrowser Component)

The index of the node in a table.

Syntax

public string NodeIndex { get; }
Public ReadOnly Property NodeIndex As String

Default Value

""

Remarks

If the selected node has stxSequence syntax then the NodeIndex represents the column used to distinguish among different table rows.

Example: MibParser.LoadMib(""SNMPv2-MIB"") MibParser.SelectNode("1.3.6.1.2.1.2.2") Debug.Print MibParser1.NodeLabel // prints "ifTable" MibParser.SelectNode("1.3.6.1.2.1.2.2.1") Debug.Print MibParser1.NodeLabel // prints "ifEntry" Debug.Print MibParser1.NodeIndex // prints "ifIndex"

This property is read-only.

NodeLabel Property (MibBrowser Component)

The label of the selected node.

Syntax

public string NodeLabel { get; }
Public ReadOnly Property NodeLabel As String

Default Value

"iso"

Remarks

This label is unique within the MIB module where it is declared.

This property is read-only.

NodeModuleName Property (MibBrowser Component)

The name of the module where the selected node is declared.

Syntax

public string NodeModuleName { get; }
Public ReadOnly Property NodeModuleName As String

Default Value

""

Remarks

It is possible for a node to be redeclared in other modules. In this case the NodeModuleName contains a comma separated list of module names where the selected node is declared.

This property is read-only.

NodeOid Property (MibBrowser Component)

The Object ID of the selected node.

Syntax

public string NodeOid { get; }
Public ReadOnly Property NodeOid As String

Default Value

"1"

Remarks

Contains the Object Id (OID) of the currently selected node. The OID uniquely identifies the selected node within the entire object hierarchy.

This property is read-only.

NodeSubId Property (MibBrowser Component)

The SubId of the currently selected node.

Syntax

public int NodeSubId { get; }
Public ReadOnly Property NodeSubId As Integer

Default Value

1

Remarks

For instance, if you select the node "dod" in "rfc1155.smi", the NodeSubId value will be 6.

This property is read-only.

NodeSyntax Property (MibBrowser Component)

The syntax of the selected node.

Syntax

public MibbrowserNodeSyntaxes NodeSyntax { get; }

enum MibbrowserNodeSyntaxes { stxBoolean, stxInteger, stxBitString, stxOctetString, stxNull, stxObjectId, stxEnumerated, stxSequenceOf, stxSequence, stxSet, stxChoice, stxNetworkAddress, stxIpAddress, stxCounter, stxGauge, stxTimeTicks, stxOpaque, stxNSAP, stxCounter64, stxUInteger, stxUnknown }
Public ReadOnly Property NodeSyntax As MibbrowserNodeSyntaxes

Enum MibbrowserNodeSyntaxes stxBoolean stxInteger stxBitString stxOctetString stxNull stxObjectId stxEnumerated stxSequenceOf stxSequence stxSet stxChoice stxNetworkAddress stxIpAddress stxCounter stxGauge stxTimeTicks stxOpaque stxNSAP stxCounter64 stxUInteger stxUnknown End Enum

Default Value

6

Remarks

The syntax defines what type of data the selected node contains. Common data types include:

Boolean (1) Boolean variable.
Integer (2) A 32-bit signed integer.
OctetString (4) An octet string variable that is binary or textual data.
Null (5) NULL value.
ObjectId (6) Object identifier.
IpAddress (64) A 32-bit Internet address (aaa.bbb.ccc.ddd)
Counter (65) A counter that increases until it reaches a maximum value of (2^32).
Gauge (66) A non-negative int that can increase or decrease, but never exceed a maximum value.
TimeTicks (67) A counter that measures time in hundredths of a second.
Opaque (68) This type supports the capability to pass ASN.1 syntax.
Counter64 (70) A counter that increases until it reaches a maximum value of (2^64).
UInteger (71) A 32-bit unsigned integer.

Additional type definitions can be found in the SNMP RFC's.

This property is read-only.

NodeSyntaxString Property (MibBrowser Component)

The node syntax of the selected node in text format.

Syntax

public string NodeSyntaxString { get; }
Public ReadOnly Property NodeSyntaxString As String

Default Value

""

Remarks

For instance, for the node "system" in "SNMPv2-MIB", NodeSyntax returns 6 (stxObjectId), while NodeSyntaxString returns "OBJECT IDENTIFIER".

This property is read-only.

NodeType Property (MibBrowser Component)

The type of the selected node.

Syntax

public MibbrowserNodeTypes NodeType { get; }

enum MibbrowserNodeTypes { mcrObjectType, mcrObjectIdentity, mcrModuleIdentity, mcrNotificationType, mcrTrapType, mcrObjectGroup, mcrNotificationGroup, mcrCompliance, mcrCapabilities }
Public ReadOnly Property NodeType As MibbrowserNodeTypes

Enum MibbrowserNodeTypes mcrObjectType mcrObjectIdentity mcrModuleIdentity mcrNotificationType mcrTrapType mcrObjectGroup mcrNotificationGroup mcrCompliance mcrCapabilities End Enum

Default Value

1

Remarks

The following are the possible values for NodeType:

0mcrObjectType
1mcrObjectIdentity
2mcrModuleIdentity
3mcrNotificationType
4mcrTrapType
5mcrObjectGroup
6mcrNotificationGroup
7mcrCompliance
8mcrCapabilities

This property is read-only.

NodeTypeString Property (MibBrowser Component)

The node type of the selected node in text format.

Syntax

public string NodeTypeString { get; }
Public ReadOnly Property NodeTypeString As String

Default Value

"OBJECT IDENTITY"

Remarks

For instance, for the node "system" in "SNMPv2-MIB", NodeType returns 2 (mcrObjectIdentity), while NodeTypeString returns "OBJECT-IDENTITY".

This property is read-only.

Config Method (MibBrowser Component)

Sets or retrieves a configuration setting.

Syntax

public string Config(string configurationString);

Async Version
public async Task<string> Config(string configurationString);
public async Task<string> Config(string configurationString, CancellationToken cancellationToken);
Public Function Config(ByVal ConfigurationString As String) As String

Async Version
Public Function Config(ByVal ConfigurationString As String) As Task(Of String)
Public Function Config(ByVal ConfigurationString As String, cancellationToken As CancellationToken) As Task(Of String)

Remarks

Config is a generic method available in every component. It is used to set and retrieve configuration settings for the component.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

ListChildren Method (MibBrowser Component)

Lists the immediate children of the selected node.

Syntax

public void ListChildren();

Async Version
public async Task ListChildren();
public async Task ListChildren(CancellationToken cancellationToken);
Public Sub ListChildren()

Async Version
Public Sub ListChildren() As Task
Public Sub ListChildren(cancellationToken As CancellationToken) As Task

Remarks

The MibNode event fires once for every SubId of the selected node and provides all info related to that SubId.

For instance, the following code: MibParser.LoadMib("RFC1155-SMI") MibParser.SelectNode("internet") MibParser.ListChildren() will generate the following output through the MibNode event:

  directory    1.3.6.1.1
  mgmt         1.3.6.1.2
  experimental 1.3.6.1.3
  private      1.3.6.1.4

ListSuccessors Method (MibBrowser Component)

Lists all successors of the selected node.

Syntax

public void ListSuccessors();

Async Version
public async Task ListSuccessors();
public async Task ListSuccessors(CancellationToken cancellationToken);
Public Sub ListSuccessors()

Async Version
Public Sub ListSuccessors() As Task
Public Sub ListSuccessors(cancellationToken As CancellationToken) As Task

Remarks

The MibNode event fires once for each successor of the selected node and provides all information related to it.

ListTraps Method (MibBrowser Component)

Lists all the traps defined in the loaded modules.

Syntax

public void ListTraps();

Async Version
public async Task ListTraps();
public async Task ListTraps(CancellationToken cancellationToken);
Public Sub ListTraps()

Async Version
Public Sub ListTraps() As Task
Public Sub ListTraps(cancellationToken As CancellationToken) As Task

Remarks

The TrapNode event fires once for every trap and provides all info related to it.

For instance, the following code:

MibParser.LoadMib("mib_ii.mib") MibParser.ListTraps() will generate the following output through the TrapNode event: coldStart 0 snmp warmStart 1 snmp linkDown 2 snmp linkUp 3 snmp authenticationFailure 4 snmp

LoadMib Method (MibBrowser Component)

Parses the file FileName and adds the parsed nodes to the collection of existing nodes.

Syntax

public void LoadMib(string fileName);

Async Version
public async Task LoadMib(string fileName);
public async Task LoadMib(string fileName, CancellationToken cancellationToken);
Public Sub LoadMib(ByVal FileName As String)

Async Version
Public Sub LoadMib(ByVal FileName As String) As Task
Public Sub LoadMib(ByVal FileName As String, cancellationToken As CancellationToken) As Task

Remarks

This method can be used to load and parse a MIB file into the component.

Some MIB modules contain references to other modules within their imports sections. When loading a MIB that contains external imports, the ImportSymbols event will fire for each external reference. These modules must be loaded if possible to generate a complete representation for the loaded MIB.

It is possible for the component to attempt to load all external references automatically. To do this, use Config and set "AutoLoadMibs=True". Setting this configuration property causes the component to attempt to find and load any external references included in the current MIB. The component will only find external modules if they reside in the same directory as the current module. Alternatively, the component can load additional modules by calling LoadMib while inside the ImportSymbols event.

If the AutoLoadMibs config setting is set to False, and no explicit action is taken to load necessary modules inside the ImportSymbols event, some symbols may remain unresolved. These symbols will not appear in the MibNode hierarchy until the module containing their definition is loaded. Order is unimportant when loading additional MIB modules. A complete list of unresolved symbols can be found by retrieving the UndefinedSymbols config setting (comma separated list of symbols).

Note that FileName also accepts MIB data. If MIB data is used, the component will expect the NodeFileName to be at the beginning of the string, surrounded by "[]". For example:

[RFC-1215]RFC-1215 DEFINITIONS ::= BEGIN......END

Reset Method (MibBrowser Component)

Reset all properties of the component.

Syntax

public void Reset();

Async Version
public async Task Reset();
public async Task Reset(CancellationToken cancellationToken);
Public Sub Reset()

Async Version
Public Sub Reset() As Task
Public Sub Reset(cancellationToken As CancellationToken) As Task

Remarks

This method resets all of the node properties as well as the internal collection of parsed nodes.

SelectNode Method (MibBrowser Component)

Used to select individual nodes in the loaded MIB module(s).

Syntax

public void SelectNode(string selector);

Async Version
public async Task SelectNode(string selector);
public async Task SelectNode(string selector, CancellationToken cancellationToken);
Public Sub SelectNode(ByVal Selector As String)

Async Version
Public Sub SelectNode(ByVal Selector As String) As Task
Public Sub SelectNode(ByVal Selector As String, cancellationToken As CancellationToken) As Task

Remarks

SelectNode is used for selecting individual nodes and should be called before querying node information.

The Selector parameter can be a label such as "internet", an OID such as "1.3.6.4", a combination of the two: "iso.3.dod.internet", or a label in a particular module such as "RFC1213-MIB!interfaces".

Either '.' or ':' can be used to separate SubIds. If a SubId starts with "0x" or follows the ":" separator then its hexadecimal value is used. For instance, "0x1.0x3.0x6.0x1A" is the same as "1:3:6:1A".

All properties and methods of the component will operate on the selected node. For example, calling ListSuccessors will only list the successors of the selected node.

Error Event (MibBrowser Component)

Errors that occur while loading/parsing MIB modules are fired through this event.

Syntax

public event OnErrorHandler OnError;

public delegate void OnErrorHandler(object sender, MibbrowserErrorEventArgs e);

public class MibbrowserErrorEventArgs : EventArgs {
  public int ErrorCode { get; }
  public string Description { get; }
}
Public Event OnError As OnErrorHandler

Public Delegate Sub OnErrorHandler(sender As Object, e As MibbrowserErrorEventArgs)

Public Class MibbrowserErrorEventArgs Inherits EventArgs
  Public ReadOnly Property ErrorCode As Integer
  Public ReadOnly Property Description As String
End Class

Remarks

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

ImportSymbols Event (MibBrowser Component)

List of imported symbols and the respective modules where they are declared.

Syntax

public event OnImportSymbolsHandler OnImportSymbols;

public delegate void OnImportSymbolsHandler(object sender, MibbrowserImportSymbolsEventArgs e);

public class MibbrowserImportSymbolsEventArgs : EventArgs {
  public string Symbols { get; }
  public string ModuleName { get; }
}
Public Event OnImportSymbols As OnImportSymbolsHandler

Public Delegate Sub OnImportSymbolsHandler(sender As Object, e As MibbrowserImportSymbolsEventArgs)

Public Class MibbrowserImportSymbolsEventArgs Inherits EventArgs
  Public ReadOnly Property Symbols As String
  Public ReadOnly Property ModuleName As String
End Class

Remarks

The Symbols parameter is a comma separated list of all symbols that must be imported from ModuleName.

The module is loaded through the LoadMib method.

MibNode Event (MibBrowser Component)

This event fires once for every child or successor of the currently selected node when invoking ListChildren or ListSuccessors .

Syntax

public event OnMibNodeHandler OnMibNode;

public delegate void OnMibNodeHandler(object sender, MibbrowserMibNodeEventArgs e);

public class MibbrowserMibNodeEventArgs : EventArgs {
  public string NodeLabel { get; }
  public string NodeOid { get; }
  public int NodeType { get; }
  public string NodeTypeString { get; }
  public int NodeSyntax { get; }
  public string NodeSyntaxString { get; }
  public int NodeAccess { get; }
  public string NodeIndex { get; }
  public string NodeParentName { get; }
  public string NodeDescription { get; }
  public string NodeModuleName { get; }
  public string NodeFileName { get; }
}
Public Event OnMibNode As OnMibNodeHandler

Public Delegate Sub OnMibNodeHandler(sender As Object, e As MibbrowserMibNodeEventArgs)

Public Class MibbrowserMibNodeEventArgs Inherits EventArgs
  Public ReadOnly Property NodeLabel As String
  Public ReadOnly Property NodeOid As String
  Public ReadOnly Property NodeType As Integer
  Public ReadOnly Property NodeTypeString As String
  Public ReadOnly Property NodeSyntax As Integer
  Public ReadOnly Property NodeSyntaxString As String
  Public ReadOnly Property NodeAccess As Integer
  Public ReadOnly Property NodeIndex As String
  Public ReadOnly Property NodeParentName As String
  Public ReadOnly Property NodeDescription As String
  Public ReadOnly Property NodeModuleName As String
  Public ReadOnly Property NodeFileName As String
End Class

Remarks

When calling either ListChildren or ListSuccessors, the MibNode event will fire once for every child of the currently selected node. The ListChildren method will cause the event will fire once for each of the immediate children of the current node. ListSuccessors cause this event to fire for each of the immediate children of the current node, as well as the entire tree of successors of those children.

NodeLabel is the name or textual representation of the current node, and is unique to its siblings. The NodeOid is the OID of the listed node and uniquely identifies the node within the entire MIB. The remaining parameters offer additional information about the listed node.

Information about the listed node is only available through the MibNode event parameters. All component properties remain related to the currently selected node.

If a MibNode is declared in more than one file or module, then the NodeFileName and NodeModuleName parameters will contain a comma separated list of files/modules where the node is declared.

For instance, the following code: MibParser.LoadMib("RFC1155-SMI") MibParser.SelectNode("internet") // OID 1.3.6.1 MibParser.ListSuccessors() will generate the following output through the event:

  directory    1.3.6.1.1
  mgmt         1.3.6.1.2
  experimental 1.3.6.1.3
  private      1.3.6.1.4
  enterprises  1.3.6.1.4.1

TrapNode Event (MibBrowser Component)

Lists module trap information.

Syntax

public event OnTrapNodeHandler OnTrapNode;

public delegate void OnTrapNodeHandler(object sender, MibbrowserTrapNodeEventArgs e);

public class MibbrowserTrapNodeEventArgs : EventArgs {
  public string TrapName { get; }
  public int SpecificTrap { get; }
  public string TrapEnterprise { get; }
  public string TrapVariables { get; }
  public string TrapDescription { get; }
  public string TrapReferences { get; }
  public string TrapModuleName { get; }
  public string TrapFileName { get; }
}
Public Event OnTrapNode As OnTrapNodeHandler

Public Delegate Sub OnTrapNodeHandler(sender As Object, e As MibbrowserTrapNodeEventArgs)

Public Class MibbrowserTrapNodeEventArgs Inherits EventArgs
  Public ReadOnly Property TrapName As String
  Public ReadOnly Property SpecificTrap As Integer
  Public ReadOnly Property TrapEnterprise As String
  Public ReadOnly Property TrapVariables As String
  Public ReadOnly Property TrapDescription As String
  Public ReadOnly Property TrapReferences As String
  Public ReadOnly Property TrapModuleName As String
  Public ReadOnly Property TrapFileName As String
End Class

Remarks

When calling ListTraps, the TrapNode event fires once for every trap found in the module.

The following are the descriptions of the event parameters:

TrapNameThe name of the trap (its label).
TrapSpecificTrapThe specific id of this trap.
TrapEnterpriseThe defining entity.
TrapVariablesA comma separated list of the symbols that should be present inside the trap.
TrapDescriptionA textual memo about the node.
TrapModuleNameThe module that contains the trap definition.
TrapFileNameThe filename of the MIB where the trap is defined.

If a trap has been defined in more than one module or file, then ModuleName and FileName will contain a comma separated list of values.

Config Settings (MibBrowser Component)

The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.

MibBrowser Config Settings

AutoLoadMibs:   Determines whether imported MIB modules are loaded automatically.

When True (default), the component will attempt to automatically load MIB imports. Only the path of the current module will be searched.

CacheDescriptions:   Controls caching of Node descriptions.

The default value is True.

When False, the component will only save the offset of the description in the MIB file in memory, and will fetch the textual description directly from the file only when required.

When using caching, make sure that the path of the loaded modules does not change or the property will be unable to fetch the correct text description.

CacheMibs:   Controls MIB module caching.

If set to True (default), a file will never be loaded/parsed more than once.

CheckNoKnownRoots:   Controls whether or not the component fails when a file with no known root is loaded.

If set to true the component will fail with an error when LoadMib is called and no root node can be found for the nodes defined in the file. When this value is False (default), Error will fire with this alert.

DisplayHint:   The DISPLAY-HINT property for the current node.

This is set to the DISPLAY-HINT property for the current node specified in NodeIndex.

Note that this config is read only.

MibExtensions:   Controls the file extensions that the component will search for.

When loading a MIB file with AutoLoadMibs enabled, this configuration setting controls what file extensions the component will search to find imported symbols. The default value is ".mib", which means the component will search files with a .mib extension or with no extension. If you set the value to ".txt, .mib", it will also search files with a .txt extension.

NodeIsColumnar:   Whether the current node is columnar.

This setting may be queried after calling SelectNode or within the MibNode event to determine if the current node is columnar.

NodeIsScalar:   Whether the current node is scalar.

This setting may be queried after calling SelectNode or within the MibNode event to determine if the current node is scalar.

ReturnEnumValues:   Comma-separated list of the current node's enumeration textual-conventions.

If set to true, and the current node references an enumeration textual-convention, then the values of the enumeration will be returned in the following format:

"label1(Value), label2(Value), label3(Value)..."

UndefinedSymbols:   Comma-separated list of nodes that have not been resolved.

For more information, please refer to the LoadMib method.

Base Config Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

GUIAvailable:   Whether or not a message loop is available for processing events.

In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The component will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.

In some non-GUI applications, an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the component does not attempt to process external events.

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g., RuntimeLicense, License File).
  • License Type: The type of license installed (e.g., Royalty Free, Single Server).
  • Last Valid Build: The last valid build number for which the license will work.
MaskSensitive:   Whether sensitive data is masked in log messages.

In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to true to mask sensitive data. The default is true.

This setting only works on these components: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.

UseInternalSecurityAPI:   Whether or not to use the system security libraries or an internal implementation.

When set to false, the component will use the system security libraries by default to perform cryptographic functions where applicable. In this case, calls to unmanaged code will be made. In certain environments, this is not desirable. To use a completely managed security implementation, set this setting to true.

Setting this configuration setting to true tells the component to use the internal implementation instead of using the system security libraries.

On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.

If using the .NET Standard Library, this setting will be true on all platforms. The .NET Standard library does not support using the system security libraries.

Note: This setting is static. The value set is applicable to all components used in the application.

When this value is set, the product's system dynamic link library (DLL) is no longer required as a reference, as all unmanaged code is stored in that file.

Trappable Errors (MibBrowser Component)

MibBrowser Errors

1000   Missing token.
1001   Unexpected token.
1002   Unexpected end of file.
1003   MIB error.
1004   Nested MIBs are not supported.
1005   Missing import.