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