CreateInstanceEnumWmi, funkcja

Zwraca moduł wyliczający, który zwraca wystąpienia określonej klasy spełniające określone kryteria wyboru.

Uwaga

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

Składnia

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
[w] Nazwa klasy, dla której są wymagane wystąpienia. Ten parametr nie może być nullparametrem .

lFlags
[w] Kombinacja flag, które wpływają na zachowanie tej funkcji. Następujące wartości są zdefiniowane w pliku nagłówka 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 te i wszystkie podklasy w hierarchii.
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, których nie można odnaleźć w tej klasie.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Flaga powoduje wywołanie półsynchroniczne.
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 wyliczane, 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
[w] Zazwyczaj ta wartość to null. W przeciwnym razie jest to wskaźnik do wystąpienia IWbemContext , które może być używane przez dostawcę dostarczającego żądane wystąpienia.

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

authLevel
[w] Poziom autoryzacji.

impLevel
[w] Poziom personifikacji.

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

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

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

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

Wartość zwracana

Następujące wartości zwracane przez tę funkcję są zdefiniowane w pliku nagłówka 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 wystąpień określonej klasy.
WBEM_E_FAILED 0x80041001 Wystąpił nieokreślony błąd.
WBEM_E_INVALID_CLASS 0x80041010 strFilter nie istnieje.
WBEM_E_INVALID_PARAMETER 0x80041008 Parametr jest nieprawidłowy.
WBEM_E_OUT_OF_MEMORY 0x80041006 Za mało pamięci jest dostępna do ukończenia operacji.
WBEM_E_SHUTTING_DOWN 0x80041033 Prawdopodobnie usługa WMI została 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 .

Zwróć uwagę, że zwrócony moduł wyliczający może mieć zero elementów.

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

.NET Framework wersje: dostępne od wersji 4.7.2

Zobacz też