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이 아닌 경우 valueExistsNULL이 아니어야 합니다. valueExists의 반환된 값이 MI_FALSE 경우 기본값은 없습니다.

[out, optional] valueExists

지정된 요소의 기본값이 종료되는지 여부를 나타내는 반환된 부울 값을 받는 변수에 대한 포인터입니다. 매개 변수는 기본값이 종료되면 MI_TRUE . 그렇지 않으면 MI_FALSE. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.

[out, optional] type

데이터 형식을 지정하는 MI_Type 열거형의 반환된 값을 수신하는 변수에 대한 포인터입니다. 이 정보가 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.

referenceClass

참조의 클래스(요소가 강력한 형식의 참조인 경우) 또는 클래스 이름(요소가 강력한 형식의 포함된 instance 경우)입니다.

[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))

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비트입니다.

[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