WMI 데이터 공급자로 등록
WMI를 지원하는 드라이버는 WMI 클라이언트에서 해당 데이터 및 이벤트 블록을 사용할 수 있도록 WMI 데이터 공급자로 등록해야 합니다. 드라이버는 일반적으로 디바이스를 시작할 때 드라이버가 WMI IRP를 처리할 수 있는 지점까지 초기화된 후 WMI에 등록합니다. 등록 프로세스 중에 드라이버는 WMI에 해당 디바이스 개체에 대한 포인터와 지원하는 데이터 및 이벤트 블록에 대한 정보를 전달합니다.
드라이버는 다음 두 단계로 WMI에 등록합니다.
드라이버는 작업 WMIREG_ACTION_REGISTER 드라이버의 AddDevice 루틴에 전달된 디바이스 개체에 대한 포인터를 사용하여 IoWMIRegistrationControl을 호출합니다.
드라이버는 드라이버의IoWMIRegistrationControl 호출에 대한 응답으로 WMI가 보내는 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 처리합니다. IRP의 Parameters.WMI.DataPath 멤버가 WMIREGISTER로 설정되고 Parameters.WMI.ProviderId 가 드라이버의 디바이스 개체 포인터로 설정됩니다. 드라이버는 WMI 라이브러리를 사용하여 블록을 등록하는 데 설명된 대로 WMI 라이브러리를 사용하거나 블록 등록 IRP_MN_REGINFO 및 IRP_MN_REGINFO_EX 처리에 설명된 대로 IRP_MN_REGINFO 또는 IRP_MN_REGINFO_EX 요청을 처리하여 데이터 및 이벤트 블록에 대한 등록 정보를 WMI에 제공합니다.