Condividi tramite


Interfaccia IWbemContext (wbemcli.h)

L'interfaccia IWbemContext viene usata facoltativamente per comunicare informazioni di contesto aggiuntive ai provider quando si inviano chiamate IWbemServices a WMI. Tutte le chiamate primarie in IWbemServices accettano un parametro facoltativo che punta a un oggetto di questo tipo.

Ereditarietà

L'interfaccia IWbemContext eredita dall'interfaccia IUnknown . IWbemContext include anche questi tipi di membri:

Metodi

L'interfaccia IWbemContext include questi metodi.

 
IWbemContext::BeginEnumeration

Il metodo IWbemContext::BeginEnumeration reimposta l'enumerazione di tutti i valori di contesto nell'oggetto.
IWbemContext::Clone

Il metodo IWbemContext::Clone crea una copia logica dell'oggetto IWbemContext corrente. Questo metodo può essere utile quando è necessario effettuare molte chiamate che in gran parte hanno oggetti IWbemContext identici.
IWbemContext::D eleteAll

Il metodo IWbemContext::D eleteAll rimuove tutti i valori di contesto denominati dall'oggetto corrente, svuotando l'oggetto.
IWbemContext::D eleteValue

Il metodo IWbemContext::D eleteValue elimina un valore di contesto denominato creato da IWbemContext::SetValue.
IWbemContext::EndEnumeration

Il metodo IWbemContext::EndEnumeration termina una sequenza di enumerazione che inizia con IWbemContext::BeginEnumeration. Questa chiamata non è obbligatoria, ma rilascia il prima possibile tutte le risorse di sistema associate all'enumerazione .
IWbemContext::GetNames

Il metodo IWbemContext::GetNames restituisce una struttura SAFEARRAY di tutti i nomi dei valori di contesto denominati.
IWbemContext::GetValue

Il metodo IWbemContext::GetValue viene usato per recuperare un valore di contesto denominato specifico in base al nome.
IWbemContext::Next

Il metodo IWbemContext::Next recupera il valore successivo in un'enumerazione di tutti i valori di contesto che iniziano con IWbemContext::BeginEnumeration.
IWbemContext::SetValue

Il metodo IWbemContext::SetValue crea o sovrascrive un valore di contesto denominato.

Commenti

Spesso, i provider dinamici richiedono più informazioni di quanto specificato nei normali parametri di un metodo IWbemServices . Ad esempio, per modificare gli oggetti dello schema WMI forniti, un provider potrebbe dover conoscere un nome della community SNMP (Simple Network Management Protocol) o un database di Structured Query Language (SQL) e un nome di tabella. Un client può aggiungere queste informazioni a un oggetto IWbemContext e inviare l'oggetto IWbemContext insieme alla chiamata come uno dei parametri.

I provider devono usare con moderazione gli oggetti contenuto. È consigliabile che non sia mai necessario. Se un provider richiede una grande quantità di informazioni di contesto altamente specifiche per rispondere a una richiesta, tutti i client devono essere codificati per fornire queste informazioni, interrompendo quindi il modello di accesso uniforme che costituisce la base di WMI. Tuttavia, in alcuni casi non può essere evitata. Pertanto, questo meccanismo viene fornito per consentire l'accesso a tali provider. Gli sviluppatori di tali provider devono fornire documentazione adeguata in modo che gli sviluppatori del software client possano modificare correttamente tali oggetti CIM.

I provider che supportano l'uso di IWbemContext per consentire ai client di specificare altre informazioni in una richiesta devono limitare i tipi di valori supportati ai tipi nell'elenco seguente:

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • Una qualsiasi delle versioni precedenti combinate con VT_ARRAY
Nota Solo gli oggetti che supportano IWbemClassObject possono effettuare il marshalling dei metodi IUnknown in un'istanza IWbemContext usando una variante di tipo VT_UNKNOWN.
 
Un oggetto IWbemContext , creato con CoCreateInstanceEx, è un semplice contenitore di valori denominati. Accedere a questi metodi per inserire le informazioni di contesto richieste da un provider dinamico. Dopo la chiamata a uno dei metodi IWbemServices , l'oggetto IWbemContext può essere riutilizzato per un'altra chiamata oppure può essere deallocato tramite Release e un altro oggetto creato per altre chiamate ai metodi IWbemServices .

Le informazioni contenute in un oggetto IWbemContext sono interamente determinate dal provider sottostante. WMI non usa le informazioni, ma le inoltra al provider. I provider devono pubblicare le informazioni di contesto necessarie per queste richieste di servizio.

L'applicazione client chiama CoCreateInstanceEx per creare un singolo oggetto contesto. Chiama quindi SetValue una o più volte per impostare i valori di contesto per il provider. Infine, invia l'oggetto a uno dei metodi IWbemServices , che chiama immediatamente Release sull'oggetto contesto dopo la restituzione della chiamata. Gli altri metodi sono usati principalmente dai provider che ricevono l'oggetto contesto e devono estrarre informazioni.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemcli.h (include Wbemidl.h)

Vedi anche

API COM per WMI

Creazione e dichiarazione di un'istanza con C++

Effettuare chiamate a WMI

Richiesta di dati WMI su una piattaforma a 64 bit

Recupero di parte di un'istanza WMI