__ExtendedStatus 类
__ExtendedStatus 系统类用于报告详细的状态和错误信息。
以下语法从托管对象格式 (MOF) 代码简化而来,包括所有继承属性。 属性按字母顺序排列,而非 MOF 顺序。
语法
class __ExtendedStatus : __NotifyStatus
{
string Description;
string Operation;
string ParameterInfo;
string ProviderName;
uint32 StatusCode;
};
成员
__ExtendedStatus 类具有以下类型的成员:
属性
__ExtendedStatus 类具有以下属性。
-
描述
-
-
数据类型:字符串
-
访问类型:只读
描述错误或操作状态的任何用户定义字符串。
-
-
操作
-
-
数据类型:字符串
-
访问类型:只读
在出现故障或异常时发生的操作。 通常情况下,Windows Management Instrumentation (WMI) 将此属性设置为 WMI 方法的 COM API 的名称,例如 IWbemServices::CreateInstanceEnum。
-
-
ParameterInfo
-
-
数据类型:字符串
-
访问类型:只读
错误或状态更改所涉及的参数。 例如,如果应用程序尝试检索不存在的类,则此属性会被设置为有问题的类名称。
-
-
ProviderName
-
-
数据类型:字符串
-
访问类型:只读
标识导致或报告错误或状态更改的提供程序。 如果未涉及提供程序,则此字符串会被设置为“Windows 管理”。
-
-
StatusCode
-
-
数据类型:uint32
-
访问类型:只读
包含操作的错误或信息代码。 它可以是提供者定义的任何值,但通常保留值 0(零)来指示成功。 此属性继承自 __NotifyStatus。
-
备注
__ExtendedStatus 类派生自 __NotifyStatus 类。
使用 __ExtendedStatus 类可报告比简单结果代码更复杂的信息。 如果提供程序需要更多属性来描述错误,则提供程序可以从 __ExtendedStatus 派生自己的类。
StatusCode 属性继承自 __NotifyStatus 父类,是一个无符号整数,表示错误或状态值。 当动态提供程序从方法返回此类的实例时,StatusCode 和 Description 属性由提供程序设置,其他属性由 WMI 设置。
示例
以下代码示例摘自 TechNet 库上的FND:如何使用 WMI 处理配置管理器异步错误 VBScript 代码示例,介绍了如何使用 __ExtendedStatus 检索错误信息。
Sub sink_OnCompleted(HResult, oErr, oCtx)
WScript.Echo "All collections returned"
if HResult <> 0 Then
' Determine the type of error.
If oErr.Path_.Class = "__ExtendedStatus" Then
WScript.Echo "WMI Error: "& oErr.Description
ElseIf ExtendedStatus.Path_.Class = "SMS_ExtendedStatus" Then
WScript.Echo "Provider Error: "& oErr.Description
WScript.Echo "Code: " & oErr.ErrorCode
End If
End If
bdone = true
End sub
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
所有 WMI 命名空间 |