Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vytvoří novou třídu nebo aktualizuje existující třídu.
Poznámka
Toto rozhraní API je určené pouze pro interní použití. Není určen pro použití z kódu vývojáře.
Syntaxe
HRESULT PutClassWmi (
[in] IWbemClassObject* pObject,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemCallResult** ppCallResult
);
Parametry
pObject
[v] Ukazatel na platnou definici třídy. Musí být správně inicializován se všemi požadovanými hodnotami vlastností.
lFlags
[v] Kombinace příznaků, které ovlivňují chování této funkce. Následující hodnoty jsou definovány v hlavičkovém souboru WbemCli.h nebo je můžete definovat jako konstanty v kódu:
| Konstanta | Hodnota | Popis |
|---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Pokud je nastavená, rozhraní WMI neukládá žádné kvalifikátory s upravenou příchutí. Pokud není nastaven, předpokládá se, že tento objekt není lokalizován a všechny kvalifikátory jsou uloženy s touto instancí. |
WBEM_FLAG_CREATE_OR_UPDATE |
0 | Vytvořte třídu, pokud neexistuje, nebo ji přepište, pokud již existuje. |
WBEM_FLAG_UPDATE_ONLY |
1 | Aktualizujte třídu . Třída musí existovat, aby volání bylo úspěšné. |
WBEM_FLAG_CREATE_ONLY |
2 | Vytvořte třídu . Volání selže, pokud třída již existuje. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | Příznak způsobí polosynchronní volání. |
WBEM_FLAG_OWNER_UPDATE |
0x10000 | Zprostředkovatelé nabízených oznámení musí při volání PutClassWmi zadat tento příznak, aby bylo možné indikovat, že se tato třída změnila. |
WBEM_FLAG_UPDATE_COMPATIBLE |
0 | Umožňuje aktualizaci třídy, pokud neexistují žádné odvozené třídy a žádné instance této třídy. Umožňuje také aktualizace ve všech případech, pokud se změna týká pouze nedůležitých kvalifikátorů, jako je kvalifikátor popisu. Pokud třída obsahuje instance nebo se změní důležité kvalifikátory, aktualizace se nezdaří. |
WBEM_FLAG_UPDATE_SAFE_MODE |
0x20 | Umožňuje aktualizace tříd, i když existují podřízené třídy, pokud změna nezpůsobí žádné konflikty s podřízenými třídami. Tento příznak například umožňuje přidat novou vlastnost do základní třídy, která nebyla dříve zmíněna v žádné z podřízených tříd. Pokud třída obsahuje instance, aktualizace se nezdaří. |
WBEM_FLAG_UPDATE_FORCE_MODE |
0x40 | vynutí aktualizace tříd, pokud existují konfliktní podřízené třídy. Tento příznak například vynutí aktualizaci, pokud je kvalifikátor třídy definován v podřízené třídě a základní třída se pokusí přidat stejný kvalifikátor, který je v konfliktu s existujícím. V režimu vynucení se konflikt tis vyřeší odstraněním konfliktní kvalifikátoru v podřízené třídě. |
pCtx
[v] Tato hodnota je nullobvykle . Jinak se jedná o ukazatel na instanci IWbemContext , který může být použit zprostředkovatelem, který poskytuje požadované třídy.
ppCallResult
[out] Pokud null, tento parametr se nepoužívá. Pokud lFlags obsahuje WBEM_FLAG_RETURN_IMMEDIATELY, vrátí funkce okamžitě s WBEM_S_NO_ERROR. Parametr ppCallResult obdrží ukazatel na nový objekt IWbemCallResult .
Vrácená hodnota
Následující hodnoty vrácené touto funkcí jsou definovány v hlavičce souboru WbemCli.h nebo je můžete definovat jako konstanty v kódu:
| Konstanta | Hodnota | Popis |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | Uživatel nemá oprávnění k vytváření nebo úpravám tříd. |
WBEM_E_FAILED |
0x80041001 | Došlo k nespecifikované chybě. |
WBEM_E_INVALID_CLASS |
0x80041010 | Zadaná třída není platná. Obvykle to znamená, že pObject určuje objekt instance. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Parametr není platný. |
WBEM_E_INVALID OPERATION |
0x80041016 | Zadaný název třídy není platný. |
WBEM_E_CLASS_HAS_CHILDREN |
0x80041025 | Došlo k pokusu o provedení změny, která by zneplatnila podtřídu. |
WBEM_E_ALREADY_EXISTS |
0x80041019 | Příznak WBEM_FLAG_CREATE_ONLY byl zadán, ale třída již existuje. |
WBEM_E_NOT_FOUND |
0x80041002 |
WBEM_FLAG_UPDATE_ONLY byla zadána v lFlagsa třída nebyla nalezena. |
WBEM_E_INCOMPLETE_CLASS |
0x80041020 | Požadované vlastnosti pro třídy nebyly nastaveny všechny. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | K dokončení operace není k dispozici dostatek paměti. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | Rozhraní WMI se pravděpodobně zastavilo a restartovalo. Znovu zavolejte ConnectServerWmi . |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Propojení vzdáleného volání procedur (RPC) mezi aktuálním procesem a rozhraním WMI selhalo. |
WBEM_S_NO_ERROR |
0 | Volání funkce bylo úspěšné. |
Poznámky
Tato funkce zabalí volání metody IWbemServices::P utClass .
Uživatel nesmí vytvářet třídy s názvy, které začínají nebo končí podtržítkem.
Pokud volání funkce selže, můžete získat další informace o chybě voláním funkce GetErrorInfo .
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: WMINet_Utils.idl
Verze rozhraní .NET Framework: K dispozici od verze 4.7.2