다음을 통해 공유


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 개체를 다른 호출에 다시 사용하거나 ReleaseIWbemServices 메서드에 대한 다른 호출에 대해 만든 다른 개체를 사용하여 할당을 취소할 수 있습니다.

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

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

요구 사항

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

추가 정보

WMI용 COM API

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

WMI 호출

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

WMI 인스턴스의 일부 검색