IWbemContext 인터페이스(wbemcli.h)

IWbemContext 인터페이스는 필요에 따라 WMI에 IWbemServices 호출을 제출할 때 공급자에게 추가 컨텍스트 정보를 전달하는 데 사용됩니다. IWbemServices의 모든 기본 호출은 이 형식의 개체를 가리키는 선택적 매개 변수를 사용합니다.

상속

IWbemContext 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IWbemContext 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IWbemContext 인터페이스에는 이러한 메서드가 있습니다.

 
IWbemContext::BeginEnumeration

IWbemContext::BeginEnumeration 메서드는 개체에 있는 모든 컨텍스트 값의 열거형을 다시 설정합니다.
IWbemContext::Clone

IWbemContext::Clone 메서드는 현재 IWbemContext 개체의 논리적 복사본을 만듭니다. 이 메서드는 IWbemContext 개체가 거의 동일한 많은 호출을 수행해야 하는 경우에 유용할 수 있습니다.
IWbemContext::D eleteAll

IWbemContext::D eleteAll 메서드는 현재 개체에서 명명된 모든 컨텍스트 값을 제거하므로 개체가 비워 줍니다.
IWbemContext::D eleteValue

IWbemContext::D eleteValue 메서드는 IWbemContext::SetValue에서 만든 명명된 컨텍스트 값을 삭제합니다.
IWbemContext::EndEnumeration

IWbemContext::EndEnumeration 메서드는 IWbemContext::BeginEnumeration으로 시작하는 열거형 시퀀스를 종료합니다. 이 호출은 필요하지 않지만 열거형과 연결된 시스템 리소스를 가능한 한 빨리 릴리스합니다.
IWbemContext::GetNames

IWbemContext::GetNames 메서드는 명명된 컨텍스트 값의 모든 이름의 SAFEARRAY 구조를 반환합니다.
IWbemContext::GetValue

IWbemContext::GetValue 메서드는 이름으로 명명된 특정 컨텍스트 값을 검색하는 데 사용됩니다.
IWbemContext::Next

IWbemContext::Next 메서드는 IWbemContext::BeginEnumeration으로 시작하는 모든 컨텍스트 값의 열거형에서 다음 값을 검색합니다.
IWbemContext::SetValue

IWbemContext::SetValue 메서드는 명명된 컨텍스트 값을 만들거나 덮어씁니다.

설명

동적 공급자는 IWbemServices 메서드의 일반 매개 변수에 지정된 것보다 더 많은 정보가 필요한 경우가 많습니다. 예를 들어 제공하는 WMI 스키마 개체를 조작하려면 공급자가 SNMP(Simple Network Management Protocol) 커뮤니티 이름 또는 SQL(구조적 쿼리 언어) 데이터베이스 및 테이블 이름을 알고 있어야 할 수 있습니다. 클라이언트는 IWbemContext 개체에 이 정보를 추가하고 호출과 함께 IWbemContext 개체를 매개 변수 중 하나로 보낼 수 있습니다.

공급자는 콘텐츠 개체를 드물게 사용해야 합니다. 필요하지 않은 것이 좋습니다. 공급자가 요청에 응답하기 위해 많은 양의 매우 구체적인 컨텍스트 정보가 필요한 경우 이 정보를 제공하기 위해 모든 클라이언트를 코딩해야 하므로 WMI의 기초가 되는 균일한 액세스 모델이 손상됩니다. 그럼에도 불구하고 어떤 경우에는 피할 수 없습니다. 따라서 이러한 공급자에 액세스할 수 있도록 이 메커니즘이 제공됩니다. 이러한 공급자의 개발자는 클라이언트 소프트웨어 개발자가 이러한 CIM 개체를 성공적으로 조작할 수 있도록 적절한 설명서를 제공해야 합니다.

IWbemContext를 사용하여 클라이언트가 요청에 추가 정보를 지정할 수 있도록 지원하는 공급자는 지원하는 값의 형식을 다음 목록의 형식으로 제한해야 합니다.

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • 위의 모든 항목이 VT_ARRAY
참고IWbemClassObject를 지원하는 개체만 VT_UNKNOWN 형식의 변형을 사용하여 IWbemContext instance IUnknown 메서드를 마샬링할 수 있습니다.
 
CoCreateInstanceEx를 사용하여 만든 IWbemContext 개체는 명명된 값의 간단한 컨테이너입니다. 이러한 메서드에 액세스하여 동적 공급자에 필요한 컨텍스트 정보를 입력합니다. IWbemServices 메서드 중 하나를 호출한 후 IWbemContext 개체를 다른 호출에 다시 사용하거나 Release 및 IWbemServices 메서드에 대한 다른 호출에 대해 만든 다른 개체를 사용하여 할당을 취소할 수 있습니다.

IWbemContext 개체에 포함된 정보는 전적으로 기본 공급자에 의해 결정됩니다. WMI는 정보를 사용하지 않지만 공급자에게 전달합니다. 공급자는 이러한 서비스 요청에 필요한 컨텍스트 정보를 게시해야 합니다.

클라이언트 애플리케이션은 CoCreateInstanceEx 를 호출하여 단일 컨텍스트 개체를 만듭니다. 그런 다음 SetValue 를 한 번 이상 호출하여 공급자에 대한 컨텍스트 값을 설정합니다. 마지막으로 호출이 반환된 후 컨텍스트 개체에서 Release를 즉시 호출하는 IWbemServices 메서드 중 하나에 개체를 제출합니다. 다른 메서드는 컨텍스트 개체를 수신하고 정보를 추출해야 하는 공급자가 주로 사용합니다.

요구 사항

요구 사항 값
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 wbemcli.h(Wbemidl.h 포함)

추가 정보

WMI용 COM API

C++를 사용하여 인스턴스 만들기 및 선언

WMI 호출

64비트 플랫폼에서 WMI 데이터 요청

WMI 인스턴스의 일부 검색