Sdílet prostřednictvím


CreateClassEnumWmi – funkce

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

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 CreateClassEnumWmi (
   [in] BSTR                    strSuperclass,
   [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

strSuperclass
[v] Pokud není null nebo není prázdné, určuje název nadřazené třídy; enumerátor vrátí pouze podtřídy této třídy. Pokud je null nebo je prázdné a lFlags je WBEM_FLAG_SHALLOW, vrátí pouze třídy nejvyšší úrovně (třídy bez nadřazené třídy). Pokud je null nebo prázdné a lFlags je WBEM_FLAG_DEEP, vrátí všechny třídy v oboru názvů.

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 upravené kvalifikátory uložené v lokalizovaného oboru názvů národního prostředí aktuálního připojení.
Pokud není nastavená, funkce načte pouze kvalifikátory uložené v bezprostředním oboru názvů.
WBEM_FLAG_DEEP 0 Výčet zahrnuje všechny podtřídy v hierarchii, ale ne tuto třídu.
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é nebyly 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í dopředný enumerátor. Enumerátory pouze vpřed 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 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 zajištění nejlepšího výkonu.

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.

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 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 zobrazení jedné nebo více tříd, které může funkce vrátit.
WBEM_E_FAILED 0x80041001 Došlo k nespecifikované chybě.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass 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 .

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é