描述
SWbemObject对象的删除_方法会删除当前类或当前实例。如果动态提供程序提供类或实例,有时不可能删除此对象,除非提供程序支持类或实例删除。以下语法是语言中立的。有关此语法的说明,请参阅脚本API的文档约定.
PowerBASIC 语法
METHOD Delete_ ( _ OPTIONAL BYVAL iFlags AS LONG, _ OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch _ ) AS INTEGER |
参数
iFlags
保留,如果指定,则必须为0(零)。
objWbemNamedValueSet
此参数通常未定义。否则,这是一个SWbemNamedValueSet对象,其元素表示正在为请求提供服务的提供者可以使用的上下文信息。支持或要求此类信息的提供者必须记录识别的值名称,值的数据类型,允许的值和语义。
返回值
如果对象匹配,此方法返回布尔值TRUE。如果对象不匹配,则返回FALSE。
OBJRESULT
错误(名称/十进制/十六进制) |
含义 |
wbemErrAccessDenied -2147217405 &H80041003 |
当前上下文没有足够的安全权限删除该对象。 |
wbemErrFailed -2147217407 &H80041001 |
未指定错误 |
wbemErrInvalidClass -2147217392 &H80041010 |
指定的类不存在。 |
wbemErrInvalidOperation -2147217386 &H80041016 |
对象无法删除。 |
wbemErrNotFound -2147217406 &H80041002 |
对象不存在。 |
wbemErrOutOfMemory -2147217402 &H80041006 |
没有足够的内存来完成操作。 |
示例代码[VBScript]
以下示例创建一个新类;添加一个关键属性;将新类写入存储库;并显示新类对象的路径。脚本然后产生一个新类的实例;写下来并显示路径。请注意,脚本通过简单地删除类从存储库中删除类及其实例。
在错误恢复下一步
wbemCimtypeString = 8 '字符串数据类型
设置objSWbemService = GetObject(“Winmgmts:root \\ default”)
设置objClass = objSWbemService.Get()
objClass.Path_.Class =“NewClass”
'添加一个属性
'String属性
objClass.Properties_.add“PropertyName”,wbemCimtypeString
'使物业成为关键财产
objClass.Properties _(“PropertyName”)。Qualifiers_.Add“key”,TRUE
'将新类写入存储库中的root \\ default命名空间
设置objClassPath = objClass.Put_
wscript.echo objClassPath.Path
'使用SWbemObject.SpawnInstance创建一个新类的实例
设置objNewInst = GetObject(_
“Winmgmts:root \\ default:NewClass”)。SpawnInstance_
objNewInst.PropertyName =“我的实例”
'将实例写入仓库
设置objInstancePath = objNewInst.Put_
wscript.echo objInstancePath.Path
'从存储库中删除新的类和实例
objClass.Delete_()
如果Err <>0然后
WScript.Echo Err.Number &“ ”&错误描述
其他
WScript.Echo“删除成功”
万一
'发布SwbemServices对象
设置objSWbemService =没有
备注
如果创建了新的SWbemObject实例,删除_方法将失败,但没有为密钥属性提供值。Windows Management Instrumentation(WMI)自动生成全局唯一标识符(GUID)值,但SWbemObject.Delete_不接受GUID值。在这种情况下,使用对象路径的SWbemServices.Delete有效。请注意,在对象提交给WMI后,SWbemObject.Put_方法返回SWbemObjectPath对象。
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95 OSR2及更高版本。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
类型库 |
使用Wbemdisp.tlb。 |
头 |
Wbemdisp.inc。 |
DLL |
需要Wbemdisp.dll。 |


