표준 WMI 한정자

다음은 WMI와 관련된 표준 한정자를 보여줍니다.

Amendment

데이터 형식: 부울

적용 대상: 클래스

클래스에 지역화된 수정 한정자가 포함되어 있음을 나타냅니다. 기본값은 TRUE입니다.

연결된 클래스를 번역할 수 있습니다. 번역된 버전에 액세스하려면 로캘 식별자를 사용하여 네임스페이스 이름을 생성합니다.

Bypass_GetObject

데이터 형식: 부울

적용 대상: 메서드

공급자가 먼저 GetObject를 호출하여 개체 경로의 유효성을 검사하는 대신 메서드 호출이 공급자의 ExecMethodAsync 호출에 직접 전달되어야 함을 나타냅니다. 기본값은 FALSE입니다. Bypass_GetObject를 사용하면 성능이 크게 향상될 수 있습니다.

Bypass_GetObject를 사용하기 전에 다음 작업이 모두 수행되지 않았는지 확인합니다.

  • 클래스에서 클래스를 파생시킵니다.
  • Bypass_GetObject 한정자가 있는 메서드를 재정의합니다.

이러한 예방 조치를 따르지 않으면 자식 클래스 대신 부모 클래스의 메서드 구현을 호출할 수 있습니다. 자세한 내용은 Bypass_GetObject 한정자 사용을 참조하세요.

CIM_Key

데이터 형식: CIM_BOOLEAN

적용 대상: 속성

연결된 속성이 CIM의 키 속성이지만 WMI의 키 속성은 아님을 나타냅니다.

CIMType

데이터 형식: VT_BSTR

적용 대상: 속성, 메서드, 매개 변수

속성의 형식을 설명하는 텍스트를 포함합니다.

ClassContext

데이터 형식: VT_BSTR

적용 대상: 클래스

클래스에 공급자가 동적으로 제공하는 추가 정보와 연결된 인스턴스가 있음을 나타냅니다.

Deprecated

데이터 형식: CIM_BOOLEAN

적용 대상: 속성, 클래스

속성이 다른 속성으로 대체되었음을 나타냅니다.

Display

적용 대상: 클래스, 속성

연결된 클래스의 UUID입니다.

Dynamic

데이터 형식: 부울

적용 대상: 클래스, 속성

인스턴스가 동적으로 만들어지는 클래스를 나타냅니다. 이 한정자의 값은 TRUE로 설정해야 합니다.

DynProps

데이터 형식: 부울

적용 대상: 클래스, 인스턴스

인스턴스에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다. 기본값은 TRUE입니다.

이러한 인스턴스에서 이 한정자를 지정해야 합니다. TRUE 값만 허용됩니다.

Fixed

데이터 형식: CIM_BOOLEAN

적용 대상: 인스턴스

인스턴스의 수명 동안 이 속성의 값을 변경할 수 없음을 나타냅니다.

ID

데이터 형식: VT_I4

적용 대상: 속성, 매개 변수

MOF 문이 자동으로 생성될 때 속성 또는 메서드 매개 변수를 고유하게 식별하고 시퀀싱합니다.

이 한정자는 메서드 매개 변수에만 필요합니다. 메서드에 대한 매개 변수를 만들 때 클래스 디자이너는 첫 번째 매개 변수의 경우 Id(0)로 시작하고 연속 매개 변수마다 각각의 연속 정수를 사용해야 합니다. ID 한정자가 의도치 않게 생략되면 MOF 컴파일러는 ID 한정자를 자동으로 생성합니다.

Implemented

데이터 형식: 부울

적용 대상: 메서드

메서드에 공급자가 제공하는 구현이 있음을 나타냅니다.

InstanceContext

데이터 형식: VT_BSTR

적용 대상: 인스턴스

인스턴스에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다.

값은 IWbemPropertyProvider::GetProperty 메서드에 대한 인수로 속성 공급자에 전달됩니다.

Locale

데이터 형식: VT_BSTR

적용 대상: 클래스 또는 인스턴스

클래스 또는 인스턴스의 원본 언어를 지정합니다. 로캘 값에 대한 자세한 내용은 로캘 코드를 참조하세요.

NamespaceSecuritySDDL

데이터 형식: 문자열 배열

적용 대상: 네임스페이스 인스턴스

네임스페이스에 대한 보안 설명자를 SDDL 형식으로 지정합니다. 자세한 내용은 네임스페이스를 만들 때 네임스페이스 보안 설정을 참조하세요. SDDL 문자열은 네임스페이스 보안 설정을 위해 WMI에서 처리되지만 문자열로 저장되지는 않습니다. 보안 설명자를 지정하지 않으면 기본 보안이 사용됩니다. 자세한 내용은 네임스페이스 보안 설명자 설정을 참조하세요.

Optional

데이터 형식: 부울

적용 대상: 매개 변수

매개 변수가 필요하지 않으며 제대로 작동하는 기본값이 있음을 나타냅니다.

Privileges

데이터 형식: 문자열 배열

적용 대상: 속성, 메서드

인스턴스를 만들거나 속성을 입력하거나 메서드를 수행하는 데 필요한 권한을 클라이언트에 알리는 데 사용되는 값 집합입니다. 기본값은 FALSE입니다.

PropertyContext

데이터 형식: VT_BSTR

적용 대상: 속성

인스턴스 속성에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다.

이러한 속성에서 이 한정자를 지정해야 합니다. 값은 IWbemPropertyProvider::GetProperty에 대한 인수로 속성 공급자에 전달됩니다.

Provider

데이터 형식: VT_BSTR

적용 대상: 클래스

이 한정자의 값은 클래스 인스턴스를 제공하고 인스턴스 데이터를 새로 고치는 동적 공급자의 이름입니다. 이 이름은 이 이름이 포함된 Name 속성을 사용하여 __Win32Provider 클래스의 인스턴스를 만들어 WMI에 등록해야 합니다. 인스턴스가 동적으로 제공되는 클래스에서 이 한정자를 지정하는 경우 Dynamic 한정자도 지정해야 합니다.

RequiresEncryption

데이터 형식: 부울

적용 대상: 네임스페이스 인스턴스

TRUE로 설정된 경우 RequiresEncryption은 클라이언트 애플리케이션 및 스크립트가 암호화된 인증과 연결되도록 네임스페이스를 표시합니다. 인증 수준은 C++에서 RPC_C_AUTHN_LEVEL_PKT_PRIVACY로 설정해야 합니다. 스크립팅 또는 Visual Basic에서는 인증 수준을 WbemAuthenticationLevelPktPrivacy로 설정해야 합니다. 자세한 내용은 네임스페이스 보안 설명자 설정을 참조하세요. 한정자는 pragma 네임스페이스 전처리기 명령과 함께 MOF에서 사용됩니다.

자세한 내용은 C++를 사용하여 기본 프로세스 보안 수준 설정 또는 VBScript를 사용하여 기본 프로세스 보안 수준 설정을 참조하세요. 스크립팅 인증 수준은 WbemAuthenticationLevelEnum에 정의되어 있습니다.

Singleton

데이터 형식: 부울

적용 대상: 클래스

하나의 인스턴스만 가질 수 있고 키 속성을 포함하지 않는 클래스를 지정합니다.

TRUE(기본값) 값만 허용됩니다.

Static

데이터 형식: 부울

적용 대상: 메서드

클래스 정의 또는 해당 인스턴스를 사용하여 메서드를 호출할 수 있는지 여부를 나타냅니다.

메서드는 인스턴스에서 호출할 수 없습니다.

SubType

데이터 형식: VT_BSTR

적용 대상: 속성

CIM_DATETIME 형식의 속성이 특정 시간이 아닌 시간 간격을 의미함을 나타냅니다.

속성을 간격으로 식별하려면 이 한정자의 값이 "interval"이어야 합니다. 이 한정자에 대한 다른 모든 값은 나중에 사용하기 위해 예약되어 있습니다.

UUID

데이터 형식: 문자열

적용 대상: 클래스

클래스에 적용된 범용 고유 식별자입니다.

ClassVersion

데이터 형식: 문자열

적용 대상: 클래스

클래스 개체의 버전 번호입니다. 기본값은 NULL입니다. 클래스를 변경하면 버전 번호가 증가합니다.

WritePrivileges

데이터 형식: 문자열 배열

적용 대상: 속성

쓰기 작업을 성공적으로 수행하기 위해 사용 가능하며 사용하도록 설정해야 하는 시스템 권한을 나타내는 값 집합입니다.

설명

로캘 코드

로캘 코드는 "MS_<3자리 언어 ID>" 형식입니다. 예를 들어 영어 로캘은 MS_409입니다. 다음 표에서는 언어 ID를 보여줍니다.

언어 언어 ID(16진수)
아랍어 401
포르투갈어(브라질) 416
중국어(간체) 804
중국어(번체) 404
체코어 405
덴마크어 406
네덜란드어 413
영어(기본값) 409
핀란드어 40b
프랑스어 40c
독일어 407
그리스어 408
히브리어 40d
헝가리어 40e
이탈리아어 410
일본어 411
한국어 412
노르웨이어 414
폴란드어 415
포르투갈어(포르투갈) 816
러시아어 419
스페인어 c0a
스웨덴어 41D
터키어 41f

Bypass_GetObject 한정자 사용

메서드에서 Bypass_GetObject 한정자를 사용하면 혼동되는 결과가 생성될 수 있습니다.

다음 예제에서는 ShapeCircle 클래스를 정의합니다. Circle 클래스는 Shape 클래스에서 파생됩니다.

class Shape
{
   string Name;
   uint32 DrawIt();  // - draws an irregular geometric shape
};

class Circle : Shape
{
   uint32 DrawIt();  // - draws a circle
};

ExecMethod에 대한 다음 호출에서는 "MyCircle"이라는 Circle 개체를 사용하여 원을 그립니다.

ExecMethod("Shape.Name='MyCircle'","DrawIt");

이전 시나리오에서 WMI는 GetObject를 호출하고 "Shape.Name='MyCircle'"이 Circle임을 발견하며 DrawItCircle 구현을 실행합니다. 그러나 DrawIt에서 Bypass_GetObject 한정자를 사용하는 경우 WMI는 GetObject를 호출하지 않고 "Shape.Name='MyCircle'"이 Circle임을 발견하지 못하며 DrawItCircle 구현 대신 DrawItShape 구현을 실행합니다.

ExecMethod에 대한 다음 호출은 항상 DrawIt의 올바른 구현을 호출합니다.

ExecMethod("Circle.Name='MyCircle'","DrawIt");

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008

추가 정보

네임스페이스 보안 설명자 설정

WMI 한정자

한정자 추가