Zprostředkovatelé ladění
Poskytovatelé, pokud nejsou oddělení poskytovatelé spuštěné v rámci aplikace, jsou načteni do procesu Wmiprvse.exe, a ne prostřednictvím Svchost.exe s Winmgmt.exe procesem. Další informace naleznete v tématu Poskytovatel hostingu a zabezpečení.
Při zastavení na zarážce ladicí program sady Visual Studio zamrazí celý proces hostitele poskytovatele, který je obvykle sdíleným hostitelem Wmiprvse.exe. Tím zabráníte provozu všech dalších komponent hostovaných v tomto procesu, včetně rozšíření WMI Server Explorer. Klientské aplikace, které do poskytovatele volají, jsou také blokované. Problémy, které z toho vyplývají, jsou horší ve Windows 2000 a starších verzích, protože je poskytovatel načten do procesu služby WMI (Winmgmt.exe).
Pokud spustíte Průzkumníka serveru WMI v jiné instanci, integrované vývojové prostředí sady Visual Studio se nezablokuje a můžete uvolnit zarážku. Doporučujeme, abyste během fáze vývoje spustili svého poskytovatele v samostatném hostitelském procesu, takže zastavení na lomu zablokuje pouze proces, který hostuje vašeho poskytovatele. Ostatní funkce rozhraní WMI jsou nadále přístupné pro Server Explorer služby WMI a všechny ostatní aplikace nebo skripty založené na rozhraní WMI. Také pokud váš poskytovatel zhavaruje, neovlivní to provoz ostatních poskytovatelů načtených do stejného hostitelského procesu.
Pokud chcete, aby se váš poskytovatel spustil ve vlastním hostitelském procesu, upravte registraci zprostředkovatele tak, aby nastavila vlastnost __Win32Provider.HostingModel na NetworkServiceHost:[MyProvider]
, přičemž MyProvider může být jakýkoli řetězec, který jednoznačně identifikuje vašeho poskytovatele. Například použijte hodnotu __Win32Provider.ClsId. Jakmile je váš poskytovatel připraven k odeslání, vraťte __Win32Provider.HostingModel k zamýšlené hodnotě, například NetworkServiceHost.
Pokud neladíte načítání zprostředkovatele, můžete zavolat metodu Load třídy MSFT_Providers, abyste vynutili načtení svého zprostředkovatele, poté se připojte k procesu Wmiprvse.exe, který má knihovnu DLL načtenou, a podle potřeby laděte.
Související témata
-
Třídy pro řešení potíží rozhraní WMI