Udostępnij przez


CreateClassEnumWmi, funkcja

Zwraca moduł wyliczający dla wszystkich klas spełniających określone kryteria wyboru.

Uwaga

Ten interfejs API jest przeznaczony tylko do użytku wewnętrznego. Nie jest przeznaczony do użycia z poziomu kodu dewelopera.

Składnia

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
[in] Jeśli klasa nie null jest pusta, określa nazwę klasy nadrzędnej. Moduł wyliczający zwraca tylko podklasy tej klasy. Jeśli wartość jest null pusta lub lFlags jest WBEM_FLAG_SHALLOW, zwraca tylko klasy najwyższego poziomu (klasy bez klasy nadrzędnej). Jeśli wartość jest null pusta lub jest WBEM_FLAG_DEEPpusta, lFlags funkcja zwraca wszystkie klasy w przestrzeni nazw.

lFlags
[in] Kombinacja flag wpływających na zachowanie tej funkcji. Następujące wartości są definiowane w pliku nagłówkowym WbemCli.h lub można je zdefiniować jako stałe w kodzie:

Stała Wartość Opis
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 W przypadku ustawienia funkcja pobiera zmienione kwalifikatory przechowywane w zlokalizowanej przestrzeni nazw ustawień regionalnych bieżącego połączenia.
Jeśli nie zostanie ustawiona, funkcja pobiera tylko kwalifikatory przechowywane w bezpośredniej przestrzeni nazw.
WBEM_FLAG_DEEP 0 Wyliczenie obejmuje wszystkie podklasy w hierarchii, ale nie tę klasę.
WBEM_FLAG_SHALLOW 1 Wyliczenie obejmuje tylko czyste wystąpienia tej klasy i wyklucza wszystkie wystąpienia podklas, które dostarczają właściwości nieznajdujące się w tej klasie.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Flaga powoduje wywołanie semisynchroniczne.
WBEM_FLAG_FORWARD_ONLY 0x20 Funkcja zwraca moduł wyliczający tylko do przodu. Zazwyczaj moduły wyliczania tylko do przodu są szybsze i używają mniejszej ilości pamięci niż konwencjonalne moduły wyliczania, ale nie zezwalają na wywołania klonowania.
WBEM_FLAG_BIDIRECTIONAL 0 Usługa WMI zachowuje wskaźniki do obiektów w wyliczeń do momentu ich wydania.

Zalecane flagi to WBEM_FLAG_RETURN_IMMEDIATELY i WBEM_FLAG_FORWARD_ONLY w celu uzyskania najlepszej wydajności.

pCtx
[in] Zazwyczaj ta wartość to null. W przeciwnym razie jest to wskaźnik do wystąpienia IWbemContext , który może być używany przez dostawcę dostarczającego żądane klasy.

ppEnum
[out] Odbiera wskaźnik do modułu wyliczającego.

authLevel
[in] Poziom autoryzacji.

impLevel
[in] Poziom personifikacji.

pCurrentNamespace
[in] Wskaźnik do obiektu IWbemServices , który reprezentuje bieżącą przestrzeń nazw.

strUser
[in] Nazwa użytkownika. Aby uzyskać więcej informacji, zobacz funkcję ConnectServerWmi .

strPassword
[in] Hasło. Aby uzyskać więcej informacji, zobacz funkcję ConnectServerWmi .

strAuthority
[in] Nazwa domeny użytkownika. Aby uzyskać więcej informacji, zobacz funkcję ConnectServerWmi .

Wartość zwracana

Następujące wartości zwracane przez tę funkcję są definiowane w pliku nagłówkowym WbemCli.h lub można je zdefiniować jako stałe w kodzie:

Stała Wartość Opis
WBEM_E_ACCESS_DENIED 0x80041003 Użytkownik nie ma uprawnień do wyświetlania co najmniej jednej klasy, którą funkcja może zwrócić.
WBEM_E_FAILED 0x80041001 Wystąpił nieokreślony błąd.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass nie istnieje.
WBEM_E_INVALID_PARAMETER 0x80041008 Parametr jest nieprawidłowy.
WBEM_E_OUT_OF_MEMORY 0x80041006 Za mało pamięci, aby ukończyć operację.
WBEM_E_SHUTTING_DOWN 0x80041033 Usługa WMI została prawdopodobnie zatrzymana i uruchomiona ponownie. Ponownie wywołaj metodę ConnectServerWmi .
WBEM_E_TRANSPORT_FAILURE 0x80041015 Połączenie zdalnego wywołania procedury (RPC) między bieżącym procesem a usługą WMI nie powiodło się.
WBEM_S_NO_ERROR 0 Wywołanie funkcji zakończyło się pomyślnie.

Uwagi

Ta funkcja opakowuje wywołanie metody IWbemServices::CreateClassEnum .

Jeśli wywołanie funkcji zakończy się niepowodzeniem, możesz uzyskać dodatkowe informacje o błędzie, wywołując funkcję GetErrorInfo .

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: WMINet_Utils.idl

wersje .NET Framework: dostępne od wersji 4.7.2

Zobacz też