编写 API 常量脚本
WMI 在 脚本 API for WMI中 方法调用的参数时, 使用多种常量。
Visual Basic 应用程序可以包含脚本 API 的类型库 Wbemdisp.tlb。 脚本无法访问类型库中的常量,除非它们使用 <REFERENCE> 或 <OBJECT> 标记,如 使用 WMI 脚本类型库中所述。 否则,脚本必须使用常量的值。
常数
-
定义安全身份验证级别。
-
定义如何对类或实例执行写入作。
-
定义属性值的有效 CIM 类型。
-
定义对象比较的设置,由 SWbemObject.CompareTo_使用。
-
定义在远程计算机上的 WMI 连接失败时,在调用 SWbemLocator.ConnectServer 方法时用作参数的安全标志。
-
为 WMI 调用定义 脚本 API 可能返回的错误。
-
定义由 SWbemServices.ExecQuery、SWbemServices.ExecQueryAsync、SWbemServices.SubclassesOf和 SWbemServices.InstancesOf使用的常量。
-
定义安全模拟级别。 这些常量用于 SWbemSecurity。
-
定义 SWbemObjectEx.GetText_要使用的有效对象文本格式。
-
定义权限。 这些常量与 SWbemSecurity 一起使用,以授予某些作所需的权限。
-
定义枚举或查询的深度,该深度确定调用返回的对象数。
-
定义生成的对象文本的内容,由 SWbemObject.GetObjectText_使用。
-
定义超时常量。 SWbemEventSource.NextEvent使用此常量。
组合标志
可以将标志组合在一起,以影响 API 调用的多个方面。
例如,若要创建 半异步 调用,SWbemServices.ExecQuery_ 调用中的 iFlags 参数必须包含两个标志:WbemFlagReturnImmediately 和 WbemFlagForwardOnly。 WbemFlagReturnImmediately 的值为 16,WbemFlagForwardOnly 的值为 32。 由于无法按名称访问常量,因此这些标志的值将组合在一起,生成 iFlags 值为 48。
以下脚本示例演示调用。
On Error Resume Next
For Each obj in GetObject("WinMgmts:").ExecQuery _
("SELECT * FROM Win32_NTLogEvent WHERE _ LogFile='Application'",,48)
count = count + 1
Next
并非所有标志都可以组合在一起,因为许多标志都是相互排斥的,并且可能会产生不可预知的结果。
相关主题
-
适用于 WMI 的 脚本 API