Megosztás a következőn keresztül:


PutClassWmi függvény

Létrehoz egy új osztályt, vagy frissít egy meglévőt.

Megjegyzés

Ez az API csak belső használatra készült. Nem fejlesztői kódból való használatra készült.

Szintaxis

HRESULT PutClassWmi (
   [in] IWbemClassObject*    pObject,
   [in] long                 lFlags,
   [in] IWbemContext*        pCtx,
   [out] IWbemCallResult**   ppCallResult
);

Paraméterek

pObject
[in] Egy érvényes osztálydefinícióra mutató mutató. Helyesen kell inicializálni az összes szükséges tulajdonságértékkel.

lFlags
[in] A függvény működését befolyásoló jelzők kombinációja. A WbemCli.h fejlécfájlban a következő értékek vannak definiálva, vagy konstansként definiálhatók a kódban:

Állandó Érték Leírás
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Ha be van állítva, a WMI nem tárol módosított ízű minősítőket.
Ha nincs beállítva, a rendszer feltételezi, hogy ez az objektum nincs honosítva, és az összes minősítő ezzel a példánnyal van tárolva.
WBEM_FLAG_CREATE_OR_UPDATE 0 Hozza létre az osztályt, ha még nem létezik, vagy írja felül, ha már létezik.
WBEM_FLAG_UPDATE_ONLY 1 Frissítse az osztályt. Az osztálynak léteznie kell ahhoz, hogy a hívás sikeres legyen.
WBEM_FLAG_CREATE_ONLY 2 Hozza létre az osztályt. A hívás meghiúsul, ha az osztály már létezik.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 A jelző félszinkron hívást eredményez.
WBEM_FLAG_OWNER_UPDATE 0x10000 A leküldéses szolgáltatóknak ezt a jelzőt kell megadniuk a híváskor PutClassWmi , hogy jelezzék, hogy ez az osztály megváltozott.
WBEM_FLAG_UPDATE_COMPATIBLE 0 Lehetővé teszi egy osztály frissítését, ha nincsenek származtatott osztályok és az osztály példányai. Emellett minden esetben lehetővé teszi a frissítéseket, ha a módosítás csak a nem lényeges minősítőkre vonatkozik, például a Leírás minősítőre. Ha az osztályban vannak példányok, vagy a fontos minősítők módosulnak, a frissítés sikertelen lesz.
WBEM_FLAG_UPDATE_SAFE_MODE 0x20 Engedélyezi az osztályok frissítését akkor is, ha vannak gyermekosztályok, ha a módosítás nem okoz ütközést a gyermekosztályokkal. Ez a jelző például lehetővé teszi egy új tulajdonság hozzáadását az alaposztályhoz, amely korábban egyik gyermekosztályban sem volt megemlítve. Ha a osztály rendelkezik példányokkal, a frissítés sikertelen lesz.
WBEM_FLAG_UPDATE_FORCE_MODE 0x40 kényszeríti az osztályok frissítését, ha ütköző gyermekosztályok léteznek. Ez a jelző például egy frissítést kényszerít ki, ha egy osztályminősítő definiálva van egy gyermekosztályban, és az alaposztály megpróbálja hozzáadni ugyanazt a minősítőt, amely ütközik a meglévővel. Kényszerített módban a tis-ütközés feloldása az ütközést jelző gyermekosztályban való törlésével oldható fel.

pCtx
[in] Ez az érték nulláltalában . Ellenkező esetben ez egy IWbemContext-példányra mutató mutató, amelyet a kért osztályokat biztosító szolgáltató használhat.

ppCallResult
[kifelé] Ha nulla paraméter nincs használatban. Ha lFlags tartalmazza a értéket WBEM_FLAG_RETURN_IMMEDIATELY, a függvény azonnal a következővel WBEM_S_NO_ERRORtér vissza: . A ppCallResult paraméter egy új IWbemCallResult objektumra mutató mutatót kap.

Visszatérési érték

A függvény által visszaadott alábbi értékek a WbemCli.h fejlécfájlban vannak definiálva, vagy konstansként definiálhatók a kódban:

Állandó Érték Leírás
WBEM_E_ACCESS_DENIED 0x80041003 A felhasználónak nincs engedélye osztályok létrehozására vagy módosítására.
WBEM_E_FAILED 0x80041001 Meghatározatlan hiba történt.
WBEM_E_INVALID_CLASS 0x80041010 A megadott osztály érvénytelen. Ez általában azt jelzi, hogy pObject egy példányobjektumot határoz meg.
WBEM_E_INVALID_PARAMETER 0x80041008 Érvénytelen paraméter.
WBEM_E_INVALID OPERATION 0x80041016 A megadott osztálynév érvénytelen.
WBEM_E_CLASS_HAS_CHILDREN 0x80041025 Kísérlet történt egy olyan módosításra, amely érvénytelenítene egy alosztályt.
WBEM_E_ALREADY_EXISTS 0x80041019 A WBEM_FLAG_CREATE_ONLY jelölő meg lett adva, de az osztály már létezik.
WBEM_E_NOT_FOUND 0x80041002 WBEM_FLAG_UPDATE_ONLY a paraméterben lFlagslett megadva, és a osztály nem található.
WBEM_E_INCOMPLETE_CLASS 0x80041020 Az osztályokhoz szükséges tulajdonságok nem lettek beállítva.
WBEM_E_OUT_OF_MEMORY 0x80041006 Nincs elegendő memória a művelet végrehajtásához.
WBEM_E_SHUTTING_DOWN 0x80041033 A WMI valószínűleg leállt, és újraindult. Hívja meg újra a ConnectServerWmi parancsot.
WBEM_E_TRANSPORT_FAILURE 0x80041015 Az aktuális folyamat és a WMI közötti távoli eljáráshívási (RPC-) kapcsolat meghiúsult.
WBEM_S_NO_ERROR 0 A függvényhívás sikeres volt.

Megjegyzések

Ez a függvény az IWbemServices::P utClass metódus hívását burkolja .

A felhasználó nem hozhat létre aláhúzásjellel kezdődő vagy végződő neveket tartalmazó osztályokat.

Ha a függvényhívás sikertelen, további hibainformációkat kaphat a GetErrorInfo függvény meghívásával.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: WMINet_Utils.idl

.NET-keretrendszer verziók: 4.7.2 óta érhető el

Lásd még