다음을 통해 공유


한정자 특성을 사용해 한정자 설명

한정자 특성은 한정자에 대한 자세한 정보를 설명하는 플래그입니다. 예를 들어 제한된 한정자 특성에서는 WMI가 연결된 한정자를 파생 클래스 또는 인스턴스로 전파해서는 안 된다고 명시합니다. MOF 코드를 사용하거나 프로그래밍 방식으로 특성을 설정할 수 있습니다. 특성으로 다양한 효과를 설명할 수 있지만, 특성 플래그의 주요 목적은 WMI가 상속을 통해 한정자를 전파하는 방법을 정의하는 것입니다.

WMI는 한정자의 원본에 관계없이 모든 한정자에 연결할 수 있는 여러 한정자 특성을 정의합니다. 그러나 모든 버전이 한정자 형식에 적합하지는 않습니다. 예를 들어 ToSubClass 특성은 클래스에 대해 정의된 한정자에만 적합합니다. 인스턴스를 설명하는 데 사용되는 한정자는 ToSubClass 에 연결할 수 없습니다.

한정자의 다양한 효과를 설명하기 위해 특성을 사용할 수 있습니다. 예를 들어 특성은 한정자를 지역화할 수 있는지 여부를 나타낼 수 있습니다. 그러나 한정자 특성의 주요 목적 중 하나는 상위 클래스가 하위 클래스 또는 클래스 인스턴스에 한정자를 전달할 수 있는지 여부를 설명하는 것입니다. 특성을 사용하여 클래스 속성이 인스턴스 속성에 한정자를 전달하는지 여부를 확인할 수도 있습니다. 마지막으로 특성을 사용하여 하위 클래스가 상속된 한정자의 원래 값을 재정의할 수 있는지 여부를 지정합니다. 그러나 클래스 또는 인스턴스에 대해 선언하는 한정자는 해당 클래스 또는 인스턴스의 속성으로 전파되지 않습니다. 또한 재정의 권한을 설정하는 버전은 ToInstance 또는 ToSubClass 버전도 설정한 경우에만 유효합니다.

여러 버전이 지정될 때 공백이 구분 기호 역할을 하는 다음 구문을 사용하여 전체 MOF 파일의 한정자에 특성을 전역적으로 할당할 수 있습니다.

Qualifier QualifierName : flavor1 <flavor2...>;

전역 버전은 MOF 파일에서 한정자의 모든 후속 사용에 적용됩니다. 전역 특성 문은 개체 선언 블록 외부의 파일 어디에서나 발생할 수 있습니다. 클래스, 인스턴스 또는 속성 수준에서 다시 정의된 Flavors는 해당 개체의 범위에 대한 전역 특성 선언을 재정의합니다.

새 특성을 정의할 수 없습니다. 새 한정자를 만들 수 있지만 기존 한정자 특성만을 사용하여 새 한정자를 설명합니다.

MOF에서 한정자 특성 정의

  • 한정자 이름 뒤의 한정자 대괄호 사이에 지정된 한정자를 설명하는 특성을 선언합니다. 공백을 여러 특성 사이의 구분 기호로 사용합니다.

    다음 예제에서는 미리 정의된 한정자를 연결하는 패턴을 보여 줍니다.

    [qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
    

C++에서만 프로그래밍 방식으로 한정자 특성을 추가할 수 있습니다. 이 작업은 SWbemQualifierSet.Add를 호출하여 새 한정자를 추가할 수 있지만 WMI용 스크립팅 API에서는 사용할 수 없습니다.

C++를 사용하여 특성 할당

  • lFlavor 매개 변수를 메서드에 대해 정의된 상수 중 하나로 설정하여 IWbemQualifierSet::Put 메서드를 호출합니다.