한정자 적용

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);
    };