CreateInstanceEnumWmi-Funktion

Gibt einen Enumerator zurück, der die Instanzen einer bestimmten Klasse zurückgibt, die angegebene Auswahlkriterien erfüllen.

Hinweis

Diese API ist ausschließlich für die interne Verwendung vorgesehen. Sie ist nicht für die Verwendung im Entwicklercode vorgesehen.

Syntax

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
);

Parameter

strFilter
[in] Der Name der Klasse, für die Instanzen gewünscht werden. Dieser Parameter darf nicht null sein.

lFlags
[in] Eine Kombination von Flags, die das Verhalten dieser Funktion beeinflussen. Die folgenden Werte werden in der Headerdatei WbemCli.h definiert. Alternativ können Sie sie als Konstanten im Code definieren:

Konstante Wert Beschreibung
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Wenn dieser Wert festgelegt ist, ruft die Funktion die geänderten Qualifizierer ab, die im lokalisierten Namespace des Gebietsschemas der aktuellen Verbindung gespeichert sind.
Wenn dieser Wert nicht festgelegt ist, ruft die Funktion nur die Qualifizierer ab, die im unmittelbaren Namespace gespeichert sind.
WBEM_FLAG_DEEP 0 Die Enumeration enthält diese und alle Unterklassen in der Hierarchie.
WBEM_FLAG_SHALLOW 1 Die Enumeration enthält nur reine Instanzen dieser Klasse und schließt alle Instanzen von Unterklassen aus, die Eigenschaften bereitstellen, die in dieser Klasse nicht gefunden wurden.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Das Flag verursacht einen halbsynchronen Aufruf.
WBEM_FLAG_FORWARD_ONLY 0x20 Die Funktion gibt einen Vorwärtsenumerator zurück. In der Regel sind Vorwärtsenumeratoren schneller und beanspruchen weniger Arbeitsspeicher als herkömmliche Enumeratoren. Sie ermöglichen allerdings keine Aufrufe von Clone.
WBEM_FLAG_BIDIRECTIONAL 0 WMI behält die Zeiger auf Objekte in der Enumeration bei, bis sie freigegeben werden.

Die empfohlenen Flags für eine optimale Leistung sind WBEM_FLAG_RETURN_IMMEDIATELY und WBEM_FLAG_FORWARD_ONLY.

pCtx
[in] In der Regel ist dieser Wert null. Andernfalls handelt es sich um einen Zeiger auf eine IWbemContext-Instanz, die von dem Anbieter verwendet werden kann, der die angeforderten Instanzen bereitstellt.

ppEnum
[out] Empfängt den Zeiger auf den Enumerator.

authLevel
[in] Die Autorisierungsebene.

impLevel
[in] Die Ebene des Identitätswechsels.

pCurrentNamespace
[in] Ein Zeiger auf ein IWbemServices-Objekt, das den aktuellen Namespace darstellt.

strUser
[in] Der Benutzername. Weitere Informationen finden Sie in der ConnectServerWmi-Funktion.

strPassword
[in] Das Kennwort. Weitere Informationen finden Sie in der ConnectServerWmi-Funktion.

strAuthority
[in] Der Domänenname des Benutzers. Weitere Informationen finden Sie in der ConnectServerWmi-Funktion.

Rückgabewert

Die folgenden von dieser Funktion zurückgegebenen Werte werden in der Headerdatei WbemCli.h definiert. Alternativ können Sie sie als Konstanten im Code definieren:

Konstante Wert Beschreibung
WBEM_E_ACCESS_DENIED 0x80041003 Benutzer*innen sind nicht zum Anzeigen von Instanzen der angegebenen Klasse berechtigt.
WBEM_E_FAILED 0x80041001 Ein unbekannter Fehler ist aufgetreten.
WBEM_E_INVALID_CLASS 0x80041010 strFilter existiert nicht.
WBEM_E_INVALID_PARAMETER 0x80041008 Ein Parameter ist nicht gültig.
WBEM_E_OUT_OF_MEMORY 0x80041006 Es ist nicht genügend Arbeitsspeicher verfügbar, um den Vorgang abzuschließen.
WBEM_E_SHUTTING_DOWN 0x80041033 WMI wurde wahrscheinlich beendet und startet neu. Rufen Sie ConnectServerWmi erneut auf.
WBEM_E_TRANSPORT_FAILURE 0x80041015 Fehler bei der RPC-Verbindung (Remote Procedure Call, Remoteprozeduraufruf) zwischen dem aktuellen Prozess und WMI.
WBEM_S_NO_ERROR 0 Der Funktionsaufruf war erfolgreich.

Bemerkungen

Diese Funktion umschließt einen Aufruf der IWbemServices::CreateClassEnum-Methode.

Beachten Sie, dass der zurückgegebene Enumerator null Elemente enthalten kann.

Ist der Funktionsaufruf nicht erfolgreich, können Sie durch Aufrufen der GetErrorInfo-Funktion zusätzliche Fehlerinformationen abrufen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: WMINet_Utils.idl

.NET Framework-Versionen: Seit Version 4.7.2 verfügbar

Siehe auch