__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 命名空间

另请参阅

__NotifyStatus

WMI 系统类