Freigeben über


SWbemServices.SubclassesOfAsync-Methode

Die SubclassesOfAsync-Methode des SWbemServices-Objekts gibt eine Sammlung von Unterklassen für eine angegebene Klasse zurück. Verwenden Sie diese Methode nur für Klassenobjekte.

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

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

Syntax

SWbemServices.SubclassesOfAsync( _
  ByVal ObjWbemSink, _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parameter

ObjWbemSink

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

strSuperclass [optional]

Gibt den Namen einer übergeordneten Klasse an. Nur die Klassen, die Unterklassen dieser Klasse sind, werden im Enumerator zurückgegeben. Wenn dieser Parameter leer ist und iFlags auf wbemQueryFlagShallow festgelegt ist, werden nur die Klassen der obersten Ebene zurückgegeben (d. h. Klassen ohne übergeordnete Klasse). Wenn dieser Parameter leer ist und iFlags auf wbemQueryFlagDeep festgelegt ist, werden alle Klassen innerhalb des Namespace zurückgegeben.

iFlags [optional]

Bestimmt die Tiefe der Enumeration von Aufrufen. Der Standardwert für diesen Parameter ist wbemQueryFlagDeep. Dieser Parameter kann die folgenden Werte annehmen.

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 erzwingt die rekursive Enumeration aller Unterklassen, die von der angegebenen übergeordneten Klasse abgeleitet werden. Die übergeordnete Klasse wird in der Enumeration nicht zurückgegeben.

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]

Dieser Parameter ist normalerweise nicht festgelegt. Andernfalls handelt es sich um ein SWbemNamedValueSet-Objekt, dessen Elemente die Kontextinformationen darstellen, die von dem Anbieter, der die Anforderung verarbeitet, verwendet werden können. 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 [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, um 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 OnObjectReady-Ereignis pro Instanz. Nach der letzten Instanz empfängt die Objektsenke ein OnCompleted-Ereignis.

Fehlercodes

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

Hinweis

Eine zurückgegebene Sammlung mit null Elementen ist kein Fehler.

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, führen Sie die endgültige Verarbeitung in Ihrer Implementierung des objWbemSink.OnCompleted-Ereignisses durch.

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.

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

Weitere Informationen

SWbemServices

SWbemObjectSet