Methode SWbemObject.SubclassesAsync_
Die Methode SubclassesAsync_ von SWbemObject stellt asynchron die Unterklassen des aktuellen Objekts bereit, wobei es sich um eine Klasse handeln 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 auflistet wird. Dieser Parameter kann die folgenden Werte akzeptieren.
-
wbemQueryFlagDeep (0 (0x0))
-
Erzwingt die rekursive Enumeration aller Unterklassen, die aus der angegebenen übergeordneten Klasse abgeleitet werden. Die übergeordnete Klasse selbst wird in der Enumeration nicht zurückgegeben.
-
wbemQueryFlagShallow (1 (0x1))
-
Standardwert für diesen Parameter. Erzwingt, dass die Enumeration nur direkte 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ückgibt. Weitere Informationen zu geänderten Qualifizierern 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 zur Objektsenke zurückgibt, um die Quelle des ursprünglichen asynchronen Aufrufs zu identifizieren. Verwenden Sie diesen Parameter, wenn Sie mehrere asynchrone Aufrufe mithilfe derselben Objektsenke auszuführen. Erstellen Sie ein SWbemNamedValueSet-Objekt, um diesen Parameter zu nutzen, 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 erfolgreicher Ausführung empfängt die Senke ein Ereigns OnObjectReady für jede Instanz. Nach der letzten Instanz empfängt die Objektsenke ein OnCompleted-Ereignis.
Fehlercodes
Nach Abschluss der Methode SubclassesOfAsync enthält das Objekt Err möglicherweise einen der Fehlercodes aus der folgenden Liste.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
Der aktuelle Benutzer oder die aktuelle Benutzerin verfügt nicht über die Berechtigung zum Anzeigen einer oder mehrerer Klassen, die vom Aufruf zurückgegeben werden.
-
wbemErrFailed – 2147749889 (0x80041001)
-
Unbekannter Fehler.
-
wbemErrInvalidClass – 2147749904 (0x80041010)
-
Die angegebene Klasse ist nicht vorhanden.
-
wbemErrInvalidParameter – 2147749896 (0x80041008)
-
Es wurde ein ungültiger Parameter angegeben.
-
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. Erstellen Sie eine objWbemSink.OnObjectReady-Ereignisunterroutine, um jedes Objekt beim Eintreffen 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. Um die Risiken zu vermeiden, verwenden Sie entweder semisynchrone Kommunikation oder synchrone Kommunikation. Weitere Informationen finden Sie unter Aufrufen einer Methode.
Es wird empfohlen, dass Skripts die Quelle des Aufrufs mithilfe eines Parameters objWbemAsyncContext überprüfen.
Es ist kein Fehler, dass die zurückgegebene Sammlung null Elemente enthält, wenn keine Unterklassen des aktuellen Objekts vorhanden 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 |
|
Typbibliothek |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |