다음을 통해 공유


WMI 제네릭 속성 페이지 공급자

Windows XP 이상 운영 체제에서 드라이버는 WMI 제네릭 속성 페이지 공급자를 통해 WMI 클래스를 노출할 수 있습니다. 공급자는 각 클래스 선언을 사용하여 클래스 속성에 대한 간단한 속성 페이지를 만듭니다.

속성 한정자에서 속성 페이지를 결정하는 방법

WMI 제네릭 속성 페이지 공급자는 클래스에 있는 각 속성의 데이터 형식에 적합한 컨트롤을 사용합니다. 다음 속성 한정자는 사용된 컨트롤의 형식을 수정합니다.

  • 쓰기

    쓰기 한정자를 사용하는 속성은 속성 페이지를 통해 변경할 수 있습니다. 그렇지 않으면 속성이 읽기 전용입니다.

  • 값Map

    제네릭 속성 페이지 공급자는 목록 상자를 사용하여 가능한 값을 나타냅니다.

  • Range

    제네릭 속성 페이지 공급자는 입력한 데이터가 지정된 범위를 준수하는지 확인합니다.

  • 표시 이름

    제네릭 속성 페이지 공급자는 이 속성 한정자의 값을 속성의 레이블로 사용합니다.

  • DisplayInHex

    있는 경우 속성 값은 16진수로 표시됩니다.

드라이버 작성기는 문자열인 속성 한정자를 지역화해야 합니다. 자세한 내용은 MOF 파일 지역화를 참조하세요.

제네릭 속성 페이지 공급자 사용

Wmiprop.dll 사용할 클래스를 노출하는 각 디바이스는 Wmiprop.dll 공동 설치 관리자로 사용하도록 설정해야 합니다. 이렇게 하려면 공동 설치 관리자 add-registry-섹션에 다음을 추가합니다. HKLM\System\CurrentControlSet\Control\CoDeviceInstallers 레지스트리 키 아래에 클래스 GUID에 대한 값 항목을 추가합니다. 값 항목의 값은 "WmiProp.dll, WmiPropCoInstaller"입니다.

예:

; This section is defined in the Co-installer section, as follows.
; [Co-installer]
; AddReg = CoInstaller_AddReg

[CoInstaller_AddReg] 
HKLM, System\CurrentControlSet\Control\CoDeviceInstallers, ClassGUID,
    0x00010000, "WmiProp.dll, WmiPropCoInstaller"

ClassGUID 는 WMI 클래스의 GUID입니다. 자세한 내용은 클래스 공동 설치 관리자 등록 을 참조하세요.

또한 제네릭 속성 공급자를 통해 노출할 특정 WMI 클래스를 지정해야 합니다. 이렇게 하려면 WmiConfigClasses 값 항목을 디바이스 클래스 또는 디바이스 하드웨어 instance 추가 레지스트리 섹션에 있는 WMI 클래스의 쉼표로 구분된 목록으로 설정합니다.

; the device class AddReg section.
[device_class_AddReg]
HKR,,"WmiConfigClasses",0x00000000,"class1,class2"

; the device hardware instance AddReg section.
[device_hw_inst_AddReg]
HKR,,"WmiConfigClasses",0x00000000,"class3"

INF 파일의 추가 레지스트리 섹션에 대한 설명은 INF AddReg 지시문을 참조하세요.

Wmiprop.dll 각 클래스의 instance 하나만 가정합니다. 각 클래스는 속성 시트의 탭으로 표시됩니다. DisplayName 속성 한정자를 사용하여 탭의 제목 텍스트를 설정합니다. 클래스에 대한 속성 페이지는 현재 클래스의 instance 있는 경우에만 표시됩니다. 따라서 디바이스가 제거되었거나 시작되지 않은 경우 페이지가 표시되지 않습니다.