Registrieren als WMI-Datenanbieter

Ein Treiber, der WMI unterstützt, muss sich als WMI-Datenanbieter registrieren, um seine Daten und Ereignisblöcke für WMI-Clients verfügbar zu machen. Ein Treiber registriert sich in der Regel bei WMI, wenn er sein Gerät startet, nachdem das Gerät so initialisiert wurde, dass der Treiber WMI-IRPs verarbeiten kann. Während des Registrierungsprozesses übergibt der Treiber WMI einen Zeiger auf sein Geräteobjekt sowie Informationen zu den von ihm unterstützten Daten- und Ereignisblöcken.

Ein Treiber registriert sich bei WMI in zwei Phasen:

  1. Der Treiber ruft IoWMIRegistrationControl mit der Aktion WMIREG_ACTION_REGISTER und einem Zeiger auf das Geräteobjekt auf, das an die AddDevice-Routine des Treibers übergeben wird.

  2. Der Treiber verarbeitet die IRP_MN_REGINFO oder IRP_MN_REGINFO_EX Anforderung, die WMI als Reaktion auf den IoWMIRegistrationControl-Aufruf des Treibers sendet. Das Parameters.WMI.DataPath-Element des IRP ist auf WMIREGISTER und Parameters.WMI.ProviderId auf den Geräteobjektzeiger des Treibers festgelegt. Der Treiber stellt WMI Registrierungsinformationen zu seinen Daten- und Ereignisblöcken bereit, indem er entweder die WMI-Bibliothek wie unter Verwenden der WMI-Bibliothek zum Registrieren von Blöcken beschrieben verwendet oder die IRP_MN_REGINFO oder IRP_MN_REGINFO_EX Anforderungen behandelt, wie unter Behandeln von IRP_MN_REGINFO und IRP_MN_REGINFO_EX zum Registrieren von Blöcken beschrieben.