다음을 통해 공유


이벤트 소비자 공급자 작성

이벤트 소비자 공급자는 영구 소비자 아키텍처의 구성 요소로 지정된 이벤트를 처리하는 영구 이벤트 소비자를 결정합니다. WMI에서 이벤트를 올바르게 라우팅하려면 영구 이벤트 소비자를 포함해 이벤트 소비자 공급자를 만들어야 합니다.

이벤트 소비자 공급자는 이벤트 공급자를 소비자 클래스 목록과 연결합니다. 그러면 해당 소비자 클래스의 인스턴스는 해당 공급자로부터 이벤트를 받습니다. WMI는 소비자 공급자 __Win32Provider 인스턴스를 논리 소비자 클래스와 연결하는 __EventConsumerProviderRegistration 인스턴스를 기반으로 이벤트가 전달되는 소비자 공급자를 식별합니다. 사용자는 영구 구독의 일부로 소비자 클래스의 인스턴스를 만듭니다. 이벤트가 발생할 때 이벤트 공급자가 실행 중이 아닌 경우 WMI는 이벤트를 제공할 때 공급자를 시작합니다.

다음 절차에서는 이벤트 소비자 공급자를 구현하는 방법을 설명합니다.

이벤트 소비자 공급자를 구현하려면

  1. 소비자 클래스를 MOF(Managed Object Format)로 디자인하고 WMI에 등록합니다. 자세한 내용은 MOF(Managed Object Format) 클래스 디자인을 참조하세요.

    클래스 공급자는 __Win32Provider 인스턴스 및 __EventConsumerProviderRegistration 클래스를 만들어 WMI에 등록합니다. 자세한 내용은 이벤트 소비자 공급자 등록을 참조하세요.

  2. 공급자에 대한 IWbemProviderInit 인터페이스를 구현합니다.

    WMI는 IWbemProviderInit를 사용하여 공급자를 로드하고 초기화합니다. 자세한 내용은 공급자 초기화를 참조하세요.

    참고

    이벤트 소비자 공급자는 다중 스레딩 모델 “둘 다”를 사용하는 것이 좋습니다.

     

  3. 공급자에 대한 IWbemEventConsumerProvider 인터페이스를 구현합니다.

    IWbemEventConsumerProvider 인터페이스는 이벤트 소비자 공급자의 기본 인터페이스입니다.

  4. WMI에서 이벤트 메시지를 수신하도록 하나 이상의 물리적 소비자를 제공합니다.

    물리적 소비자는 영구 이벤트 소비자를 나타내는 COM 개체입니다. 모든 물리적 소비자는 IWbemUnboundObjectSink 인터페이스를 구현해야 합니다. 자세한 내용은 물리적 소비자 구현을 참조하세요.