Metodo SWbemServices.SubclassesOfAsync

Il metodo SubclassesOfAsync dell'oggetto SWbemServices restituisce una raccolta di sottoclassi per una classe specificata. Usare questo metodo solo per gli oggetti di classe.

Questo metodo viene chiamato nella modalità asincrona. Per altre informazioni, vedere Chiamata di un metodo.

Per una spiegazione di questa sintassi, vedere Convenzioni di documento per l'API scripting.

Sintassi

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

Parametri

ObjWbemSink

Obbligatorio. Sink oggetto che riceve le sottoclassi in modo asincrono. Creare un oggetto SWbemSink per ricevere gli oggetti.

strSuperclass [facoltativo]

Specifica un nome di classe padre. Vengono restituite solo le classi che sono sottoclassi di questa classe nell'enumeratore. Se questo parametro è vuoto e se iFlags è wbemQueryFlagShallow, vengono restituite solo le classi di primo livello ,ovvero le classi che non hanno una classe padre. Se questo parametro è vuoto e se iFlags è wbemQueryFlagDeep, vengono restituite tutte le classi all'interno dello spazio dei nomi.

iFlags [facoltativo]

Determina la profondità dell'enumerazione della chiamata. Il valore predefinito per questo parametro è wbemQueryFlagDeep. Questo parametro può accettare i valori seguenti.

wbemQueryFlagShallow (1 (0x1))

Forza l'enumerazione per includere solo sottoclassi immediate della classe padre specificata.

wbemQueryFlagDeep (0 (0x0))

Impostazione predefinita per questo parametro. Questo valore forza l'enumerazione ricorsiva in tutte le sottoclassi derivate dalla classe padre specificata. La classe padre non viene restituita nell'enumerazione.

wbemFlagSendStatus (128 (0x80))

Causa chiamate asincrone per inviare gli aggiornamenti dello stato al gestore eventi OnProgress per il sink di oggetti.

wbemFlagDontSendStatus (0 (0x0))

Impedisce alle chiamate asincrone di inviare aggiornamenti dello stato al gestore eventi OnProgress per il sink di oggetti.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Consente a WMI di restituire i dati di modifica della classe con la definizione della classe di base. Per altre informazioni, vedere Localizzazione delle informazioni sulla classe WMI.

objwbemNamedValueSet [facoltativo]

In genere, questo parametro non è definito. In caso contrario, si tratta di un oggetto SWbemNamedValueSet i cui elementi rappresentano le informazioni di contesto che possono essere usate dal provider che esegue la manutenzione della richiesta. Un provider che supporta o richiede tali informazioni deve documentare i nomi di valore riconosciuti, il tipo di dati del valore, i valori consentiti e la semantica.

objWbemAsyncContext [facoltativo]

Oggetto SWbemNamedValueSet che restituisce al sink dell'oggetto per identificare l'origine della chiamata asincrona originale. Usare questo parametro per eseguire più chiamate asincrone usando lo stesso sink di oggetti. Per usare questo parametro, creare un oggetto SWbemNamedValueSet e usare il metodo SWbemNamedValueSet.Add per aggiungere un valore che identifica la chiamata asincrona eseguita. Questo oggetto SWbemNamedValueSet viene restituito al sink dell'oggetto e l'origine della chiamata può essere estratta usando il metodo SWbemNamedValueSet.Item . Per altre informazioni, vedere Chiamata di un metodo.

Valore restituito

Questo metodo non restituisce valori. Se ha esito positivo, il sink riceve un evento OnObjectReady per ogni istanza. Dopo l'ultima istanza, il sink dell'oggetto riceve un evento OnCompleted .

Codici di errore

Al termine del metodo SubclassesOfAsync , l'oggetto Err può contenere uno dei codici di errore nell'elenco seguente.

Nota

Una raccolta restituita con zero elementi non è un errore.

wbemErrAccessDenied - 2147749891 (0x80041003)

L'utente corrente non dispone dell'autorizzazione per visualizzare una o più classi restituite dalla chiamata.

wbemErrFailed - 2147749889 (0x80041001)

Errore non specificato.

wbemErrInvalidClass - 2147749904 (0x80041010)

La classe specificata non esiste.

wbemErrInvalidParameter - 2147749896 (0x80041008)

È stato specificato un parametro non valido.

wbemErrOutOfMemory - 2147749894 (0x80041006)

Memoria insufficiente per completare l'operazione.

Commenti

Questa chiamata restituisce immediatamente. Gli oggetti e lo stato richiesti vengono restituiti al chiamante tramite callback recapitati al sink specificato in objWbemSink. Per elaborare ogni oggetto quando arriva, creare un objWbemSink. Subroutine dell'evento OnObjectReady . Dopo aver restituito tutti gli oggetti, è possibile eseguire l'elaborazione finale nell'implementazione dell'objWbemSink. Evento OnCompleted .

Un callback asincrono consente a un utente non autenticato di fornire dati al sink. Ciò comporta rischi di sicurezza per gli script e le applicazioni. Per eliminare i rischi, vedere Impostazione della sicurezza in una chiamata asincrona.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Intestazione
Wbemdisp.h
Libreria dei tipi
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Vedi anche

SWbemServices

SWbemObjectSet