속성 공급자는 IWbemPropertyProvider 메서드를 WMI의 기본 인터페이스로 사용합니다. IWbemPropertyProvider사용하여 클래스 및 인스턴스 속성을 검색하고 수정하는 코드를 구현할 수 있습니다.
다음 표에서는 속성 공급자에 대해 구현할 수 있는 IWbemPropertyProvider 메서드를 나열합니다.
| 메서드 | 특징 |
|---|---|
| GetProperty | 검색 |
| PutProperty | 수정 |
메모
속성 공급자를 인프로세스 공급자로 구현해야 합니다. WMI는 서비스 또는 실행 파일로 작성된 속성 공급자를 초기화하지만 해당 GetProperty 및 PutProperty 메서드를 호출하지 않습니다.
이러한 방법 중 하나를 지원하지 않도록 선택하는 경우 공급자는 WBEM_E_PROVIDER_NOT_CAPABLE반환하는 스텁 구현을 제공할 수 있습니다.
속성 공급자는 PropertyContext, InstanceContext및 ClassContext세 가지 한정자 집합으로 관리되는 클래스 또는 인스턴스를 식별합니다. WMI는 세 가지 한정자를 설명하는 문자열 상수를 통해 속성 공급자에게 전달합니다.
자산 제공자는 다음 유형의 컨텍스트 한정자를 처리할 준비가 되어 있어야 합니다.
- InstanceContext 한정자는 인스턴스에 연결되며 인스턴스의 모든 속성에 적용되는 정보를 포함합니다.
- ClassContext 한정자는 클래스에 연결되며 클래스의 모든 인스턴스에 적용되는 정보를 포함합니다. 예를 들어 레지스트리 공급자에서 제공하는 데이터를 저장하는 데 사용되는 클래스에서 ClassContext 보고할 속성을 포함하는 레지스트리 키의 경로일 수 있습니다.
- PropertyContext 한정자는 속성과 관련된 컨텍스트별 정보를 지정합니다. 예를 들어 레지스트리 공급자가 제공한 데이터를 저장하는 데 사용되는 클래스에서 PropertyContext 속성에서 저장할 레지스트리 값의 이름을 지정합니다.
이러한 한정자는 함께 작동할 수 있습니다. InstanceContext 및 PropertyContext 값을 모두 지정하여 공급자에게 특정 유형의 인스턴스를 처리하는 방법을 알려줄 수 있습니다. 예를 들어 공급자가 읽을 수 있지만 쓰기 가능한 속성이 하나만 있는 것으로 인식할 인스턴스를 표시할 수 있습니다.
사용되는 가장 일반적인 한정자는 PropertyContext. 따라서 WMI는 DynProps 한정자를 바로 가기 기능으로 제공합니다. WMI는 DynProps 표시된 인스턴스의 각 속성에 Dynamic, Provider및 PropertyContext 한정자가 있는 것으로 간주합니다.