SWbemServices.InstancesOf 메서드

SWbemServices 개체의 InstancesOf 메서드는 사용자 지정 선택 조건에 따라 지정된 클래스의 인스턴스를 반환하는 열거자를 만듭니다. 이 메서드는 간단한 쿼리를 구현합니다. 보다 복잡한 쿼리는 SWbemServices.ExecQuery를 사용해야 할 수 있습니다.

메서드는 반동기 모드에서 호출됩니다. 자세한 내용은 메서드 호출을 참조하세요.

이 구문에 대한 설명은 스크립팅 API의 문서 규칙을 참조하세요.

구문

objWbemObjectSet = .InstancesOf( _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

매개 변수

strClass

필수 요소. 인스턴스가 필요한 클래스의 이름이 포함된 문자열입니다. 이 매개 변수는 공백일 수 없습니다.

iFlags [선택 사항]

이 매개 변수는 호출이 얼마나 자세하게 열거되는지와 이 호출이 즉시 반환되는지 여부를 결정합니다. 이 매개 변수의 기본값은 wbemFlagReturnImmediately입니다. 이 매개 변수는 다음 값을 허용할 수 있습니다.

wbemFlagForwardOnly(32(0x20))

정방향 전용 열거자가 반환되도록 합니다. 정방향 전용 열거자는 일반적으로 기존 열거자보다 훨씬 빠르고 메모리를 덜 사용하지만 SWbemObject.Clone_에 대한 호출을 허용하지 않습니다.

wbemFlagBidirectional(0(0x0))

클라이언트가 열거자를 해제할 때까지 WMI가 열거형 개체에 대한 포인터를 유지하도록 합니다.

wbemFlagReturnImmediately(16(0x10))

이 매개 변수의 기본값입니다. 이 플래그는 호출이 즉시 반환되도록 합니다.

wbemFlagReturnWhenComplete(0(0x0))

쿼리가 완료될 때까지 이 호출을 차단합니다. 이 플래그는 동기 모드에서 메서드를 호출합니다.

wbemQueryFlagShallow(1(0x1))

지정된 부모 클래스의 직계 하위 클래스만 포함하도록 열거형에 강제 적용합니다.

wbemQueryFlagDeep(0(0x0))

이 매개 변수의 기본값입니다. 이 값은 열거형이 계층 구조의 모든 클래스를 포함하도록 합니다.

wbemFlagUseAmendedQualifiers(131072(0x20000))

WMI가 기본 클래스 정의와 함께 클래스 수정 데이터를 반환하도록 합니다. 자세한 내용은 WMI 클래스 정보 지역화를 참조하세요.

objWbemNamedValueSet [optional]

일반적으로 이는 정의되지 않습니다. 그렇지 않으면 요청을 서비스하는 공급자가 사용할 수 있는 컨텍스트 정보를 나타내는 요소가 있는 SWbemNamedValueSet 개체입니다. 그러한 정보를 지원하거나 요구하는 공급자는 인식된 값 이름, 값의 데이터 형식, 허용된 값 및 의미 체계를 문서화해야 합니다.

반환 값

성공하면 메서드는 SWbemObjectSet를 반환합니다.

오류 코드

InstancesOf 메서드가 완료되면 Err 개체에 다음 목록의 오류 코드 중 하나가 포함될 수 있습니다.

참고

요소가 0인 반환된 열거자는 오류가 아닙니다.

wbemErrAccessDenied - 2147749891(0x80041003)

현재 사용자는 지정된 클래스의 인스턴스를 볼 수 있는 권한이 없습니다.

wbemErrFailed - 2147749889(0x80041001)

지정되지 않은 오류가 발생했습니다.

wbemErrInvalidClass - 2147749904(0x80041010)

지정된 클래스가 잘못되었습니다.

wbemErrInvalidParameter - 2147749896(0x80041008)

지정된 매개 변수가 잘못되었습니다.

wbemErrOutOfMemory - 2147749894(0x80041006)

메모리가 부족하여 작업을 완료할 수 없습니다.

설명

InstancesOf 메서드는 클래스 개체에 대해서만 작동합니다.

기본적으로 InstancesOf는 심층 검색을 수행합니다. 즉, InstancesOf는 식별하는 관리되는 리소스의 모든 인스턴스와 대상 클래스 아래에 정의된 모든 하위 클래스의 모든 인스턴스를 검색합니다. 예를 들어, 다음 스크립트는 CIM_Service 추상 클래스 아래에 정의된 모든 동적 클래스에 의해 모델링된 모든 리소스를 검색합니다.

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("CIM_Service")
For Each objSWbemObject In colSWbemObjectSet
    Wscript.Echo "Object Path: " & objSWbemObject.Path_.Path
Next

이 스크립트를 실행하면 정보를 다시 가져올 수 있습니다. 그러나 이 정보는 컴퓨터에 설치된 서비스에 국한되지 않습니다. 대신 Win32_SystemDriverWin32_ApplicationService를 포함하여 CIM_Service의 모든 자식 클래스 정보를 포함합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
헤더
Wbemdisp.h
유형 라이브러리
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

추가 정보

SWbemServices

SWbemObjectSet