클래스 개체 경로 설명

클래스 개체 경로는 네임스페이스 내에서 클래스의 위치를 설명합니다.

개체 경로를 지정하려면 다음과 같은 방법을 사용할 수 있습니다.

  • 클래스의 전체 개체 경로는 클래스 이름을 네임스페이스 경로에 추가합니다.

    다음 예제에서는 관리자로 명명된 서버의 \root\cimv2 네임스페이스 내 Win32_LogicalDisk 클래스의 위치를 보여줍니다.

    \\Admin\Root\CimV2:Win32_LogicalDisk
    
  • 상대 개체 경로는 현재 네임스페이스에 있는 클래스를 나타냅니다. 클래스에 대한 상대 개체 경로에는 클래스 이름만 포함됩니다.

    다음 예제에서는 Win32_LogicalDisk 클래스에 대한 상대 경로를 보여줍니다.

    Win32_LogicalDisk
    

클래스 이름을 쿼리하지만 인스턴스를 지정하지 않으면 WMI는 클래스 정의를 반환합니다. 다음 절차에서는 VBScript에서 클래스 정의를 검색하는 방법을 설명합니다.

VBScript에서 클래스 정의 검색하기

  • 쿼리 또는 GetObject에서 모니커 연결을 사용할 수 있습니다. SWbemServices.Get 또한 사용할 수 있습니다.

    다음 예제에서는 GetObject를 사용하여 클래스 정의를 가져오는 방법을 보여줍니다.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
       & "{impersonationLevel=impersonate}!\\" _
       & strComputer & "\root\cimv2:Win32_Printer")
    

    다음 예제에서는 클래스 정의를 쿼리하는 방법을 보여줍니다.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
    

클래스 이름과 특정 인스턴스에 대한 경로만 지정하여 C++에서 클래스 정의를 검색할 수 있습니다. 다음 절차는 C++에서 클래스 정의를 검색하는 방법을 보여줍니다.

C++에서 클래스 정의 검색하기

  • IWbemServices::GetObject 또는 IWbemServices::GetObjectAsync 함수를 호출합니다.

    다음 예제에서 IWbemServices::GetObject 함수를 호출하는 방법을 보여줍니다.

    IWbemServices* pSvcs = 0;
    
    BSTR Path = SysAllocString(L"Win32_LogicalDisk");
    IWbemClassObject *pDiskClass = 0;
    pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
    

    이전 코드 예제에서는 다음 #include 문을 올바르게 컴파일해야 합니다.

    #include <wbemidl.h>