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ří nebo aktualizuje instanci existující třídy. Instance se zapíše do úložiště WMI.
Poznámka:
Toto rozhraní API je určené jenom pro interní použití. Není určen pro použití z vývojářského kódu.
Syntaxe
HRESULT PutInstanceWmi (
[in] IWbemClassObject* pInst,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemCallResult** ppCallResult
);
Parametry
pInst
[v] Ukazatel na instanci, která se má zapsat.
lFlags
[v] Kombinace příznaků, které ovlivňují chování této funkce. Následující hodnoty jsou definovány v souboru záhlaví WbemCli.h nebo je můžete definovat jako konstanty v kódu:
| Konstanta | Hodnota | Description |
|---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | V případě nastavení rozhraní WMI neukládá žádné kvalifikátory s příchutí Amended . Pokud není nastavena, předpokládá se, že tento objekt není lokalizovaný a všechny kvalifikátory jsou uloženy s touto instancí. |
WBEM_FLAG_CREATE_OR_UPDATE |
0 | Vytvořte instanci, pokud neexistuje, nebo ji přepište, pokud již existuje. |
WBEM_FLAG_UPDATE_ONLY |
1 | Aktualizujte instanci. Instance musí existovat, aby volání bylo úspěšné. |
WBEM_FLAG_CREATE_ONLY |
2 | Vytvořte instanci. Volání selže, pokud instance již existuje. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | Příznak způsobí polosynchronní volání. |
pCtx
[v] Obvykle je tato hodnota null. Jinak se jedná o ukazatel na instanci IWbemContext , kterou může použít zprostředkovatel poskytující požadované třídy.
ppCallResult
[ven] Pokud nullse tento parametr 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ý IWbemCallResult objektu.
Návratová hodnota
Následující hodnoty vrácené touto funkcí jsou definovány v souboru záhlaví WbemCli.h nebo je můžete definovat jako konstanty v kódu:
| Konstanta | Hodnota | Description |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | Uživatel nemá oprávnění k aktualizaci instance zadané třídy. |
WBEM_E_FAILED |
0x80041001 | Došlo k nezadané chybě. |
WBEM_E_INVALID_CLASS |
0x80041010 | Třída podporující tuto instanci není platná. |
WBEM_E_ILLEGAL_NULL |
0x80041028 |
null byla zadána pro vlastnost, která nemůže být null, například vlastnost, která je označena Indexed nebo Not_Null kvalifikátorem. |
WBEM_E_INVALID_OBJECT |
0x8004100f | Zadaná instance není platná. (Volání s třídou například PutInstanceWmi vrátí tuto hodnotu.) |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Parametr není platný. |
WBEM_E_ALREADY_EXISTS |
0x80041019 | Byl WBEM_FLAG_CREATE_ONLY zadán příznak, ale instance již existuje. |
WBEM_E_NOT_FOUND |
0x80041002 |
WBEM_FLAG_UPDATE_ONLY byla zadána v lFlags, ale instance neexistuje. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | K dokončení operace není k dispozici dostatek paměti. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | Rozhraní WMI bylo pravděpodobně zastaveno a restartován. Znovu volejte ConnectServerWmi . |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Propojení vzdáleného volání procedur (RPC) mezi aktuálním procesem a rozhraním WMI se nezdařilo. |
WBEM_S_NO_ERROR |
0 | Volání funkce bylo úspěšné. |
Poznámky
Tato funkce zabalí volání metody IWbemServices::P utInstance .
Funkce PutInstanceWmi podporuje pouze vytváření instancí a aktualizaci instancí existujících tříd. V závislosti na nastavení parametru pCtx se aktualizují některé nebo všechny vlastnosti instance.
Když instance, na kterou pInst odkazuje, patří do podtřídy, windows Management volá všechny zprostředkovatele zodpovědné za třídy, ze kterých je podtřída odvozena. Všichni tito poskytovatelé musí být úspěšní, aby původní PutInstanceWmi požadavek uspěl. Poskytovatel podporující nejvyšší třídu v hierarchii se nazývá jako první. Pořadí volání pokračuje podtřídou nejvyšší třídy a pokračuje shora dolů, dokud správa systému Windows nedosáhne zprostředkovatele pro třídu, která vlastní instanci, na kterou pInstodkazuje .
Správa systému Windows nevolá zprostředkovatele pro žádnou podřízenou třídu instance.
Když aplikace musí aktualizovat instanci, která patří do hierarchie tříd, pInst musí parametr odkazovat na instanci obsahující vlastnosti, které se mají upravit. To znamená, že zvažte cílovou instanci, která patří do TřídyB. Instance ClassB je odvozena z ClassA a ClassA definuje vlastnost PropA. Pokud aplikace chce provést změnu hodnoty PropA v ClassB instanci, musí být nastavena pInst na danou instanci místo instance ClassA.
Volání PutInstanceWmi instance abstraktní třídy není povoleno.
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