MI_Class_GetElement 函数 (mi.h)

从类中获取指定命名元素的所有详细信息。

语法

MI_INLINE MI_Result MI_Class_GetElement(
  [in]            const MI_Class  *self,
                  const MI_Char   *name,
  [out, optional] MI_Value        *value,
  [out, optional] MI_Boolean      *valueExists,
  [out, optional] MI_Type         *type,
                  MI_Char         **referenceClass,
  [out, optional] MI_QualifierSet *qualifierSet,
  [out, optional] MI_Uint32       *flags,
  [out, optional] MI_Uint32       *index
);

参数

[in] self

指向要从中检索元素的类对象的指针。

name

指向要检索的元素名称的指针。

[out, optional] value

指向变量的指针,用于接收元素的返回默认值。 值在类对象的生存期内有效;不需要删除 值。 此参数是可选的。 如果不需要此信息,请为此参数传递 NULL 。 如果此参数不为 NULL则 valueExists 不得为 NULL。 如果 valueExists 的返回值 MI_FALSE,则没有默认值。

[out, optional] valueExists

指向一个变量的指针,该变量接收返回的布尔值,该值指示指定元素的默认值是否退出。 如果退出默认值,则 参数MI_TRUE ;否则, MI_FALSE。 如果不需要此信息,请为此参数传递 NULL

[out, optional] type

指向变量的指针,该变量接收指定数据类型的 MI_Type 枚举的返回值。 如果不需要此信息,请为此参数传递 NULL

referenceClass

如果元素是强类型引用) ,则引用的类 (;如果元素是强类型嵌入实例) ,则 (类名。

[out, optional] qualifierSet

指向变量的指针,用于接收返回的元素限定符集。 此参数是可选的。 与限定符集关联的内存在删除类对象之前有效。 使用完类限定符集后,通过调用 MI_Class_Delete 函数删除 对象。 如果不需要此信息,请为此参数传递 NULL

[out, optional] flags

指向 变量的指针,用于接收描述元素的各个方面的返回标志值。 此参数是可选的。 返回的标志值可以是以下MI_FLAG_* 值的任意组合,但某些互斥标志组除外。

MI_FLAG_ABSTRACT (131072 (0x20000) )

指示类是抽象类的类标志。 此标志仅在与 MI_FLAG_CLASS 标志结合使用时适用,并且标志与 MI_FLAG_TERMINAL 标志互斥。

MI_FLAG_ADOPT (2147483648 (0x80000000) )

MI_Instance 结构上添加和设置属性时使用的属性标志,指示实例将采用指针并负责删除它。 此标志与 MI_FLAG_BORROW 标志互斥。

MI_FLAG_ANY (127 (0x7F) )

用于筛选出这些 CIM 元类型 (限定符范围) 标志的位掩码。

  • MI_FLAG_CLASS
  • MI_FLAG_METHOD
  • MI_FLAG_PROPERTY
  • MI_FLAG_PARAMETER
  • MI_FLAG_ASSOCIATION
  • MI_FLAG_INDICATION
  • MI_FLAG_REFERENCE

MI_FLAG_ASSOCIATION (16 (0x10) )

在 MI_ClassDecl 结构中使用的 CIM 元类型,用于指示类结构也是关联类结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_BORROW (1073741824 (0x40000000) )

MI_Instance 结构上添加和设置属性时使用的属性标志,指示实例不会复制值。 在删除实例之前,该值必须保持有效。 此标志与 MI_FLAG_ADOPT 标志互斥。

MI_FLAG_CLASS (1 (0x1) )

在 MI_ClassDecl 结构中使用的 CIM 元类型,用于指示描述类的结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_DISABLEOVERRIDE (256 (0x100) )

限定符标志风格,指示无法重写限定符。 此标志与 MI_FLAG_ENABLEOVERRIDE 标志互斥。

MI_FLAG_ENABLEOVERRIDE (128 (0x80) )

限定符标志风格,指示可以重写限定符。 此标志与 MI_FLAG_DISABLEOVERRIDE 标志互斥。

MI_FLAG_EXPENSIVE (524288 (0x80000) )

指示属性开销较高的属性标志。 提供程序不需要提供昂贵的属性,除非客户端要求它,尽管大多数引擎和客户端不支持此概念,并且始终返回所有属性。 此标志仅在与 MI_FLAG_PROPERTY 标志结合使用时才适用。

MI_FLAG_IN (8192 (0x2000) )

一个参数标志,指示参数的类型为 In 并传递到 方法中。 仅当与 MI_FLAG_PARAMETER 标志结合使用时,此标志才适用。

MI_FLAG_INDICATION (32 (0x20) )

在 MI_ClassDecl 结构中使用的 CIM 元类型,用于指示类结构也是指示类结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_KEY (4096 (0x1000) )

指示元素是键属性的属性标志。 此标志仅在与 MI_FLAG_PROPERTY 标志结合使用时才适用。

MI_FLAG_METHOD (2 (0x2) )

MI_MethodDecl 结构中使用的 CIM 元类型,用于指示描述方法的结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_NOT_MODIFIED (33554432 (0x2000000) )

指示未修改属性的标志。

MI_FLAG_NULL (536870912 (0x20000000) )

指示属性值或方法参数值为 null 的标志。

MI_FLAG_OUT (16384 (0x4000) )

一个参数标志,指示参数的类型为 Out 并从 方法返回。 仅当与 MI_FLAG_PARAMETER 标志结合使用时,此标志才适用。

MI_FLAG_PARAMETER (8 (0x8) )

在 MI_ParameterDecl 结构中使用的 CIM 元类型,用于指示描述参数的结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_PROPERTY (4 (0x4) )

MI_PropertyDecl 结构中使用的 CIM 元类型,用于指示描述属性的结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_READONLY (2097152 (0x200000) )

一个属性标志,指示该属性只能读取,不能写入。 此标志仅在与 MI_FLAG_PROPERTY 标志结合使用时才适用。

MI_FLAG_REFERENCE (64 (0x40) )

范围字段中的 MI_QualifierDecl 结构中使用的 CIM 元类型,用于指示描述指向其他实例的指针的结构。 此标志与其他 CIM 元类型 (限定符范围) 标志互斥。

MI_FLAG_REQUIRED (32768 (0x8000) )

一个参数标志,指示必须指定参数。 仅当与 MI_FLAG_PARAMETER 标志结合使用时,此标志才适用。

MI_FLAG_RESTRICTED (512 (0x200) )

一种限定符风格,指示限定符不会传播到派生类。 限定符仅适用于声明它的类。 此标志与 MI_FLAG_TOSUBCLASS 标志互斥。

MI_FLAG_STATIC (65536 (0x10000) )

在方法上使用的标志,用于指示元素是静态的,不需要指定键的实例即可调用它。

MI_FLAG_STREAM (1048576 (0x100000) )

一个标志,指示方法参数将从提供程序流式传输到客户端。 此标志仅在与 MI_FLAG_PARAMETER 标志一起使用时才适用。

MI_FLAG_TERMINAL (262144 (0x40000) )

一个类标志,指示类不能从派生。 此标志仅在与 MI_FLAG_CLASS 标志一起使用时适用,并且该标志与 MI_FLAG_ABSTRACT 标志互斥。

MI_FLAG_TOSUBCLASS (1024 (0x400) )

一种限定符风格,指出类限定符由任何子类自动继承。 此标志与 MI_FLAG_RESTRICTED 标志互斥。

MI_FLAG_TRANSLATABLE (2048 (0x800) )

一个限定符风格,指示可能存在与 元素关联的不同语言。 将处理可翻译的限定符,以便字符串和值可以本地化为不同的语言。

MI_FLAG_VERSION (469762048 (0x1C000000) )

基础结构保留三位,用于处理将来的版本控制更改。

[out, optional] index

指向变量的指针,用于接收 类中元素的索引。 如果不需要此信息,请为此参数传递 NULL

返回值

此函数返回MI_INLINE MI_Result。

注解

所有元素信息都是只读的。 在删除 类之前,返回的信息是有效的。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 Windows
标头 mi.h
可再发行组件 windows Server 2008 R2 SP1、Windows 7 SP1 和 Windows Server 2008 SP2 上的Windows Management Framework 3.0