Interfejs API COM dla usługi WMI
Interfejs API modelu obiektów składników WMI (COM) umożliwia pisanie aplikacji klienckich zarządzania lub tworzenie nowego dostawcy usługi WMI . Dokumentacja interfejsu API modelu COM zawiera informacje dla zaawansowanych administratorów systemu, a także deweloperów, którzy piszą aplikacje klienckie i dostawcy.
Aby uzyskać więcej informacji na temat pisania aplikacji do zarządzania przedsiębiorstwami WMI, zobacz Creating a WMI Application Using C++. Aby uzyskać więcej informacji na temat pisania dostawcy WMI, zobacz Dostarczanie danych do usługi WMI.
Nuta
Usługa WMI obsługuje tylko programowanie w języku C++ przy użyciu programu Microsoft Visual C++ w wersji 6.0 lub nowszej. Można jednak również użyć innych kompilatorów, takich jak te z borland i Watcom.
Każdy z różnych obiektów WMI dziedziczy z interfejsu ostatecznie dziedziczone z interfejsu IUnknown. COM określa, w jaki sposób implementatory obiektów lub interfejsy obsługują zadania, takie jak zarządzanie pamięcią, zarządzanie parametrami i wielowątkowanie. Dzięki zgodności z modelu COM interfejs API com dla usługi WMI zapewnia obsługę funkcji udostępnianych przez interfejsy każdego obiektu WMI.
Dostęp do usługi WMI jest uzyskiwany za pośrednictwem następujących interfejsów COM specyficznych dla usługi WMI.
Interfejs | Opis |
---|---|
IEnumWbemClassObject | Moduł wyliczający, który współpracuje z obiektami typu IWbemClassObject. Jest on podobny do standardowych modułów wyliczania COM, takich jak IEnumVariant. |
IMofCompiler | Zaimplementowany przez Mofd.dllinterfejs ten udostępnia interfejs COM używany przez kompilator MOF i inne aplikacje kompilujące pliki MOF. |
IUnsecuredApartment | Służy do uproszczenia procesu wykonywania wywołań asynchronicznych z procesu klienta. |
IWbemBackupRestore | Wykonuje kopię zapasową i przywraca zawartość repozytorium WMI. |
IWbemCallResult | Służy do wywołań semisynchronicznych interfejsu IWbemServices. Podczas wykonywania takich wywołań metoda o nazwie IWbemServices zwraca się natychmiast wraz z obiektem IWbemCallResult. |
IWbemCausalityAnalysis | Śledzi żądania podrzędne generowane na podstawie żądania nadrzędnego. |
IWbemClassObject | Zawiera i manipuluje zarówno definicjami klas, jak i wystąpieniami obiektów klasy. Deweloperzy nie muszą implementować tego interfejsu; Usługa WMI zapewnia jej implementację. |
IWbemConfigureRefresher | Używany przez kod klienta do dodawania lub usuwania modułów wyliczających, obiektów i zagnieżdżonych modułów odświeżania. |
IWbemContext | Opcjonalnie służy do przekazywania dodatkowych informacji kontekstowych do dostawców podczas przesyłania IWbemServices wywołań do zarządzania systemem Windows. |
IWbemDecoupledBasicEventProvider | Rejestruje wyrejestrowanych dostawców za pomocą usługi WMI. |
IWbemDecoupledRegistrar | Kojarzy oddzielonych dostawców z usługą WMI. Ten interfejs umożliwia dostawcy hostowanym przez proces definiowanie okresu istnienia współdziałania interfejsu i współistnienia z innymi dostawcami. |
IWbemEventConsumerProvider | Udostępnia podstawowy interfejs dostawcy odbiorców zdarzeń. Za pomocą tego interfejsu i metody FindConsumer dostawca odbiorców zdarzeń może wskazać, którzy odbiorcy zdarzeń powinni otrzymywać dane zdarzenie. |
IWbemEventProvider | Służy do inicjowania komunikacji z dostawcą zdarzeń. |
IWbemEventProviderQuerySink | Opcjonalnie zaimplementowane przez dostawców zdarzeń, którzy chcą wiedzieć, jakie filtry zapytań zdarzeń są obecnie aktywne w celu optymalizacji wydajności. |
IWbemEventProviderSecurity | Opcjonalnie zaimplementowane przez dostawców zdarzeń, którzy chcą ograniczyć dostęp konsumentów do swoich zdarzeń. |
IWbemEventSink | Inicjuje komunikację z dostawcą zdarzeń przy użyciu ograniczonego zestawu zapytań. Ten interfejs rozszerza IWbemObjectSink, zapewniając nowe metody radzenia sobie z zabezpieczeniami i wydajnością. |
IWbemHiPerfProvider | Umożliwia dostawcom dostarczanie odświeżanych obiektów i modułów wyliczania. |
IWbemHiPerfEnum | Używane w operacjach odświeżania w celu zapewnienia szybkiego dostępu do wyliczenia obiektów wystąpień. |
IWbemLocator | Uzyskuje początkowy wskaźnik przestrzeni nazw do interfejsu IWbemServices dla usługi WMI na określonym komputerze hosta. |
IWbemObjectAccess | Zapewnia dostęp do metod i właściwości obiektu. Obiekt IWbemObjectAccess jest kontenerem dla wystąpienia zaktualizowanego przez refresher. |
IWbemObjectSink | Służy do odbierania wyników IWbemServices i niektórych typów powiadomień o zdarzeniach. |
IWbemObjectTextSrc | Służy do tłumaczenia wystąpień IWbemClassObject na i z różnych formatów tekstu. |
IWbemPropertyProvider | Obsługuje pobieranie i aktualizowanie poszczególnych właściwości w wystąpieniu klasy WMI. |
IWbemProviderIdentity | Zaimplementowane przez dostawcę zdarzeń, jeśli dostawca rejestruje się przy użyciu więcej niż jednej nazwa (wiele wystąpień __Win32Provider) z tą samą wartością CLSID. Klasa udostępnia mechanizm rozróżniania, którego nazwanego dostawcy należy użyć. |
IWbemProviderInit | Służy do inicjowania dostawców. |
IWbemProviderInitSink | Zaimplementowane przez usługę WMI i wywoływane przez dostawców w celu raportowania stanu inicjowania. |
IWbemQualifierSet | Działa jako kontener dla całego zestawu nazwanych kwalifikatorów dla pojedynczej właściwości lub całego obiektu (klasy lub wystąpienia). |
IWbemQuery | Udostępnia punkt wejścia, za pomocą którego można przeanalizować zapytanie języka zapytań WMI (WQL). |
IWbemRefresher | Zapewnia punkt wejścia, za pomocą którego można odświeżać obiekty, takie jak moduły wyliczania lub obiekty odświeżające, można odświeżyć. |
IWbemServices | Używane przez klientów i dostawców do uzyskiwania dostępu do usług WMI. Interfejs jest implementowany tylko przez usługę WMI i jest podstawowym interfejsem usługi WMI. |
IWbemStatusCodeText | Wyodrębnia opisy ciągów tekstowych kodów błędów lub nazwę podsystemu, w którym wystąpił błąd. |
IWbemUnboundObjectSink | Zaimplementowane przez wszystkich odbiorców zdarzeń logicznych. Jest to prosty interfejs ujścia, który akceptuje dostarczanie obiektów zdarzeń. |
Nuta
Wiele funkcji com usługi WMI zwraca kody błędów liczbowych, które są udokumentowane jako nazwane stałe. Te stałe są definiowane w pliku Wbemcli.h w folderze PSDK WMI\Include. Aby uzyskać więcej informacji, zobacz kody powrotne usługi WMI.
Aby uzyskać więcej informacji na temat następujących tematów dotyczących programowania com, zobacz Component Development:
- Interfejsy i projekt obiektów.
- Implementowanie IUnknown.
- Zarządzanie pamięcią
- Obsługa zliczania odwołań.
Tematy pokrewne