COM API a WMI-hez
A WMI Component Object Model (COM) API használatával felügyeleti ügyfélalkalmazásokat írhat, vagy létrehozhat egy új WMI-szolgáltatót. A COM API-referencia információkat nyújt a fejlett rendszergazdáknak, valamint az ügyfél- és szolgáltatóalkalmazásokat író fejlesztőknek.
A WMI vállalati felügyeleti alkalmazások írásával kapcsolatos további információkért lásd: WMI-alkalmazás létrehozása C++használatával. A WMI-szolgáltatók írásáról további információt A WMI-adatainak megadása című témakörben talál.
Jegyzet
A WMI csak a C++ fejlesztést támogatja a Microsoft Visual C++ 6.0-s és újabb fejlesztői rendszereivel. Használhat azonban más fordítókat is, például a Borlandből és a Watcomból származó fordítókat.
A különböző WMI-objektumok örökölnek egy felületet, amely végül a IUnknown interfésztől öröklődik. A COM határozza meg, hogyan kezelik az objektum-végrehajtók vagy interfészek az olyan feladatokat, mint a memóriakezelés, a paraméterkezelés és a többszálúság. A COM-nak megfelelően a WMI-hez készült COM API biztosítja, hogy támogatja az egyes WMI-objektumok interfészei által biztosított funkciókat.
A WMI a következő WMI-specifikus COM-felületeken érhető el.
Interfész | Leírás |
---|---|
IEnumWbemClassObject | Enumerátor, amely IWbemClassObjecttípusú objektumokkal működik. Hasonló a szabványos COM-számokat, például IEnumVariant. |
IMofCompiler | A Mofd.dlláltal implementált felület egy COM-felületet biztosít, amelyet az MOF-fordító és az MOF-fájlokat fordító egyéb alkalmazások használnak. |
IUnsecuredApartment | Az ügyfélfolyamat aszinkron hívásainak egyszerűbbé tételére szolgál. |
IWbemBackupRestore | Biztonsági másolatot készít és visszaállítja a WMI-adattár tartalmát. |
IWbemCallResult | A IWbemServices interfész félszinkron hívásához használatos. Ilyen hívások esetén a hívott IWbemServices metódus azonnal visszatér egy IWbemCallResult objektummal együtt. |
IWbemCausalityAnalysis | Nyomon követi a szülőkérelmekből létrehozott gyermekkéréseket. |
IWbemClassObject | Osztálydefiníciókat és osztályobjektum-példányokat tartalmaz és kezel. A fejlesztőknek nem kell implementálniuk ezt a felületet; A WMI biztosítja a megvalósítását. |
IWbemConfigureRefresher | Az ügyfélkód enumerátorok, objektumok és beágyazott frissítők frissítéséhez vagy eltávolításához használja. |
IWbemContext | Ha szeretné, további környezeti információkat is közölhet a szolgáltatókkal, amikor IWbemServices hívásokat küld a Windows Managementnek. |
IWbemDecoupledBasicEventProvider | A leválasztott szolgáltatókat a WMI-vel regisztrálja. |
IWbemDecoupledRegistrar | Társítja a leválasztott szolgáltatókat a WMI-vel. Ez az interfész lehetővé teszi a folyamat által üzemeltetett szolgáltató számára, hogy meghatározza az interfész együttműködési élettartamát, és együtt létezhet más szolgáltatókkal. |
IWbemEventConsumerProvider | Az eseményfogyó szolgáltató elsődleges felületét biztosítja. Ezen a felületen és a FindConsumer metóduson keresztül az eseményfogyasztók jelezhetik, hogy mely eseményfelhasználók kapjanak egy adott eseményt. |
IWbemEventProvider | Az eseményszolgáltatóval való kommunikáció kezdeményezésére szolgál. |
IWbemEventProviderQuerySink | Igény szerint olyan eseményszolgáltatók implementálják, akik szeretnék tudni, hogy milyen típusú esemény lekérdezési szűrők vannak jelenleg aktívak a teljesítmény optimalizálásához. |
IWbemEventProviderSecurity | Igény szerint olyan eseményszolgáltatók hajtják végre, akik korlátozni szeretnék a fogyasztók számára az eseményhez való hozzáférést. |
IWbemEventSink | Korlátozott lekérdezések használatával kezdeményezi a kommunikációt egy eseményszolgáltatóval. Ez az interfész kibővíti IWbemObjectSink, amely új módszereket biztosít a biztonság és a teljesítmény kezelésére. |
IWbemHiPerfProvider | Lehetővé teszi a szolgáltatók számára, hogy frissíthető objektumokat és enumerátorokat adjanak meg. |
IWbemHiPerfEnum | A frissítő műveletekben a példányobjektumok számbavételéhez való gyors hozzáférést biztosít. |
IWbemLocator | Beolvasja a kezdeti névtérmutatót a IWbemServices felületére a WMI-hez egy adott gazdagépen. |
IWbemObjectAccess | Hozzáférést biztosít egy objektum metódusaihoz és tulajdonságaihoz. Az IWbemObjectAccess objektum egy frissítőáltal frissített példány tárolója. |
IWbemObjectSink | A IWbemServices és bizonyos típusú eseményértesítések eredményeinek fogadására szolgál. |
IWbemObjectTextSrc | IWbemClassObject-példányok különböző szövegformátumokra való fordítására szolgál. |
IWbemPropertyProvider | Támogatja az egyes tulajdonságok lekérését és frissítését egy WMI-osztály példányában. |
IWbemProviderIdentity | Eseményszolgáltató által implementálva, ha a szolgáltató több név (több __Win32Providerpéldánya) regisztrálja magát ugyanazzal a CLSID értékkel. Az osztály egy mechanizmust biztosít a névvel ellátott szolgáltató megkülönböztetésére. |
IWbemProviderInit | A szolgáltatók inicializálására szolgál. |
IWbemProviderInitSink | A WMI implementálta, és a szolgáltatók meghívták az inicializálás állapotának jelentésére. |
IWbemQualifierSet | Tárolóként szolgál egyetlen tulajdonság vagy teljes objektum (osztály vagy példány) nevesített minősítőinek teljes készletéhez. |
IWbemQuery | Egy belépési pontot biztosít, amelyen keresztül egy WMI-lekérdezési nyelv (WQL) lekérdezés elemezhető. |
IWbemRefresher | Egy belépési pontot biztosít, amelyen keresztül frissíthetők a frissíthető objektumok, például az enumerátorok vagy a frissítő objektumok. |
IWbemServices | Az ügyfelek és szolgáltatók használják a WMI-szolgáltatások eléréséhez. Az interfészt csak a WMI implementálja, és az elsődleges WMI-felület. |
IWbemStatusCodeText | Kinyeri a hibakódok szöveges sztring-leírását vagy annak az alrendszernek a nevét, ahol a hiba történt. |
IWbemUnboundObjectSink | Minden logikai eseményfelhasználó implementálva. Ez egy egyszerű fogadófelület, amely fogadja az eseményobjektumok kézbesítését. |
Jegyzet
A WMI COM-függvények közül sok numerikus hibakódokat ad vissza, amelyek nevesített állandókként vannak dokumentálva. Ezek az állandók a Wbemcli.h-ban vannak definiálva a PSDK WMI\Include mappában. További információ: WMI-visszatérési kódok.
A COM-programozás alábbi témaköreiről további információt Komponensfejlesztésicímű témakörben talál:
- Interfészek és objektumtervezés.
- Az IUnknownimplementálása.
- Memóriakezelés
- Referenciaszámlálás kezelése.
Kapcsolódó témakörök