속성 공급자 등록

WMI 속성 공급자를 만들려면 __PropertyProviderRegistration 인스턴스를 사용하여 공급자를 표시하는 __Win32Provider 인스턴스를 등록해야 합니다. COM 개체로서 공급자는 운영 체제 및 WMI에 등록해야 합니다. 다음 절차에서는 공급자 등록에 설명된 대로 등록 프로세스를 이미 구현했다고 가정합니다.

다음 절차에서는 속성 공급자를 등록하는 방법을 설명합니다.

속성 공급자 등록

  1. 속성 공급자를 설명하는 __Win32Provider 클래스의 인스턴스를 만듭니다.

    __Win32Provider 클래스는 Pure 속성의 TRUE 값 같은 다른 속성의 기본값을 허용합니다. 자세한 내용은 __Win32Provider를 참조하세요.

  2. 공급자의 기능 집합을 설명하는 __PropertyProviderRegistration 클래스의 인스턴스를 만듭니다.

    __PropertyProviderRegistration 클래스는 특정 기능에 대한 지원을 나타내는 부울 값과 쿼리 지원을 나타내는 문자열 배열을 제공하는 __ObjectProviderRegistration 부모 클래스에서 많은 속성을 상속합니다.

    DynamicProvider 한정자를 모두 사용하여 클래스에 태그를 지정해야 합니다. Dyanmic 한정자는 WMI가 동적 공급자를 사용하여 지원되는 속성을 포함하는 클래스 인스턴스를 검색해야 한다는 신호를 보냅니다. Provider 한정자는 WMI에서 사용해야 하는 공급자의 이름을 지정합니다.

WMI는 클라이언트 소비자가 해당 이벤트 공급자가 지원하는 이벤트에 대한 참조를 포함하는 이벤트 필터 쿼리를 등록할 때 이벤트 공급자에서 NewQuery를 호출합니다. 따라서 EmailClass 클래스에 대한 인스턴스 수정 이벤트를 담당하는 이벤트 공급자는 보낸 사람에게만 알림을 생성하도록 설정할 수 있습니다. 공급자가 주체 속성 변경에 대한 알림을 요청하는 쿼리를 받으면 공급자가 해당 알림 생성을 시작할 수 있습니다. 이 시나리오에서는 WMI가 받는 사람 변경 내용만 보고하는 알림을 삭제할 필요가 없습니다.

다음 MOF 코드 예제에서는 속성 공급자를 등록하는 데 사용할 수 있는 인스턴스에 대해 설명합니다.

  instance of __Win32Provider as $P
  {
    Name    = "PropProvider" ;
    ClsId   = "{E30EC6A0-23CF-11d1-8FDE-0000F804AA5C}" ;
  };    

  instance of __PropertyProviderRegistration
  {
    Provider = $P;
    SupportsGet = TRUE;
    SupportsPut = FALSE;
  };

참고

관리자만 __Win32Provider__PropertyProviderRegistration의 인스턴스를 만들어 속성 공급자를 등록할 수 있습니다.