다음을 통해 공유


공급자 초기화

공급자에 대해 코딩해야 하는 첫 번째 작업 중 하나는 공급자가 WMI에서 정보를 보내고 받고 관리되는 개체를 제어하고, 다른 작업을 수행할 수 있도록 하는 모든 작업을 포함하는 초기화 프로세스입니다. 공급자의 각 유형에는 수행해야 하는 다른 작업 집합이 있으며 함께 제공되는 고유한 인터페이스 집합이 있습니다.

그러나 모든 공급자는 IWbemProviderInit 인터페이스를 통해 초기화하고 IWbemProviderInitSink 인터페이스를 통해 초기화 상태를 WMI에 알릴 수 있습니다.

다음 절차에서 공급자 초기화 방법을 설명합니다.

공급자 초기화

  1. 공급자에 대해 IWbemProviderInit::Initialize를 구현합니다.

    WMI가 클라이언트에 공급자의 서비스가 필요하다고 판단되면 WMI는 IWbemProviderInit::Initialize 메서드를 호출해 공급자를 로드합니다.

  2. 공급자 유형에 고유한 인터페이스를 구현합니다.

  3. 공급자는 IWbemProviderInitSink::SetStatus를 호출해 초기화가 완료되었다는 것을 WMI에 알릴 수 있습니다.

    IWbemProviderInit::Initialize의 모든 구현은 IWbemProviderInitSink::SetStatus를 호출하여 초기화 상태를 WMI에 보고해야 합니다. SetStatus 메서드를 사용하면 공급자가 요청을 받을 준비가 되었는지 여부와 공급자가 받을 준비가 된 요청 유형을 WMI에서 확인할 수 있습니다.

다음 절차에서는 성공적인 초기화를 보고하는 방법을 설명합니다.

성공적인 초기화 보고

  • SetStatusIStatus 매개 변수를 WBEM_S_INITIALIZED에 설정합니다.

    WBEM_S_INITIALIZED를 반환하면 공급자는 응용 프로그램, WMI 및 기타 공급자의 요청을 처리할 준비가 되었음을 나타냅니다. WBEM_S_INITIALIZED를 받은 후 WMI는 공급자에서 IWbemProviderInit::QueryInterface 메서드를 호출합니다. 이 쿼리는 공급자의 기본 인터페이스에 대한 포인터를 검색합니다.

다음 절차에서는 초기화 중에 오류를 보고하는 방법을 설명합니다.

초기화 도중 오류 보고

  • SetStatusIStatus 매개 변수를 WBEM_E_FAILED에 설정합니다. WBEM_E_FAILED를 작동하지 않는 것으로 반환하는 WMI 뷰 공급자입니다.

    WMI는 WMI가 공급자의 기본 인터페이스에 대한 포인터를 가져온 후 또는 초기화에 실패한 후 IWbemProviderInit 포인터를 해제합니다.

WMI 공급자 개발

네임스페이스 보안 설명자 설정

공급자 보안