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
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.
Implementujte všechna rozhraní jedinečná pro váš typ poskytovatele.
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.
Související témata