Metodo IWbemServices::P utClass (wbemcli.h)

Il metodo IWbemServices::P utClass crea una nuova classe o aggiorna una classe esistente. La classe specificata dal parametro pObject deve essere stata inizializzata correttamente con tutti i valori di proprietà necessari.

L'utente potrebbe non creare classi con nomi che iniziano o terminano con un carattere di sottolineatura (_). Questa opzione è riservata alle classi di sistema.

Sintassi

HRESULT PutClass(
  [in]  IWbemClassObject *pObject,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [out] IWbemCallResult  **ppCallResult
);

Parametri

[in] pObject

Deve puntare a una definizione di classe valida. Il conteggio dei riferimenti non viene modificato.

[in] lFlags

I flag seguenti influiscono sul comportamento di questo metodo.

WBEM_FLAG_USE_AMENDED_QUALIFIERS

Se questo flag è impostato, WMI non archivia alcun qualificatore con il sapore modificato. Se questo flag non è impostato, si presuppone che questo oggetto non sia localizzato e che tutti i qualificatori vengano archiviati con questa istanza.

WBEM_FLAG_CREATE_OR_UPDATE

Questo flag causa la creazione della classe se non esiste o sovrascrive se esiste già.

WBEM_FLAG_UPDATE_ONLY

Questo flag causa l'aggiornamento di questa chiamata. La classe deve esistere per la corretta riuscita della chiamata.

WBEM_FLAG_CREATE_ONLY

Questo flag viene usato solo per la creazione. La chiamata ha esito negativo se la classe esiste già.

WBEM_FLAG_RETURN_IMMEDIATELY

Questo flag causa una chiamata semisynchrono. Per altre informazioni, vedere Chiamata di un metodo.

WBEM_FLAG_OWNER_UPDATE

I provider push devono specificare questo flag quando si chiama PutClass per indicare che questa classe è stata modificata.

WBEM_FLAG_UPDATE_COMPATIBLE

Questo flag consente di aggiornare una classe se non sono presenti classi derivate e non sono presenti istanze per tale classe. Consente anche gli aggiornamenti in tutti i casi se la modifica è solo per qualificatori non importanti (ad esempio, il qualificatore Descrizione ). Si tratta del comportamento predefinito per questa chiamata e viene usato per la compatibilità con le versioni precedenti di Gestione di Windows. Se la classe ha istanze o modifiche sono di qualificatori importanti, l'aggiornamento ha esito negativo.

WBEM_FLAG_UPDATE_SAFE_MODE

Questo flag consente gli aggiornamenti delle classi anche se sono presenti classi figlio, purché la modifica non causa conflitti con le classi figlio. Un esempio di aggiornamento di questo flag consente di aggiungere una nuova proprietà alla classe base non menzionata in precedenza nelle classi figlio. Se la classe ha istanze, l'aggiornamento ha esito negativo.

WBEM_FLAG_UPDATE_FORCE_MODE

Questo flag forza gli aggiornamenti delle classi quando esistono classi figlio in conflitto. Un esempio di aggiornamento di questo flag forzarebbe se un qualificatore di classe fosse definito in una classe figlio e la classe base tentò di aggiungere lo stesso qualificatore in conflitto con quello esistente. In modalità forzata, questo conflitto verrà risolto eliminando il qualificatore in conflitto nella classe figlio.

[in] pCtx

In genere NULL. In caso contrario, si tratta di un puntatore a un oggetto IWbemContext richiesto dal provider di classe dinamico che produce le istanze della classe. I valori nell'oggetto contesto devono essere specificati nella documentazione del provider in questione. Per altre informazioni su questo parametro, vedere Creazione di chiamate a WMI.

[out] ppCallResult

Se NULL, questo parametro non viene usato. Se il parametro lFlags contiene WBEM_FLAG_RETURN_IMMEDIATELY, questa chiamata restituisce immediatamente con WBEM_S_NO_ERROR. Il parametro ppCallResult riceve un puntatore a un nuovo oggetto IWbemCallResult , che può quindi essere eseguito il polling per ottenere il risultato usando il metodo IWbemCallResult::GetCallStatus .

Valore restituito

Questo metodo restituisce un valore HRESULT che indica lo stato della chiamata al metodo. L'elenco seguente elenca il valore contenuto in un HRESULT.

In caso di errore, è possibile ottenere informazioni disponibili dalla funzione COM GetErrorInfo.

I codici di errore specifici di COM possono essere restituiti anche se i problemi di rete causano la perdita della connessione remota a Gestione Windows.

Nota Il comportamento imprevedibile determina se si modificano le definizioni della classe mentre sono in uso da parte di client o provider. Il metodo IWbemServices::P utClass deve essere usato solo per creare o aggiornare una classe quando non sono presenti client o provider che usano la classe.
 

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemcli.h (include Wbemidl.h)
Libreria Wbemuuid.lib
DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Vedi anche

Creazione di una classe

IWbemCallResult

Iwbemservices

Recupero di un codice di errore