Metodo IWbemServices::D eleteInstance (wbemcli.h)
Il metodo IWbemServices::D eleteInstance elimina un'istanza di una classe esistente nello spazio dei nomi corrente.
Sintassi
HRESULT DeleteInstance(
[in] const BSTR strObjectPath,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemCallResult **ppCallResult
);
Parametri
[in] strObjectPath
BSTR valido contenente il percorso dell'oggetto dell'istanza da eliminare.
[in] lFlags
Uno dei valori seguenti è valido.
WBEM_FLAG_RETURN_IMMEDIATELY
Questo flag causa una chiamata semisynchrono. Per altre informazioni, vedere Chiamata di un metodo.
[in] pCtx
In genere NULL. In caso contrario, si tratta di un puntatore a un oggetto IWbemContext che può essere usato dal provider che elimina l'istanza. I valori nell'oggetto contesto devono essere specificati nella documentazione del provider in questione.
[out] ppCallResult
Se NULL, questo parametro non viene usato. Se è specificato ppCallResult , deve essere impostato su NULL nella voce. 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 GetCallStatus .
Valore restituito
Questo metodo restituisce un 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.
Commenti
Il metodo IWbemServices::D eleteInstance viene chiamato per eliminare un'istanza esistente nello spazio dei nomi corrente. Non è possibile eliminare istanze in altri spazi dei nomi. Quando DeleteInstance viene chiamato per eliminare un'istanza appartenente a una classe in una gerarchia, Windows Management chiama il metodo DeleteInstanceAsync per tutti i provider responsabili delle classi non astratte nella gerarchia. Ovvero, se il parametro strObjectPath identifica un'istanza di ClassB e ClassB deriva da ClassA, una classe non astratta ed è la classe padre di ClassC e ClassD, vengono chiamati anche i provider per tutte e quattro le classi.
Gestione Windows chiama ogni provider con un percorso oggetto modificato per puntare alla classe. Ad esempio, se strObjectPath per la chiamata originale è impostato su "ClassB.k=1", la chiamata al provider di ClassA imposta strObjectPath su "ClassA.k=1".
L'esito positivo di una chiamata DeleteInstance dipende solo dall'esito positivo di una chiamata DeleteInstanceAsync al provider della classe non astratta più superiore. Una classe non astratta ha una classe astratta come padre. Se il provider per una di queste classi ha esito positivo, l'operazione ha esito positivo; se tutte queste classi hanno esito negativo, l'operazione ha esito negativo.
Si supponga, ad esempio, che ClassX sia la classe di base per la gerarchia seguente:
- ClassA deriva da ClassX.
- ClassB deriva da ClassA.
- ClassC e ClassD derivano da ClassB.
Se ClassX, ClassA e ClassB sono tutti astratti e il parametro strObjectPath in DeleteInstance punta di nuovo a un'istanza di ClassB, il provider per ClassC o il provider per ClassD deve avere esito positivo.
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
Descrizione di un percorso dell'oggetto istanza