WMI 속성 추가
WMI 클래스의 속성은 관리되는 개체에 대한 데이터를 설명합니다. 예를 들어 Handle, ProcessId및 PageFaultsWin32_Process 클래스의 속성으로 정의되고 운영 체제 프로세스의 측면을 설명합니다. 자세한 내용은 속성 공급자 관련 내용 작성을 참조하세요.
MOF에서 속성 정의
WMI 속성은 개체의 측면 또는 상태를 나타냅니다. 단순히 값을 가져와서 설정하는 메서드를 만드는 대신 속성을 만들 수 있습니다. 예를 들어 Win32_NetworkAdapter의 NetEnabled 속성은 어댑터의 상태가 사용 가능 상태인지 사용 불가 상태인지를 표시합니다. 그러나 활성화 및 비활성화 메서드는 실제로 어댑터 상태를 변경하는 작업을 수행합니다.
속성에는 데이터 형식이 있어야 합니다. Win32_Process 속성 Handle의 데이터 형식은 문자열이며, PageFaults의 데이터 형식은 uint32입니다. 속성에 두 개의 상태만 있을 수 있는 경우, 속성의 데이터 형식은 일반적으로 부울으로 설정됩니다.
이 속성은 배열일 수도 있습니다. 예를 들어 Win32_Trustee 보안 식별자(SID) 속성은 SID를 포함하는 바이트 배열(uint8)입니다. 속성에는 다른 WMI 클래스의 하나 이상의 인스턴스에 대한 참조인 포함된 개체가 포함될 수 있습니다. 예를 들어 DACL(임의 액세스 제어 목록 ) SACL(시스템 액세스 제어 목록 )Win32_SecurityDescriptor속성은 액세스 권한이 있는 그룹 및 계정을 설명하는 Win32_ACE 개체의 배열입니다. Win32_SecurityDescriptorGroup 속성에는 단일 Win32_Trustee인스턴스에 대한 참조가 포함되어 있습니다. 자세한 내용은 클래스에 개체 포함 을 참조하세요.
속성에는 여러 한정자있을 수 있습니다. 이러한 한정자는 CIM(공용 정보 모델) 또는 WMI 한정자일 수 있으며, 또한 특정 유형의 클래스, 예를 들어, 성능 카운터 클래스 한정자와 관련이 있을 수 있습니다. 한정자는 속성의 일부 측면을 지정합니다(예: 읽기 전용인 경우 또는 특정 권한 없이 변경할 수 없는 경우). 예를 들어 Win32_SecurityDescriptorDACL 속성에 쓰려고 시도하는 애플리케이션에는 SeSecurityPrivilege 권한이 필요하고 SeRestorePrivilege . 자세한 내용은 한정자 추가를 참조하세요.
마지막으로 속성에 이름이 있어야 합니다. 속성의 이름을 표준 프로그래밍 연습 범위 내에 포함할 수 있습니다. 그러나 두 가지 주요 예외가 있습니다. 먼저 "class"와 같은 MOF 키워드를 속성 이름으로 사용할 수 없습니다. 둘째, "group"과 같은 WQL 키워드를 속성 이름으로 사용할 수 없습니다. MOF 및 WQL 키워드에 대한 자세한 내용은 MOF 데이터 형식 및 WQL(WMI용 SQL)참조하세요.
C++ 및 MOF(Managed Object Format) 코드의 경우 클래스를 선언하는 동시에 클래스의 속성을 선언합니다.
속성 정의하려면
클래스 설명의 중괄호 사이에 속성 데이터 형식, 이름 및 선택적 기본값 및 한정자를 포함합니다.
class MyClass { [key] string strProp; sint32 dwProp1 = 21; uint32 dwProp2; };
이전 예제의 MyClass 클래스에는 문자열, 부호 있는 32비트 정수 및 32비트 부호 없는 정수의 세 가지 속성이 있습니다. 각 속성에는 대/소문자를 구분하지 않는 이름과 MOF 데이터 형식이 할당됩니다.
키 한정자는 문자열 속성을 클래스의 인스턴스를 고유하게 식별하는 키 속성으로 정의합니다. 한정자에 대한 자세한 내용은 한정자 추가를 참조하세요.
관련 항목