Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает сведения об элементе класса на основе индекса элемента.
Синтаксис
MI_INLINE MI_Result MI_Class_GetElementAt(
[in] const MI_Class *self,
MI_Uint32 index,
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
);
Параметры
[in] self
Указатель на объект класса, из которого требуется извлечь элемент.
index
Отсчитываемый от нуля индекс извлекаемого элемента.
name
Указатель на указатель на переменную для получения возвращенного имени элемента. Память, связанная с именем, действительна до удаления объекта класса. Завершив использование объекта класса, удалите его, вызвав функцию MI_Class_Delete . Если эти сведения не требуются, передайте значение NULL для этого параметра.
[out, optional] value
Указатель на переменную для получения возвращаемого значения по умолчанию для элемента. Значение допустимо в течение времени существования объекта класса; значение не требуется удалять. Если эти сведения не требуются, передайте значение NULL для этого параметра.
[out, optional] valueExists
Указатель на переменную для получения возвращаемого логического значения, указывающего, завершается ли значение по умолчанию для указанного элемента. MI_TRUE , если значение по умолчанию завершается; в противном случае MI_FALSE. Если эти сведения не требуются, передайте значение NULL для этого параметра.
[out, optional] type
Указатель на переменную для получения возвращаемого значения перечисления MI_Type , указывающего тип данных. Этот параметр является необязательным. Если эти сведения не требуются, передайте значение NULL для этого параметра.
referenceClass
Класс ссылки (если элемент является строго типизированной ссылкой) или имя класса (если элемент является строго типизированным внедренным экземпляром).
[out, optional] qualifierSet
Указатель на переменную, которая получает возвращенный набор квалификатора. Этот параметр является необязательным. Набор квалификатора существует в течение времени существования объекта класса. Если эти сведения не требуются, передайте значение 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))
Метатип CIM, используемый в структуре MI_ClassDecl , чтобы указать, что структура класса также является структурой класса ассоциации. Этот флаг является взаимоисключающим с другими флагами метатипа CIM (квалификатора область).
MI_FLAG_BORROW (1073741824 (0x40000000))
Флаг свойства, используемый при добавлении и настройке свойств в структуре MI_Instance , указывающий, что экземпляр не будет копировать значение. Значение должно оставаться действительным до удаления экземпляра. Этот флаг является взаимоисключающим с флагом MI_FLAG_ADOPT .
MI_FLAG_CLASS (1 (0x1))
Метатип CIM, используемый в структуре MI_ClassDecl для обозначения структуры, описывающей класс. Этот флаг является взаимоисключающим с другими флагами метатипа 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))
Метатип CIM, используемый в структуре MI_ClassDecl , чтобы указать, что структура класса также является структурой класса указания. Этот флаг является взаимоисключающим с другими флагами метатипа CIM (квалификатора область).
MI_FLAG_KEY (4096 (0x1000))
Флаг свойства, указывающий, что элемент является ключевым свойством. Этот флаг применим только при использовании в сочетании с флагом MI_FLAG_PROPERTY .
MI_FLAG_METHOD (2 (0x2))
Метатип CIM, используемый в структуре MI_MethodDecl для обозначения структуры, описывающей метод. Этот флаг является взаимоисключающим с другими флагами метатипа 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))
Метатип CIM, используемый в структуре MI_ParameterDecl для обозначения структуры, описывающей параметр. Этот флаг является взаимоисключающим с другими флагами метатипа CIM (квалификатора область).
MI_FLAG_PROPERTY (4 (0x4))
Метатип CIM, используемый в структуре MI_PropertyDecl для обозначения структуры, описывающей свойство. Этот флаг является взаимоисключающим с другими флагами метатипа CIM (квалификатора область).
MI_FLAG_READONLY (2097152 (0x200000))
Флаг свойства, указывающий, что свойство может быть только прочитано и не может быть записано. Этот флаг применим только при использовании в сочетании с флагом MI_FLAG_PROPERTY .
MI_FLAG_REFERENCE (64 (0x40))
Метатип CIM, используемый в структуре MI_QualifierDecl в поле область для обозначения структуры, описывающей указатель на другие экземпляры. Этот флаг является взаимоисключающим с другими флагами метатипа 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))
Три бита, зарезервированные инфраструктурой для обработки будущих изменений управления версиями.
Возвращаемое значение
Эта функция возвращает MI_INLINE MI_Result.
Комментарии
Все сведения об элементах доступны только для чтения. Возвращаемые сведения являются допустимыми до тех пор, пока класс не будет удален.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 8 |
| Минимальная версия сервера | Windows Server 2012 |
| Целевая платформа | Windows |
| Header | mi.h |
| Распространяемые компоненты | Windows Management Framework 3.0 в Windows Server 2008 R2 с пакетом обновления 1 (SP1), Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 с пакетом обновления 2 (SP2) |