Registro como proveedor de datos WMI
Un controlador que admita WMI debe registrarse como proveedor de datos WMI para que sus datos y bloques de eventos estén disponibles para los clientes WMI. Normalmente, un controlador se registra con WMI al iniciar su dispositivo, después de que el dispositivo se haya inicializado hasta el punto en que el controlador pueda controlar los IRP de WMI. Durante el proceso de registro, el controlador pasa un puntero WMI a su objeto de dispositivo e información sobre los datos y los bloques de eventos que admite.
Un controlador se registra con WMI en dos fases:
El controlador llama a IoWMIRegistrationControl con la acción WMIREG_ACTION_REGISTER y un puntero al objeto de dispositivo pasado a la rutina AddDevice del controlador.
El controlador controla el IRP_MN_REGINFO o IRP_MN_REGINFO_EX solicitud que WMI envía en respuesta a la llamada IoWMIRegistrationControl del controlador. El miembro Parameters.WMI.DataPath del IRP se establece en WMIREGISTER y Parameters.WMI.ProviderId se establece en el puntero del objeto de dispositivo del controlador. El controlador proporciona a WMI información de registro sobre sus datos y bloques de eventos, ya sea mediante el uso de la biblioteca WMI tal y como se describe en Uso de la biblioteca WMI para registrar bloques, o controlando las solicitudes de IRP_MN_REGINFO o IRP_MN_REGINFO_EX , tal como se describe en Control de IRP_MN_REGINFO y IRP_MN_REGINFO_EX para registrar bloques.