Bewerken

Share via


InstrumentationType Enum

Definition

Specifies the type of instrumentation provided by a class.

Note: the WMI .NET libraries are now considered in final state, and no further development, enhancements, or updates will be available for non-security related issues affecting these libraries. The MI APIs should be used for all new development.

public enum class InstrumentationType
public enum InstrumentationType
type InstrumentationType = 
Public Enum InstrumentationType
Inheritance
InstrumentationType

Fields

Name Value Description
Instance 0

The class provides instances for management instrumentation.

Event 1

The class provides events for management instrumentation.

Abstract 2

The class defines an abstract class for management instrumentation.

Examples

The following example demonstrates how to create a management event class by using the InstrumentationType enumeration.

using System;
using System.Management;
using System.Configuration.Install;
using System.Management.Instrumentation;

// This example demonstrates how to create
// a management event class by using
// the InstrumentationType enumeration

// Specify which namespace the management event
// class is created in
[assembly:Instrumented("Root/Default")]

// Let the system know you will run
// InstallUtil.exe tool against this assembly
[System.ComponentModel.RunInstaller(true)]
public class MyInstaller :
    DefaultManagementProjectInstaller {}

namespace WMISample
{
    // Create a management instrumentation event class
    [InstrumentationClass(InstrumentationType.Event)]
    public class MyEvent
    {
        private string EventName;
        public void setEventName(string name)
        {
            EventName = name;
        }
    }

    public class WMIInstrumentedEventExample
    {
        public static void Main()
        {
            MyEvent e = new MyEvent();
            e.setEventName("Hello");

            // Fire a management event
            Instrumentation.Fire(e);
            return;
        }
    }
}
Imports System.Management
Imports System.Configuration.Install
Imports System.Management.Instrumentation

' This sample demonstrates how to create
' a management event class by using
' the InstrumentationType enumeration

' Specify which namespace the management event
' class is created in
<Assembly: Instrumented("Root/Default")> 

' Let the system know InstallUtil.exe tool will
' be run against this assembly
<System.ComponentModel.RunInstaller(True)> _
Public Class MyInstaller
    Inherits DefaultManagementProjectInstaller
End Class

Namespace WMISample
    ' Create a management instrumentation event class
    <InstrumentationClass(InstrumentationType.Event)> _
    Public Class MyEvent
        Private EventName As String
        Function setEventName(ByVal name As String)
            EventName = name
        End Function
    End Class

    Public Class SampleEventProvider
        Public Shared Function Main(ByVal args() _
            As String) As Integer

            Dim e As New MyEvent
            e.setEventName("Hello")

            ' Fire a management event
            System.Management.Instrumentation. _
                Instrumentation.Fire(e)

            Return 0
        End Function
    End Class
End Namespace

Applies to