SWbemObject.InstancesAsync_ metodo

Il metodo InstancesAsync_ di SWbemObject fornisce in modo asincrono le istanze dell'oggetto classe corrente. Questo metodo implementa una semplice query. Le query più complesse possono richiedere l'uso di SWbemServices.ExecQuery.

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

Sintassi

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

Parametri

objWbemSink [in]

Sink oggetto che restituisce le istanze.

iFlags [in, facoltativo]

Intero che determina il comportamento della chiamata. Questo parametro può accettare i valori seguenti.

wbemFlagSendStatus (128 (0x80))

Causa chiamate asincrone per inviare gli aggiornamenti dello stato al gestore eventi SWbemSink.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 le descrizioni della classe e delle proprietà localizzate. Per altre informazioni, vedere Localizzazione delle informazioni sulla classe WMI.

objwbemNamedValueSet [in, facoltativo]

In genere, questo è indefinito. 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 [in, facoltativo]

Si tratta di un oggetto SWbemNamedValueSet che restituisce al sink dell'oggetto per identificare l'origine della chiamata asincrona originale. Usare questo parametro se si effettuano 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 riceverà un evento OnCompleted .

Codici di errore

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

wbemErrAccessDenied - 2147749891 (0x80041003)

L'utente corrente non dispone dell'autorizzazione per visualizzare le istanze della classe specificata.

wbemErrFailed - 2147749889 (0x80041001)

Si è verificato un errore non specificato.

wbemErrInvalidClass - 2147749904 (0x80041010)

La classe specificata non è valida.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Un parametro specificato 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, usare la comunicazione semisynchrono o la comunicazione sincrona. Per altre informazioni, vedere Chiamata di un metodo.

Il metodo InstancesAsync_ funziona solo per gli oggetti di classe. Non è un errore per la raccolta restituita per avere zero (0) elementi.

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

Vedi anche

SWbemObject

SWbemObjectSet