IoReportRootDevice-Funktion (ntddk.h)
Die IoReportRootDevice Routine meldet ein Gerät, das von einem PnP-Bustreiber nicht erkannt werden kann, an den PnP-Manager. IoReportRootDevice nur ein Gerät pro Treiber erstellt werden kann.
Syntax
NTSTATUS IoReportRootDevice(
[in] PDRIVER_OBJECT DriverObject
);
Parameter
[in] DriverObject
Zeigen Sie auf das Treiberobjekt des Treibers, der das Gerät erkannt hat.
Rückgabewert
IoReportRootDevice STATUS_SUCCESS bei Erfolg oder den entsprechenden Fehlercode beim Fehler zurück.
Bemerkungen
Treiber für Geräte, die von einem PnP-Bustreiber nicht erkannt werden können, verwenden IoReportRootDevice-, um ihr Gerät an das System zu melden. Geräte, die von einem PnP-Bustreiber erkannt werden können, sollten als Reaktion auf eine IRP_MN_QUERY_DEVICE_RELATIONS Anforderung gemeldet werden.
Ein Treiber ruft diese Routine in der Regel von der DriverEntry Routine auf.
IoReportRootDevice kennzeichnet das Gerät als aufgezähltes Stammgerät, und diese Identifikation ist für systemübergreifende Starte dauerhaft. Der PnP-Manager erkennt das Gerät in der Liste mit der Stammliste und konfiguriert es wie ein PnP-Gerät: Der PnP-Manager fragt nach Geräteinformationen ab, identifiziert die entsprechenden Treiber und ruft seine AddDevice Routinen auf und sendet alle entsprechenden PnP IRPs.
Das System generiert eine einzelne Hardware-ID-Zeichenfolge für das Gerät, des Formulars ROOT\Driver wobei Driver der Dienstname des Treibers ist. Ein Treiber kann zusätzliche Hardware-IDs oder kompatible IDs bereitstellen, indem die IRP_MN_QUERY_ID Anforderung behandelt wird.
Ein Treiberschreiber muss eine INF-Datei bereitstellen, die mit einer der angegebenen Hardware-IDs oder kompatiblen IDs übereinstimmt. Die INF-Datei sollte den ursprünglichen Treiber angeben, der IoReportRootDevice als Treiber für diese IDs geladen werden soll. Das System verwendet diese Informationen, um den Treiberstapel für das Gerät neu zu erstellen, z. B. beim Neustart. Aufrufer von IoReportRootDevice- müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.
Treiber sollten IoReportDetectedDevice- verwenden, um Hardwaregeräte zu melden, die Ressourcen verwenden, aber nicht von einem PnP-Bustreiber erkannt werden können, anstatt IoReportRootDevice.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows 8 und höheren Versionen von Windows. |
Zielplattform- | Universal |
Header- | ntddk.h (include Ntddk.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |