IWbemServices::CreateInstanceEnum-Methode (wbemcli.h)
Die IWbemServices::CreateInstanceEnum-Methode erstellt einen Enumerator, der die Instanzen einer angegebenen Klasse gemäß den vom Benutzer angegebenen Auswahlkriterien zurückgibt. Diese Methode unterstützt einfache WQL-Abfragen. komplexere Abfragen können mit der IWbemServices::ExecQuery-Methode verarbeitet werden.
Syntax
HRESULT CreateInstanceEnum(
[in] const BSTR strFilter,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parameter
[in] strFilter
Gültiger BSTR mit dem Namen der Klasse, für die Instanzen gewünscht werden. Dieser Parameter darf nicht NULL sein.
[in] lFlags
Die folgenden Flags wirken sich auf das Verhalten dieser Methode aus. Der vorgeschlagene Wert für diesen Parameter ist WBEM_FLAG_RETURN_IMMEDIATELY und WBEM_FLAG_FORWARD_ONLY , um eine optimale Leistung zu erzielen.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Wenn dieses Flag festgelegt ist, ruft WMI die geänderten Qualifizierer ab, die im lokalisierten Namespace des Gebietsschemas der aktuellen Verbindung gespeichert sind. Wenn nicht festgelegt, werden nur die im unmittelbaren Namespace gespeicherten Qualifizierer abgerufen.
WBEM_FLAG_DEEP
Dieses Flag erzwingt, dass die Enumeration diese und alle Unterklassen in die Hierarchie einschließt.
WBEM_FLAG_SHALLOW
Dieses Flag erzwingt, dass die Enumeration nur reine Instanzen dieser Klasse enthält, wobei alle Instanzen von Unterklassen ausgeschlossen sind, die Eigenschaften bereitstellen, die in dieser Klasse nicht gefunden wurden.
WBEM_FLAG_RETURN_IMMEDIATELY
Dieses Flag bewirkt, dass es sich um einen semisynchronen Aufruf handelt. Weitere Informationen finden Sie unter Aufrufen einer Methode.
WBEM_FLAG_FORWARD_ONLY
Dieses Flag bewirkt, dass ein forward-only-Enumerator zurückgegeben wird. Forward-Only-Enumeratoren sind im Allgemeinen viel schneller und verbrauchen weniger Arbeitsspeicher als herkömmliche Enumeratoren, lassen jedoch keine Aufrufe zum Klonen oder Zurücksetzen zu.
WBEM_FLAG_BIDIRECTIONAL
Dieses Flag bewirkt, dass die Windows-Verwaltung Zeiger auf Objekte der Enumeration behält, bis der Client den Enumerator freigibt. Da Objektzeiger nicht sofort freigegeben werden, schlägt diese Methode möglicherweise mit einem hResult von WBEM_E_OUT_OF_MEMORY fehl, wenn der Client versucht, eine große Anzahl von Objekten aufzulisten. Dieses Flag wird standardmäßig impliziert, wenn Sie den lFlags-Parameter auf 0 (null) festlegen.
WBEM_FLAG_DIRECT_READ
Dieses Flag bewirkt einen direkten Zugriff auf den Anbieter für die angegebene Klasse ohne Rücksicht auf die übergeordnete Klasse oder Unterklassen.
[in] pCtx
In der Regel NULL. Andernfalls ist dies ein Zeiger auf ein IWbemContext-Objekt , das von dem Anbieter verwendet werden kann, der die angeforderten Instanzen bereitstellt. Die Werte im Kontextobjekt müssen in der Dokumentation für den betreffenden Anbieter angegeben werden. Weitere Informationen zu diesem Parameter finden Sie unter Ausführen von Aufrufen an WMI.
[out] ppEnum
Empfängt den Zeiger auf den Enumerator, der eine positive Verweisanzahl aufweist. Der Aufrufer muss IUnknown::Release auf dem Zeiger aufrufen, nachdem er nicht mehr benötigt wird.
Rückgabewert
Diese Methode gibt ein HRESULT zurück, das den Status des Methodenaufrufs angibt. In der folgenden Liste ist der in einem HRESULT enthaltene Wert aufgeführt.
Bei einem Fehler können Sie alle verfügbaren Informationen über die COM-Funktion GetErrorInfo abrufen.
COM-spezifische Fehlercodes können auch zurückgegeben werden, wenn Netzwerkprobleme dazu führen, dass die Remoteverbindung mit der Windows-Verwaltung verloren geht.
Hinweise
Es ist kein Fehler, wenn der zurückgegebene Enumerator 0-Elemente aufweist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | wbemcli.h (include Wbemidl.h) |
Bibliothek | Wbemuuid.lib |
DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |