다음을 통해 공유


한정자 적용

MOF(Managed Object Format)의 다른 많은 기술과 마찬가지로 코드에 한정자를 적용하는 것은 비교적 간단한 프로세스입니다.

실질적으로 나타나는 유일한 문제는 WMI가 적용하는 명명 규칙의 다음과 같은 제한 사항입니다.

  • 한정자는 클래스, 인스턴스, 속성, 메서드 또는 메서드 매개 변수를 설명할 수 있습니다.

  • 한정자 이름에는 선행 또는 후행 밑줄이 있을 수 없습니다.

  • 한정자 이름은 숫자로 시작될 수 없습니다.

  • 한정자 이름에는 &* @ ! 등의 특수 문자를 포함할 수 없습니다. ~ \ /.

  • 모든 한정자 이름은 대/소문자를 구분하지 않습니다.

  • 표준 WMI 한정자 또는 DMTF CIM 사양에 설명된 한정자는 다시 정의할 수 없습니다.

  • 한정자 형식은 명시적으로 선언되지 않습니다.

    한정자 형식을 선언하지 않으면 WMI는 형식을 TRUE 값의 부울로 가정합니다. 그렇지 않으면 선언한 한정자 값에 따라 WMI 형식 한정자가 지정됩니다.

  • 고유한 한정자를 만들 때 스키마 이름을 한정자 이름에 접두사로 추가해야 합니다.

    이 규칙은 새 한정자와 혼동하지 않기 위해 준수해야 합니다.

  • 한정자의 동종 배열을 만들 수 있습니다.

    다음 코드 예제에서는 중괄호로 값을 묶어 한정자 배열을 지정하는 방법을 보여 줍니다.

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • WMI는 참조에 나열되지 않은 자동화 형식(예: VT_NULL)을 지원하지 않습니다. 자세한 내용은 MOF 데이터 형식을 참조하세요.

다음 절차는 C++를 사용하여 속성에 한정자를 추가하는 데 도움이 됩니다.

C++를 사용하여 한정자를 적용하려면

  • IWbemQualifierSet::Put 메서드를 호출하여 한정자를 적용합니다.

    IWbemQualifierSet의 다른 메서드를 사용하여 기존 한정자를 검색하거나 삭제할 수 있습니다.

다음 절차는 MOF 파일에서 한정자를 적용하는 데 도움이 됩니다.

MOF를 사용하여 한정자로 키워드 또는 식별자를 설명하려면

  • 한정자가 설명한 키워드 또는 식별자 앞에 대괄호로 묶은 한정자를 배치합니다.

    다음 코드 예제에서는 한정자를 사용하는 방법을 보여 줍니다.

    [qualifiers...]
    class StdDisk
    {
      [qualifiers...]  uint32 dwNumCylinders;
      [qualifiers...]  uint32 dwNumHeads;
      [qualifiers...]  sint32 Method1();
      sint32 Method2([qualifiers...] Parameter1);
    };
    

    다음 예제에서는 한정자의 적절한 배치를 설명합니다.

    [Abstract]
    class MyClass
    {
        [Amendment, InstanceOf]  uint32 dwNumber;
        sint32 MyMethod ([in] sint32 Param);
    };