Nyomott vagy húzott állapot meghatározása
Az osztályszolgáltatót modellezheti leküldéses vagy lekéréses szolgáltatóként, amely meghatározza, hogyan kommunikál a szolgáltató a WMI-vel. A lekéréses szolgáltatók kérést kapnak a WMI-től, és kielégítik a kérést az adatok dinamikus generálásával vagy egy helyi gyorsítótárból való lekérésével. A pull típusú szolgáltatóknak nagy számú interfészt kell implementálniuk.
A lekéréses szolgáltató dinamikusan hoz létre osztálydefiníciókat. A lekéréses szolgáltató által kezelt adatok általában gyakran változnak, ezért a szolgáltatónak dinamikusan kell létrehoznia az osztályt, vagy le kell kérnie az osztályt egy helyi gyorsítótárból, amikor egy alkalmazás kérést ad ki. A lekéréses szolgáltatónak saját adatlekérési, gyorsítótár- és eseményértesítési mechanizmusokat kell megvalósítania. Mivel a legtöbb szolgáltató lekéréses szolgáltató, a fájl dokumentációja feltételezi, hogy lekéréses szolgáltatót hoz létre, kivéve, ha kifejezetten másként van meghatározva.
Ezzel szemben a WMI a WMI-adattárban lévő adatokat használja a leküldéses szolgáltatók összes alkalmazáskérésének kezelésére. A leküldéses szolgáltatók kevesebb interfészmetódust is használnak, így könnyebben implementálhatóak. A leküldéses szolgáltató a WMI-adattárat tárolóhelyként használja a felügyelt objektumra vonatkozó információk tárolására, és ezeket az információkat csak az inicializálás során frissíti. A Microsoft Windows Software Development Kit (SDK) WMI szakaszában található WDM-osztályszolgáltató például leküldéses szolgáltatóként van modellezve.
Ha a WMI-adattárat tárterületként használja, a leküldéses szolgáltató a következő előnyöket élvezheti a lekéréses szolgáltatóval szemben:
- A szolgáltatónak nem kell helyi gyorsítótárat implementálnia az adatok tárolásához.
- A szolgáltatónak nem kell támogatnia az adatlekérést; ehelyett a szolgáltató a WMI-t használhatja a lekéréses támogatás biztosításához.
- Amikor egy alkalmazás adatokat kér a szolgáltatótól, a WMI teljesíti ezt a kérést.
- A szolgáltató a WMI-t is használhatja az eseményértesítések támogatásához.
Mivel azonban a leküldéses szolgáltató csak az inicializálás során frissül, előfordulhat, hogy egy osztály módosításai egy ideig nem jelennek meg a WMI-adattárban. Ezért a leküldéses szolgáltatói modell a legjobban olyan osztályokkal működik, amelyek nem változnak, vagy teljesen statikusak.