Metodo SWbemServices.Delete
Il metodo Delete dell'oggetto SWbemServices elimina la classe o l'istanza specificata nel percorso dell'oggetto. È possibile eliminare solo gli oggetti nello spazio dei nomi corrente.
Se un provider dinamico fornisce la classe o l'istanza, non è possibile eliminare questo oggetto a meno che il provider supporti l'eliminazione della classe o dell'istanza.
Questo metodo viene chiamato nella modalità sincrona. Per altre informazioni, vedere Chiamata di un metodo.
Per una spiegazione di questa sintassi, vedere Convenzioni di documento per l'API scripting.
Sintassi
SWbemServices.Delete( _
ByVal strObjectPath, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Parametri
-
strObjectPath
-
Obbligatorio. Stringa contenente il percorso dell'oggetto all'oggetto da eliminare. Per altre informazioni, vedere Descrizione della posizione di un oggetto WMI.
-
iFlags [facoltativo]
-
Riservato. Il valore deve essere zero.
-
objWbemNamedValueSet [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 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.
Valore restituito
Questo metodo non restituisce valori.
Codici di errore
Al termine del metodo Delete , l'oggetto Err può contenere uno dei codici di errore nell'elenco seguente.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
Il contesto corrente non dispone di diritti di sicurezza adeguati per eliminare l'oggetto.
-
wbemErrFailed - 2147749889 (0x80041001)
-
Errore non specificato.
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
La classe specificata non esiste.
-
wbemErrInvalidOperation - 2147749910 (0x80041016)
-
Impossibile eliminare l'oggetto.
-
wbemErrNotFound - 2147749890 (0x80041002)
-
L'oggetto non esiste.
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
Memoria insufficiente per completare l'operazione.
Commenti
Il metodo SWbemServices.Delete può essere usato quando la proprietà chiave per l'oggetto non viene assegnato un valore, perché questo metodo richiede solo un percorso oggetto come input. Questo metodo può essere usato in situazioni in cui SWbemObject.Delete_ ha esito negativo per la mancanza di un valore chiave. Se l'oggetto viene eseguito il commit a WMI tramite SWbemObject.Put_, è stato ottenuto un oggetto SWbemObjectPath tramite la chiamata.
Esempio
L'esempio seguente crea una nuova classe, aggiunge una proprietà che non è una chiave, scrive la nuova classe nel repository e visualizza il percorso del nuovo oggetto classe. Lo script genera quindi un'istanza della nuova classe, scrive l'istanza e visualizza il percorso. Si noti che lo script elimina sia la classe che le relative istanze dal repository eliminando la classe. Per altre informazioni sulle classi e le istanze WMI, vedere Modifica delle informazioni sulla classe e sull'istanza esul modello di informazioni comuni.
wbemCimtypeSint32 = 3
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"
' Add a property
' Integer property
objClass.Properties_.Add "iProperty", wbemCimtypeSint32
objClass.Properties_("iProperty").Qualifiers_.Add "key", TRUE
' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
wscript.echo objClassPath.Path
'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
"Winmgmts:root\default:NewClass").SpawnInstance_
objNewInst.iProperty = 1000
' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
wscript.echo objInstancePath.Path
' Remove the new class and instance from the repository
objSWbemService.Delete("NewClass")
If Err <> 0 Then
WScript.Echo Err.Number & " " & Err.Description
Else
WScript.Echo "Delete succeeded"
End If
' Release SwbemServices object
Set objSWbemService = Nothing
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Intestazione |
|
Libreria dei tipi |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |