요소 인덱스 기반 클래스 요소의 세부 정보를 가져옵니다.
구문
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
검색할 요소의 인덱스(0부터 시작)입니다.
name
요소의 반환된 이름을 받을 변수에 대한 포인터입니다. 클래스 개체가 삭제될 때까지 이름과 연결된 메모리가 유효합니다. 클래스 개체 사용을 마쳤으면 MI_Class_Delete 함수를 호출하여 삭제합니다. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[out, optional] value
요소에 대해 반환된 기본값을 받을 변수에 대한 포인터입니다. 값은 클래스 개체의 수명 동안 유효합니다. 값을 삭제할 필요가 없습니다. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[out, optional] valueExists
지정된 요소에 대한 기본값이 종료되는지 여부를 나타내는 반환된 부울 값을 받을 변수에 대한 포인터입니다. 기본 값이 종료되면 MI_TRUE. 그렇지 않으면 MI_FALSE. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[out, optional] type
데이터 형식을 지정하는 MI_Type 열거형의 반환된 값을 받을 변수에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
referenceClass
참조의 클래스(요소가 강력한 형식의 참조인 경우) 또는 클래스 이름(요소가 강력한 형식의 포함된 instance 경우)입니다.
[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))
instance 포인터를 채택하고 삭제를 담당함을 나타내기 위해 MI_Instance 구조체에 속성을 추가하고 설정하는 동안 사용되는 속성 플래그입니다. 이 플래그는 MI_FLAG_BORROW 플래그와 함께 사용할 수 없습니다.
MI_FLAG_ANY(127(0x7F))
이러한 CIM 메타 형식(한정자 scope) 플래그를 필터링하는 데 사용되는 비트 마스크입니다.
- 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 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
MI_FLAG_BORROW(1073741824(0x40000000))
instance 값을 복사하지 않음을 나타내기 위해 MI_Instance 구조체에서 속성을 추가하고 설정하는 동안 사용되는 속성 플래그입니다. 값은 instance 삭제될 때까지 유효한 상태를 유지해야 합니다. 이 플래그는 MI_FLAG_ADOPT 플래그와 함께 사용할 수 없습니다.
MI_FLAG_CLASS(1(0x1))
클래스를 설명하는 구조를 나타내기 위해 MI_ClassDecl 구조체에 사용되는 CIM 메타 형식입니다. 이 플래그는 다른 CIM 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
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 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
MI_FLAG_KEY(4096(0x1000))
요소가 키 속성임을 나타내는 속성 플래그입니다. 이 플래그는 MI_FLAG_PROPERTY 플래그와 함께 사용하는 경우에만 적용됩니다.
MI_FLAG_METHOD(2(0x2))
MI_MethodDecl 구조체에서 메서드를 설명하는 구조를 나타내는 데 사용되는 CIM 메타 형식입니다. 이 플래그는 다른 CIM 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
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 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
MI_FLAG_PROPERTY(4(0x4))
MI_PropertyDecl 구조체에서 속성을 설명하는 구조를 나타내는 데 사용되는 CIM 메타 형식입니다. 이 플래그는 다른 CIM 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
MI_FLAG_READONLY(2097152(0x200000))
속성을 읽을 수 있고 쓸 수 없음을 나타내는 속성 플래그입니다. 이 플래그는 MI_FLAG_PROPERTY 플래그와 함께 사용하는 경우에만 적용됩니다.
MI_FLAG_REFERENCE(64(0x40))
다른 인스턴스에 대한 포인터를 설명하는 구조를 나타내기 위해 scope 필드의 MI_QualifierDecl 구조에 사용되는 CIM 메타 형식입니다. 이 플래그는 다른 CIM 메타 형식(한정자 scope) 플래그와 함께 사용할 수 없습니다.
MI_FLAG_REQUIRED(32768(0x8000))
매개 변수를 지정해야 했음을 나타내는 매개 변수 플래그입니다. 이 플래그는 MI_FLAG_PARAMETER 플래그와 함께 사용하는 경우에만 적용됩니다.
MI_FLAG_RESTRICTED (512(0x200))
한정자는 파생 클래스로 전파되지 않음을 나타내는 한정자 버전입니다. 한정자는 선언된 클래스에만 적용됩니다. 이 플래그는 MI_FLAG_TOSUBCLASS 플래그와 함께 사용할 수 없습니다.
MI_FLAG_STATIC(65536(0x10000))
메서드에서 요소가 정적이며 호출할 키를 지정하는 instance 필요하지 않음을 나타내는 데 사용되는 플래그입니다.
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))
향후 버전 관리 변경을 처리하기 위해 인프라에서 예약한 3비트입니다.
반환 값
이 함수는 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 |