SWbemObject.InstancesAsync_-Methode

Die InstancesAsync\_-Methode von SWbemObject stellt die Instanzen des aktuellen Klassenobjekts asynchron bereit. Diese Methode implementiert eine einfache Abfrage. Komplexere Abfragen erfordern möglicherweise die Verwendung von SWbemServices.ExecQuery.

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

Syntax

SWbemObject.InstancesAsync_( _
  ByVal objWbemSink, _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parameter

objWbemSink [in]

Objektsenke, die die Instanzen zurückgibt.

iFlags [in, optional]

Ganze Zahl, die das Verhalten des Aufrufs bestimmt. Dieser Parameter kann die folgenden Werte akzeptieren.

wbemFlagSendStatus (128 (0x80))

Bewirkt, dass asynchrone Aufrufe Statusupdates an den SWbemSink.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 die lokalisierten Klassen- und Eigenschaftsbeschreibungen zurückgibt. Weitere Informationen finden Sie unter Lokalisieren von WMI-Klasseninformationen.

objwbemNamedValueSet [in, optional]

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 Informationen unterstützt oder benötigt, muss die erkannten Wertnamen, den Datentyp des Werts, die zulässigen Werte und die Semantik dokumentieren.

objWbemAsyncContext [in, optional]

Dies ist 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 mithilfe 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. Weitere Informationen finden Sie unter Aufrufen einer Methode.

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 derInstancesAsync_-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.

Bemerkungen

Dieser Aufruf wird sofort zurückgegeben. Die angeforderten Objekte und Status werden durch Rückrufe an die Senke, die in objWbemSink angegeben ist, an die aufrufende Funktion zurückgegeben. Um jedes Objekt beim Eintreffen zu verarbeiten, erstellen Sie eine objWbemSink. OnObjectReady-Ereignisunterroutine. 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 einem nicht authentifizierten Benutzer, Daten für die Senke bereitzustellen. Dies stellt Sicherheitsrisiken für Ihre Skripts und Anwendungen dar. Um die Risiken zu vermeiden, verwenden Sie entweder semisynchrone Kommunikation oder synchrone Kommunikation. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Die InstancesAsync_-Methode funktioniert nur für Klassenobjekte. Es ist kein Fehler, wenn die zurückgegebene Sammlung 0 (null) Elemente enthält.

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_SWbemObject
IID
IID_ISWbemObject

Siehe auch

SWbemObject

SWbemObjectSet