Sdílet prostřednictvím


Inicializace zprostředkovatele

Jednou z prvních úloh, které musíte kódovat pro zprostředkovatele, je proces inicializace, který zahrnuje všechny úlohy, které musí váš poskytovatel provést, aby mohl odesílat a přijímat informace ze služby WMI, řídit spravovaný objekt a provádět další úlohy. Každý typ poskytovatele má jinou sadu úloh, které musí provést, a má doprovodnou sadu jedinečných rozhraní.

Všichni poskytovatelé inicializují prostřednictvím rozhraní IWbemProviderInit a informují rozhraní WMI o svém inicializačním stavu prostřednictvím rozhraní IWbemProviderInitSink.

Následující postup popisuje, jak inicializovat poskytovatele.

Inicializovat poskytovatele

  1. Implementujte IWbemProviderInit::Initialize pro vašeho poskytovatele.

    Když rozhraní WMI zjistí, že klient vyžaduje služby zprostředkovatele, rozhraní WMI načte zprostředkovatele voláním IWbemProviderInit::Initialize metoda.

  2. Implementujte všechna rozhraní jedinečná pro váš typ poskytovatele.

  3. Informujte rozhraní WMI, že váš poskytovatel dokončil inicializaci prostřednictvím volání IWbemProviderInitSink::SetStatus.

    Všechny implementace IWbemProviderInit::Initialize musí volat IWbemProviderInitSink::SetStatus pro nahlášení stavu inicializace WMI. Metoda SetStatus umožňuje rozhraní WMI určit, jestli je zprostředkovatel připravený přijímat požadavky a typ požadavků, které je zprostředkovatel připravený přijímat.

Následující postup popisuje, jak ohlásit úspěšnou inicializaci.

Ohlásit úspěšnou inicializaci

  • Nastavte parametr IStatusSetStatus na WBEM_S_INITIALIZED.

    Vrácením WBEM_S_INITIALIZEDposkytovatel indikuje připravenost na zpracování požadavků z aplikací, rozhraní WMI a dalších poskytovatelů. Po přijetí WBEM_S_INITIALIZED služba WMI provede volání metody IWbemProviderInit::QueryInterface u zprostředkovatele. Tento dotaz načte ukazatel na primární rozhraní poskytovatele.

Následující postup popisuje, jak během inicializace nahlásit chybu.

Jak nahlásit chybu během inicializace

  • Nastavte parametr IStatus systému SetStatus na hodnotu WBEM_E_FAILED. Poskytovatelé zobrazení WMI, kteří vracejí WBEM_E_FAILED, nejsou funkční.

    Rozhraní WMI uvolní ukazatel IWbemProviderInit buď po získání ukazatele na primární rozhraní poskytovatele, nebo pokud inicializace selhala.

vývoj zprostředkovatele WMI

nastavení popisovačů zabezpečení

Zabezpečení vašeho poskytovatele