속성 공급자의 기본 인터페이스 구현

속성 공급자는 WMI의 기본 인터페이스로 IWbemPropertyProvider 메서드를 사용합니다. IWbemPropertyProvider를 사용하면 클래스 및 인스턴스 속성을 검색하고 수정하는 코드를 구현할 수 있습니다.

다음 표에는 속성 공급자에 대해 구현할 수 있는 IWbemPropertyProvider 메서드가 나와 있습니다.

메서드 기능
GetProperty 검색
PutProperty 수정

 

참고

속성 공급자를 구현할 때는 In-Process 공급자로 구현해야 합니다. WMI는 서비스 또는 실행 파일로 작성된 속성 공급자를 초기화하지만, 해당 공급자의 GetPropertyPutProperty 메서드는 호출하지 않습니다.

 

해당 메서드 중 하나를 지원하지 않기로 선택할 경우 공급자가 WBEM_E_PROVIDER_NOT_CAPABLE을 반환하는 스텁 구현을 제공할 수 있습니다.

속성 공급자는 세 가지 한정자(PropertyContext, InstanceContext, ClassContext)를 사용하여 관리형 클래스 또는 인스턴스를 식별합니다. WMI는 이 세 가지 한정자를 설명하는 문자열 상수를 속성 공급자에 전달합니다.

속성 공급자는 다음과 같은 유형의 컨텍스트 한정자를 처리할 준비가 되어 있어야 합니다.

  • InstanceContext 한정자는 인스턴스에 연결되며, 인스턴스의 모든 속성에 적용되는 정보를 포함합니다.
  • ClassContext 한정자는 클래스에 연결되며, 클래스의 모든 인스턴스에 적용되는 정보를 포함합니다. 예를 들어, 레지스트리 공급자에서 제공하는 데이터를 저장하는 데 사용되는 클래스에서 ClassContext는 보고할 속성을 포함하는 레지스트리 키의 경로일 수 있습니다.
  • PropertyContext 한정자는 속성과 관련된 컨텍스트 관련 정보를 지정합니다. 예를 들어, 레지스트리 공급자에서 제공하는 데이터를 저장하는 데 사용되는 클래스에서 PropertyContext는 속성에 의해 저장될 레지스트리 값의 이름을 지정합니다.

세 가지 한정자는 함께 작동할 수 있습니다. InstanceContextPropertyContext 값을 지정하여 공급자에게 특정 유형의 인스턴스를 취급할 방법을 알릴 수 있습니다. 예를 들어, 공급자가 읽을 수 있는 것으로 인식하는 동시에 쓸 수 있는 속성은 하나만 있는 것으로 인식하도록 인스턴스를 표시할 수 있습니다.

가장 널리 사용되는 한정자는 PropertyContext입니다. 따라서 WMI는 바로 가기로 DynProps 한정자를 제공합니다. WMI는 DynProps로 표시된 인스턴스의 각 속성이 Dynamic, ProviderPropertyContext 한정자도 갖는다고 간주합니다.