Sdílet prostřednictvím


CreateInstanceEnumWmi – funkce

Vrátí enumerátor, který vrací instance zadané třídy, které splňují zadaná kritéria výběru.

Poznámka

Toto rozhraní API je pouze pro interní použití. Není určen pro použití z vývojářského kódu.

Syntaxe

HRESULT CreateInstanceEnumWmi (
   [in] BSTR                    strFilter,
   [in] long                    lFlags,
   [in] IWbemContext*           pCtx,
   [out] IEnumWbemClassObject** ppEnum,
   [in] DWORD                   authLevel,
   [in] DWORD                   impLevel,
   [in] IWbemServices*          pCurrentNamespace,
   [in] BSTR                    strUser,
   [in] BSTR                    strPassword,
   [in] BSTR                    strAuthority
);

Parametry

strFilter
[v] Název třídy, pro kterou jsou instance požadované. Tento parametr nemůže být null.

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 tato funkce nastavená, načte změněné kvalifikátory uložené v lokalizovaných oborech názvů národního prostředí aktuálního připojení.
Pokud není funkce nastavená, načte pouze kvalifikátory uložené v bezprostředním oboru názvů.
WBEM_FLAG_DEEP 0 Výčet zahrnuje tuto a všechny podtřídy v hierarchii.
WBEM_FLAG_SHALLOW 1 Výčet zahrnuje pouze čisté instance této třídy a vylučuje všechny instance podtříd, které poskytují vlastnosti, které nejsou nalezeny v této třídě.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Příznak způsobí polosynchronní volání.
WBEM_FLAG_FORWARD_ONLY 0x20 Funkce vrátí enumerátor jen dopředný. Enumerátory pouze pro předávání jsou obvykle rychlejší a využívají méně paměti než konvenční enumerátory, ale neumožňují volání clone.
WBEM_FLAG_BIDIRECTIONAL 0 Rozhraní WMI uchovává ukazatele na objekty ve výčtu, dokud nebudou uvolněny.

Doporučené příznaky jsou WBEM_FLAG_RETURN_IMMEDIATELY a WBEM_FLAG_FORWARD_ONLY pro nejlepší výkon.

pCtx
[v] Tato hodnota je nullobvykle . V opačném případě se jedná o ukazatel na instanci IWbemContext , který může být použit zprostředkovatelem, který poskytuje požadované instance.

ppEnum
[out] Přijme ukazatel na enumerátor.

authLevel
[v] Úroveň autorizace.

impLevel
[v] Úroveň zosobnění.

pCurrentNamespace
[v] Ukazatel na objekt IWbemServices , který představuje aktuální obor názvů.

strUser
[v] Uživatelské jméno. Další informace najdete ve funkci ConnectServerWmi .

strPassword
[v] Heslo. Další informace najdete ve funkci ConnectServerWmi .

strAuthority
[v] Název domény uživatele. Další informace najdete ve funkci ConnectServerWmi .

Vrácená hodnota

Následující hodnoty vrácené touto funkcí jsou definovány v souboru hlaviček WbemCli.h nebo je můžete definovat jako konstanty ve vašem kódu:

Konstanta Hodnota Popis
WBEM_E_ACCESS_DENIED 0x80041003 Uživatel nemá oprávnění k zobrazení instancí zadané třídy.
WBEM_E_FAILED 0x80041001 Došlo k nespecifikované chybě.
WBEM_E_INVALID_CLASS 0x80041010 strFilter Neexistuje.
WBEM_E_INVALID_PARAMETER 0x80041008 Parametr není platný.
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::CreateClassEnum .

Všimněte si, že vrácený enumerátor může obsahovat nula prvků.

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

Viz také