SWbemObject.SubclassesAsync-Methode _

Die _ SubclassesAsync-Methode von SWbemObject stellt asynchron die Unterklassen des aktuellen Objekts zur Anwendung, das eine Klasse sein muss.

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

Syntax

SWbemObject.SubclassesAsync_( _
  ByVal objWbemSink, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parameter

objWbemSink [ In]

Erforderlich. Objektsenke, die die Objekte asynchron empfängt.

iFlags [ in, optional]

Bestimmt, wie detailliert der Aufruf aufzählt. Dieser Parameter kann die folgenden Werte akzeptieren.

wbemQueryFlagDeep** (0 (0x0))

Erzwingt eine rekursive Enumeration in alle Unterklassen, die von der angegebenen übergeordneten Klasse abgeleitet werden. Die übergeordnete Klasse selbst wird in der -Enumeration nicht zurückgegeben.

wbemQueryFlagShallow** (1 (0x1))

Der Standardwert für diesen Parameter. Er erzwingt, dass die -Enumeration nur unmittelbare Unterklassen der angegebenen übergeordneten Klasse enthält.

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 Klassenänderungsdaten mit der Basisklassendefinition zurück gibt. Weitere Informationen zu geänderten Qualifizierern finden Sie unter Lokalisieren von WMI-Klasseninformationen.

objWbemNamedValueSet [ in, optional]

In der Regel ist dies nicht definiert. Andernfalls ist dies ein SWbemNamedValueSet-Objekt, dessen Elemente die Kontextinformationen darstellen, die vom Anbieter verwendet werden können, der die Anforderung bedient. Ein Anbieter, der solche Informationen unterstützt oder erfordert, 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 zur Objektsenke zurückkehrt, um die Quelle des ursprünglichen asynchronen Aufrufs zu identifizieren. Verwenden Sie diesen Parameter, wenn Sie mehrere asynchrone Aufrufe mit derselben Objektsenke ausführen. Um diesen Parameter zu verwenden, erstellen Sie ein SWbemNamedValueSet-Objekt, und verwenden Sie 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 Erfolg empfängt die Senke für jede Instanz ein OnObjectReady-Ereignis. Nach der letzten Instanz empfängt die Objektsenke ein OnCompleted-Ereignis.

Fehlercodes

Nach Abschluss der Methode SubclassesAsync _ kann das Err-Objekt einen der Fehlercodes in der folgenden Liste enthalten.

wbemErrAccessDenied – 2147749891 (0x80041003)

Der aktuelle Benutzer verfügt nicht über die Berechtigung, eine oder mehrere der vom Aufruf zurückgegebenen Klassen anzeigen zu können.

wbemErrFailed – 2147749889 (0x80041001)

Unbekannter Fehler.

wbemErrInvalidClass – 2147749904 (0x80041010)

Die angegebene Klasse ist nicht vorhanden.

wbemErrInvalidParameter – 2147749896 (0x80041008)

Ungültiger Parameter wurde angegeben.

wbemErrOutOfMemory : 2147749894 (0x80041006)

Nicht genügend Arbeitsspeicher zum Abschließen des Vorgangs.

Hinweise

Dieser Aufruf wird sofort zurückgegeben. Die angeforderten Objekte und der Status werden an den Aufrufer über Rückrufe zurückgegeben, die an die in objWbemSink angegebene Senke übermittelt werden. Um jedes Objekt zu verarbeiten, wenn es eintrifft, erstellen Sie einen objWbemSink. OnObjectReady-Ereignisunterroutine. Nachdem alle -Objekte zurückgegeben wurden, können Sie die endgültige Verarbeitung in Ihrer Implementierung von objWbemSink ausführen. OnCompleted-Ereignis.

Ein asynchroner Rückruf ermöglicht es einem nicht authentifizierten Benutzer, Daten für die Senke zur Verfügung zu stellen. Dies birgt Sicherheitsrisiken für Ihre Skripts und Anwendungen. Um die Risiken zu beseitigen, verwenden Sie entweder die semisynchrone Kommunikation oder die synchrone Kommunikation. Weitere Informationen finden Sie unter Aufrufen einer Methode.

Es wird empfohlen, dass Skripts die Quelle des Aufrufs mithilfe eines objWbemAsyncContext-Parameters überprüfen.

Es ist kein Fehler für die zurückgegebene Auflistung, null Elemente zu haben, wenn keine Unterklassen des aktuellen -Objekts enthalten sind. Die Methode SubclassesAsync _ funktioniert nur für Klassenobjekte.

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

SWbemRefreshableItem