다음을 통해 공유


ManagementObject.Get 메서드

정의

관리 개체에 바인딩합니다.

오버로드

Get()

관리 개체에 WMI 클래스 정보를 바인딩합니다.

Get(ManagementOperationObserver)

관리 개체에 비동기적으로 바인딩합니다.

설명

.NET Framework 보안

직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.

Get()

Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs

관리 개체에 WMI 클래스 정보를 바인딩합니다.

public:
 void Get();
public void Get ();
member this.Get : unit -> unit
Public Sub Get ()

예제

다음 예제에서는 메서드를 Get 호출하여 클래스의 ManagementObject instance 가져옵니다.

using System;
using System.Management;

class Sample
{
    public static int Main(string[] args)
    {
        ManagementObject o =
            new ManagementObject("MyClass.Name='abc'");

        //this causes an implicit Get().
        string s = o["Name"].ToString();

        Console.WriteLine(s);

        //or :

        ManagementObject mObj =
            new ManagementObject("MyClass.Name= 'abc'");
        mObj.Get(); //explicitly
        // Now it is faster because the object
        // has already been retrieved.
        string property = mObj["Name"].ToString();

        Console.WriteLine(property);

        return 0;
    }
}
Imports System.Management

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

        Dim o As New ManagementObject( _
            "MyClass.Name=""abc""")

        'this causes an implicit Get().
        Dim s As String = o("SomeProperty")

        Console.WriteLine(s)

        'or :

        Dim mObj As New ManagementObject("MyClass.Name= ""abc""")
        mObj.Get()  'explicitly 
        ' Now it is faster because the object
        ' has already been retrieved.
        Dim p As String = mObj("SomeProperty")

        Console.WriteLine(p)

        Return 0
    End Function
End Class

설명

메서드는 WMI 개체에 정보를 얻거나 설정하려는 첫 번째 시도에서 암시적으로 호출됩니다. 또한 사용자의 재량에 따라 명시적으로 호출하여 검색 시기와 방법을 더 잘 제어할 수 있습니다.

.NET Framework 보안

직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.

적용 대상

Get(ManagementOperationObserver)

Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs

관리 개체에 비동기적으로 바인딩합니다.

public:
 void Get(System::Management::ManagementOperationObserver ^ watcher);
public void Get (System.Management.ManagementOperationObserver watcher);
member this.Get : System.Management.ManagementOperationObserver -> unit
Public Sub Get (watcher As ManagementOperationObserver)

매개 변수

watcher
ManagementOperationObserver

작업 결과를 이벤트로 받을 개체입니다.

예제

다음 예제에서는 메서드를 Get 호출하여 클래스의 ManagementObject instance 비동기적으로 가져옵니다.

using System;
using System.Management;

public class AsyncGetExample
{
    public AsyncGetExample()
    {
        ManagementObject o =
            new ManagementObject(
            "Win32_Process.Name='notepad.exe'");

        // Set up handlers for asynchronous get
        ManagementOperationObserver ob =
            new ManagementOperationObserver();
        ob.Completed += new
            CompletedEventHandler(this.Done);

        // Get the object asynchronously
        o.Get(ob);

        // Wait until operation is completed
        while (!this.Completed)
            System.Threading.Thread.Sleep (1000);

        // Here you can use the object
    }

    private bool completed = false;

    private void Done(object sender,
        CompletedEventArgs e)
    {
        Console.WriteLine("async Get completed !");
        completed = true;
    }

    private bool Completed
    {
        get
        {
            return completed;
        }
    }

    public static void Main()
    {
        AsyncGetExample example =
            new AsyncGetExample();
    }
}
Imports System.Management

Class AsyncGetExample

    Public Sub New()

        Dim o As New ManagementObject( _
            "Win32_Process.Name=""notepad.exe""")

        'Set up handlers for asynchronous get
        Dim ob As New ManagementOperationObserver
        AddHandler ob.Completed, AddressOf Me.Done

        'Get the object asynchronously
        o.Get(ob)

        'Wait until operation is completed
        While Not Me.Completed
            System.Threading.Thread.Sleep(1000)
        End While

        'Here you can use the object

    End Sub

    Private _completed As Boolean = False

    Private Sub Done(ByVal sender As Object, _
        ByVal e As CompletedEventArgs)
        Console.WriteLine("async Get completed !")
        _completed = True
    End Sub

    Private ReadOnly Property Completed() As Boolean
        Get
            Return _completed
        End Get
    End Property

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

        Dim example As New AsyncGetExample

        Return 0

    End Function


End Class

설명

메서드는 개체를 가져오는 요청을 실행한 다음 즉시 반환됩니다. 그런 다음, 작업 결과는 제공된 감시자 개체에서 발생하는 이벤트를 통해 전달됩니다.

.NET Framework 보안

직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분적으로 신뢰할 수 있는 코드에서 라이브러리를 사용 하 여입니다.

적용 대상