Freigeben über


SWbemServices.InstancesOfAsync-Methode

Die InstancesOfAsync-Methode des SWbemServices-Objekts ruft Instanzen einer angegebenen Klasse auf der Grundlage benutzerdefinierter Kriterien ab.

Die Methode wird im asynchronen Modus aufgerufen. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Eine Erläuterung der Syntax finden Sie in den Dokumentkonventionen für die Skripterstellungs-API.

Syntax

SWbemServices.InstancesOfAsync( _
  ByVal ObjWbemSink, _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parameter

ObjWbemSink

Objektsenke, die die Instanzen asynchron empfängt. Erstellen Sie ein SWbemSink-Objekt, um die Objekte zu empfangen.

strClass

Erforderlich. Zeichenfolge, die den Namen der Klasse für die gewünschten Instanzen enthält. Dieser Parameter darf nicht leer sein.

iFlags [optional]

Bestimmt die Tiefe der Enumeration von Aufrufen und steuert, ob der Aufruf sofort abgeschlossen wird. Dieser Parameter kann folgende Werte akzeptieren:

wbemQueryFlagShallow (1 (0x1))

Erzwingt, dass die Enumeration nur direkte Unterklassen der angegebenen übergeordneten Klasse enthält.

wbemQueryFlagDeep (0 (0x0))

Standardwert für diesen Parameter. Dieser Wert bewirkt, dass die Enumeration alle Klassen in der Hierarchie umfasst.

wbemFlagSendStatus (128 (0x80))

Bewirkt, dass asynchrone Aufrufe Statusupdates an den OnProgress-Ereignishandler für die Objektsenke senden.

wbemFlagDontSendStatus (0 (0x0))

Verhindert, dass asynchrone Aufrufe Statusupdates an den OnProgress-Ereignishandler für die Objektsenke senden.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Bewirkt, dass WMI Klassenänderungsdaten mit der Basisklassendefinition zurückgibt. Weitere Informationen finden Sie unter Lokalisieren von WMI-Klasseninformationen.

objWbemNamedValueSet [optional]

Dies ist in der Regel nicht definiert. Andernfalls handelt es sich um ein SWbemNamedValueSet-Objekt, dessen Elemente die Kontextinformationen darstellen, die von dem Anbieter verwendet werden können, der die Anforderung verarbeitet. Ein Anbieter, der solche Kontextinformationen unterstützt oder benötigt, muss die erkannten Wertnamen, den Datentyp des Werts, die zulässigen Werte und die Semantik dokumentieren.

objWbemAsyncContext [optional]

Ein SWbemNamedValueSet-Objekt, das an die Objektsenke zurückgegeben wird, um die Quelle des ursprünglichen asynchronen Aufrufs zu identifizieren. Verwenden Sie diesen Parameter, wenn Sie mehrere asynchrone Aufrufe mit derselben Objektsenke ausführen. Zur Verwendung dieses Parameters erstellen Sie ein SWbemNamedValueSet-Objekt und verwenden die SWbemNamedValueSet.Add-Methode, um einen Wert hinzuzufügen, der den asynchronen Aufruf identifiziert, den Sie ausführen. Dieses SWbemNamedValueSet-Objekt wird an die Objektsenke zurückgegeben, und die Quelle des Aufrufs kann mithilfe der SWbemNamedValueSet.Item-Methode extrahiert werden.

Rückgabewert

Diese Methode gibt keinen Wert zurück. Bei erfolgreicher Ausführung empfängt die Senke ein OnObjectReady-Ereignis pro Instanz. Nach der letzten Instanz empfängt die Objektsenke ein OnCompleted-Ereignis.

Fehlercodes

Nach Abschluss der InstancesOfAsync-Methode enthält das Err-Objekt möglicherweise einen der Fehlercodes aus der folgenden Liste:

wbemErrAccessDenied – 2147749891 (0x80041003)

Der aktuelle Benutzer bzw. die aktuelle Benutzerin ist nicht zum Anzeigen von Instanzen der angegebenen Klasse berechtigt.

wbemErrFailed – 2147749889 (0x80041001)

Ein unbekannter Fehler ist aufgetreten.

wbemErrInvalidClass – 2147749904 (0x80041010)

Die angegebene Klasse ist ungültig.

wbemErrInvalidParameter – 2147749896 (0x80041008)

Ein angegebener Parameter ist ungültig.

wbemErrOutOfMemory – 2147749894 (0x80041006)

Es ist nicht genügend Arbeitsspeicher zum Abschließen des Vorgangs vorhanden.

Hinweise

Dieser Aufruf wird sofort zurückgegeben. Die angeforderten Objekte und Status werden durch Rückrufe an die aufrufende Funktion zurückgegeben, die an die in objWbemSink angegebene Senke übermittelt werden. Erstellen Sie eine objWbemSink.OnObjectReady-Ereignisunterroutine, um die einzelnen Objekte bei der Rückgabe zu verarbeiten. Nachdem alle Objekte zurückgegeben wurden, können Sie die endgültige Verarbeitung in Ihrer Implementierung des objWbemSink.OnCompleted-Ereignisses durchführen.

Ein asynchroner Rückruf ermöglicht es nicht authentifizierten Benutzer*innen, Daten für die Senke bereitzustellen. Dies stellt Sicherheitsrisiken für Ihre Skripts und Anwendungen dar. Informationen zur Beseitigung der Risiken finden Sie unter Festlegen der Sicherheit für einen asynchronen Aufruf.

Die InstancesOfAsync-Methode funktioniert nur für Klassenobjekte. Es ist kein Fehler, wenn der zurückgegebene Enumerator null Elemente hat.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Header
Wbemdisp.h
Typbibliothek
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Siehe auch

SWbemServices

Aufrufen einer Methode