Abrufen von Konfigurationsinformationen aus anderen Treiberstapeln

Manchmal müssen Sie Informationen aus dem Konfigurationsraum eines Geräts abrufen, dessen Treiber sich auf einem anderen Stapel befindet als dem, auf dem sich Ihr Treiber befindet. Angenommen, Sie möchten für instance ein Bit im Konfigurationsraum einer PCI-zu-PCI-Brücke festlegen, und Sie verfügen nicht über einen Zeiger auf die PDO der Brücke. Obwohl das Betriebssystem PCI-to-PCI-Brücken auflistet und eine PDO für jede Brücke im System erstellt, registriert es keine Geräteschnittstellen für diese Geräte. Daher können Sie den Geräteschnittstellenmechanismus nicht verwenden, um auf den Konfigurationsraum dieser Brücken zuzugreifen. Weitere Informationen zu Geräteschnittstellen finden Sie unter Einführung in Geräteschnittstellen.

Eine Möglichkeit für einen Treiber, auf Hardware zuzugreifen, die zu anderen Treiberstapeln gehört, ist das Schreiben eines Filtertreibers. Um auf Bridgehardware zuzugreifen, können Sie für instance einen Filtertreiber entwerfen, der die erforderlichen Vorgänge im Konfigurationsraum der Brücke implementiert. Sie müssen auch eine INF-Datei bereitstellen, die die möglichen Hardware-IDs der Bridgehardware angibt, damit der PnP-Manager den Filtertreiber auf den Treiberstapel der Brücke laden kann, wenn er die Geräte-ID der Brücke erkennt.

Alternativ können Sie einen Filter programmgesteuert mithilfe von SetupDiXxx-Funktionen im Co-Installer für Ihr Gerät installieren.

Der Filtertreiber kann dann über die BUS_INTERFACE_STANDARD-Schnittstelle auf die Brücke zugreifen.