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

Weitere Informationen

IWbemServices

IWbemServices::CreateInstanceEnumAsync

Abrufen eines Fehlercodes