勇芳软件工作室.汉化:  Windows Management Instrumentation > Scripting API for WMI > Scripting API Objects > SWbemObject >

Delete_ Method

Previous pageReturn to chapter overviewNext page

描述

 

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。