다음은 WMI와 관련된 표준 한정자를 나열합니다.
개정
데이터 형식: boolean
적용 대상: 클래스
클래스에 지역화된 수정된 한정자를 포함하고 있음을 나타냅니다. 기본값은 TRUE.
연결된 클래스를 번역할 수 있습니다. 번역된 버전에 액세스하려면 로캘 식별자를 사용하여 네임스페이스 이름을 생성합니다.
Bypass_GetObject
데이터 형식: boolean
적용 대상: 메서드
메서드 호출이 공급자가 먼저 GetObject를 호출하여 개체 경로의 유효성을 검사하는 대신 공급자의 ExecMethodAsync 호출에 직접 전달되어야 임을 나타냅니다. 기본값은 FALSE. Bypass_GetObject 사용하면 성능이 크게 향상될 수 있습니다.
Bypass_GetObject 사용하기 전에 다음 작업 중 어느 것도 수행되지 않았는지 확인합니다.
- 클래스에서 클래스를 파생합니다.
- Bypass_GetObject 한정자를 포함하는 메서드를 재정의합니다.
이러한 예방 조치를 따르지 않으면 자식 클래스 대신 부모 클래스의 메서드 구현이 호출될 수 있습니다. 자세한 내용은 Bypass_GetObject 한정자 사용을 참조하세요.
CIM_Key
데이터 형식: CIM_BOOLEAN
적용 대상: 속성
연결된 속성이 CIM의 키 속성이지만 WMI에는 없음을 나타냅니다.
데이터 형식: VT_BSTR
적용 대상: 속성, 메서드, 매개 변수
속성의 형식을 설명하는 텍스트를 포함합니다.
ClassContext
데이터 형식: VT_BSTR
적용 대상: 클래스
클래스에 공급자가 동적으로 제공하는 추가 정보와 연결된 인스턴스가 있음을 나타냅니다.
되지 않는
데이터 형식: CIM_BOOLEAN
적용 대상: 속성, 클래스
속성이 다른 속성으로 대체되었음을 나타냅니다.
전시
적용 대상: 클래스, 속성
연결된 클래스의 UUID 입니다.
데이터 형식: boolean
적용 대상: 클래스, 속성
인스턴스가 동적으로 만들어지는 클래스를 나타냅니다. 이 한정자의 값은 TRUE로 설정해야 합니다.
DynProps
데이터 형식: boolean
적용 대상: 클래스, 인스턴스
인스턴스에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다. 기본값은 TRUE.
이러한 인스턴스에서 이 한정자를 지정해야 합니다. TRUE 값만 허용됩니다.
부정하게 결정된
데이터 형식: CIM_BOOLEAN
적용 대상: 인스턴스
인스턴스의 수명 동안 이 속성의 값을 변경할 수 없음을 나타냅니다.
아이디
데이터 형식: VT_I4
적용 대상: 속성, 매개 변수
MOF 문이 자동으로 생성될 때 속성 또는 메서드 매개 변수를 고유하게 식별하고 시퀀스를 지정합니다.
이 한정자는 메서드 매개 변수에만 필요합니다. 메서드에 대한 매개 변수를 만들 때 클래스 디자이너는 첫 번째 매개 변수에 대해 Id(0)로 시작하고 각 연속 매개 변수에 대해 각 연속 정수를 사용해야 합니다. ID 한정자가 의도치 않게 생략되면 MOF 컴파일러는 ID 한정자를 자동으로 생성합니다.
구현된
데이터 형식: boolean
적용 대상: 메서드
메서드에 공급자가 제공하는 구현이 있음을 나타냅니다.
InstanceContext
데이터 형식: VT_BSTR
적용 대상: 인스턴스
인스턴스에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다.
값은 IWbemPropertyProvider::GetProperty 메서드에 대한 인수로 속성 공급자에 전달됩니다.
로캘
데이터 형식: VT_BSTR
적용 대상: 클래스 또는 인스턴스
클래스 또는 인스턴스의 원본 언어를 지정합니다. 로캘 값에 대한 자세한 내용은 로캘 코드를 참조하세요.
NamespaceSecuritySDDL
데이터 형식: 문자열 배열
적용 대상: 네임스페이스 인스턴스
네임스페이스에 대한 보안 설명자를 SDDL 형식으로 지정합니다. 자세한 내용은 네임스페이스를 만들 때 네임스페이스 보안 설정참조하세요. SDDL 문자열은 WMI에서 처리되어 네임스페이스 보안을 설정하지만 문자열로 저장되지는 않습니다. 보안 설명자를 지정하지 않으면 기본 보안이 사용됩니다. 자세한 내용은 네임스페이스 보안 설명자설정을 참조하세요.
선택적
데이터 형식: boolean
적용 대상: 매개 변수
매개 변수가 필요하지 않으며 잘 작동하는 기본값이 있음을 나타냅니다.
권한을
데이터 형식: 문자열 배열
적용 대상: 속성, 메서드
인스턴스를 만들거나, 속성을 입력하거나, 메서드를 수행하는 데 필요한 권한을 클라이언트에 알리는 데 사용되는 값 집합입니다. 기본값은 FALSE.
PropertyContext
데이터 형식: VT_BSTR
적용 대상: 속성
인스턴스 속성에 동적 속성 공급자가 제공하는 값이 포함되어 있음을 나타냅니다.
이러한 속성에 대해 이 한정자를 지정해야 합니다. 값은 IWbemPropertyProvider::GetProperty에 대한 인수로 속성 공급자에 전달됩니다.
공급자
데이터 형식: VT_BSTR
적용 대상: 클래스
이 한정자의 값은 클래스 인스턴스를 제공하고 인스턴스 데이터를 새로 고치는 동적 공급자의 이름입니다. 이 이름은 이 이름을 포함하는 Name 속성을 사용하여 __Win32Provider 클래스의 인스턴스를 만들어 WMI에 등록해야 합니다. 인스턴스가 동적으로 제공되는 클래스에 이 한정자를 지정하는 경우 동적 한정자도 지정해야 합니다.
RequiresEncryption
데이터 형식: boolean
적용 대상: 네임스페이스 인스턴스
TRUE로 설정하면 RequiresEncryption은 네임스페이스를 표시하여 클라이언트 애플리케이션 및 스크립트가 암호화된 인증과 연결해야 합니다. 인증 수준은 C++에서 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 설정해야 합니다. 스크립팅 또는 Visual Basic에서 인증 수준은 WbemAuthenticationLevelPktPrivacy로 설정해야 합니다. 자세한 내용은 네임스페이스 보안 설명자설정을 참조하세요. 한정자는 pragma 네임스페이스 전처리기 명령과 함께 MOF 에서 사용됩니다.
자세한 내용은 C++를 사용하여 기본 프로세스 보안 수준 설정 또는 VBScript를 사용하여 기본 프로세스 보안 수준 설정을 참조하세요. 스크립팅 인증 수준은 WbemAuthenticationLevelEnum에 정의되어 있습니다.
싱글톤
데이터 형식: boolean
적용 대상: 클래스
하나의 인스턴스만 가질 수 있고 키 속성을 포함하지 않는 클래스를 지정합니다.
값 TRUE(기본값)만 허용됩니다.
정적인
데이터 형식: boolean
적용 대상: 메서드
클래스 정의 또는 해당 인스턴스를 사용하여 메서드를 호출할 수 있는지 여부를 나타냅니다.
인스턴스에서 메서드를 호출할 수 없습니다.
하위
데이터 형식: VT_BSTR
적용 대상: 속성
CIM_DATETIME 형식의 속성이 특정 시간이 아닌 시간 간격을 나타낸다는 것을 나타냅니다.
속성을 간격으로 식별하려면 이 한정자의 값이 "interval"이어야 합니다. 이 한정자를 위한 다른 모든 값은 나중에 사용하도록 예약됩니다.
UUID
데이터 형식: 문자열
적용 대상: 클래스
클래스에 적용된 범용 고유 식별자입니다.
ClassVersion
데이터 형식: 문자열
적용 대상: 클래스
클래스 개체의 버전 번호입니다. 기본값은 NULL입니다. 클래스를 변경하면 버전 번호가 증가합니다.
WritePrivileges
데이터 형식: 문자열 배열
적용 대상: 속성
성공적인 쓰기 작업에 사용할 수 있고 사용하도록 설정해야 하는 시스템 권한을 나타내는 값 집합입니다.
비고
로캘 코드
로캘 코드는 "MS_<자리 숫자 언어 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 한정자를 사용하면 혼란스러운 결과를 생성할 수 있습니다.
다음 예제에서는 Shape 및 Circle 클래스를 정의합니다. 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'"이 원임을 검색합니다. DrawIt의 원 구현을 실행합니다. 그러나 DrawIt에서 Bypass_GetObject 한정자를 사용하는 경우 WMI는 GetObject를 호출하지 않고 "Shape.Name='MyCircle'"이 원임을 검색하지 않으며 DrawIt의 원 구현 대신 DrawIt의 셰이프 구현을 실행합니다.
ExecMethod에 대한 다음 호출은 항상 DrawIt의 올바른 구현을 호출합니다.
ExecMethod("Circle.Name='MyCircle'","DrawIt");
요구 사항
요구 사항 | 가치 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista |
지원되는 최소 서버 |
Windows Server 2008 |
참고하십시오
-
한정자 추가