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

Put_ Method

Previous pageReturn to chapter overviewNext page

描述

 

放_放_方法可以创建或更新Windows Management Instrumentation(WMI)的实例或类对象。您可以在SWbemObject中修改任何属性或方法后使用此方法,并将更改写入WMI。

 

PowerBASIC 语法

 

METHOD Put_ ( _

OPTIONAL BYVAL iFlags LONG, _

OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch _

) AS ISWbemObjectPath

 

参数

 

iFlags

 

此参数确定调用是创建还是更新类或实例,并且调用是否立即返回。此参数可以接受以下值。

 

含义

wbemChangeFlagUpdateCompatible

0

&H0

如果没有派生类,并且没有该类的实例,则允许更新类。它还允许在所有情况下更新只是不重要的限定词(例如描述限定词)。这是此调用的默认行为,用于与以前版本的WMI兼容。如果类具有更新失败的实例。

wbemChangeFlagUpdateSafeMode

32

&H20

允许更新类,即使有子类,如果更改不会导致与子类的任何冲突。将新属性添加到以前没有在任何子类中提到的基类时,可以使用此标志。如果类具有更新失败的实例。如果类具有更新失败的实例。

WbemChangeFlagUpdateForceMode

64

&H40

当存在冲突的子类时,此标志强制更新类。例如,如果在子类中定义了类限定符,则该标志将强制更新,并且基类尝试添加相同的限定符并与现有的限定符冲突。在强制模式下,这种冲突将通过删除子类中的冲突限定词来解决。如果类有实例,更新将失败。

 

使用强制模式更新静态类会导致删除该类的所有实例。提供程序类上的强制更新不会删除该类的实例。

wbemChangeFlagCreateOrUpdate

0

&H0

导致类或实例被创建,如果它不存在或覆盖,如果它已经存在。

wbemChangeFlagCreateOnly

2

&H2

仅用于创作。如果类或实例已经存在,则调用失败。

wbemChangeFlagUpdateOnly

1

&H1

导致此呼叫更新。类或实例必须存在才能使呼叫成功。

wbemFlagReturnImmediately

16

&H10

使呼叫立即返回。

wbemFlagReturnWhenComplete

0

&H0

导致此调用阻止,直到查询完成。

wbemFlagUseAmendedQualifiers

131072

&H20000

导致WMI编写类修改数据以及基类定义。有关修订限定符的更多信息,请参阅本地化WMI类信息.

 

objwbemNamedValueSet

 

通常,这是未定义的。否则,这是一个SWbemObjectPath对象,其元素表示正在为请求提供服务的提供者可以使用的上下文信息。支持或要求此类信息的提供者必须记录识别的值名称,值的数据类型,允许的值和语义。

 

返回值

 

如果呼叫成功,则返回SWbemObjectPath对象。此对象包含已成功提交给WMI的实例或类的对象路径。

 

OBJRESULT

 

错误(名称/十进制/十六进制)

含义

wbemErrAccessDenied

-2147217405

&H80041003

当前用户没有权限查看指定类的实例。

wbemErrAlreadyExists

-2147217383

&H80041019

已指定wbemChangeFlagCreateOnly标志,但实例已存在。

wbemErrFailed

-2147217407

&H80041001

未指定错误

wbemErrIllegalNull

-2147217368

&H8004100A

没有的属性指定了值没有.这种属性的示例是由索引Not_Null限定符标记的属性。

wbemErrInvalidObject

-2147217393

&H80041014

指定的实例无效。

wbemErrInvalidParameter

-2147217400

&H80041008

指定了无效参数。

wbemErrNotFound

-2147217406

&H80041002

指定了wbemChangeFlagUpdateOnly标志,但实例或类不存在。

wbemErrIncompleteClass

-2147217376

&H80041020

类的必需属性尚未设置。

wbemErrOutOfMemory

-2147217402

&H80041006

没有足够的内存来完成操作。

 

要求

 

客户

需要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。