Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Manchmal müssen Sie Informationen aus dem Konfigurationsraum eines Geräts abrufen, dessen Treiber sich auf einem anderen Stack befindet als der, auf dem sich Ihr Treiber befindet. Angenommen, Sie möchten im Konfigurationsraum einer PCI-zu-PCI-Brücke etwas festlegen, und Sie haben keinen Zeiger auf den PDO der Brücke. Obwohl das Betriebssystem PCI-zu-PCI-Brücken aufzählt und für jede Brücke auf dem System eine PDO 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 in der 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 beispielsweise auf Brückenhardware zuzugreifen, könnten Sie 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 Brückenhardware angibt. Die INF-Datei ermöglicht dem PnP-Manager das Laden des Filtertreibers auf den Treiberstapel der Brücke, wenn die Geräte-ID der Brücke erkannt wird.
Alternativ können Sie einen Filter programmgesteuert mithilfe von SetupDiXxx-Funktionen im Co-Installer für Ihr Gerät installieren.
Der Filtertreiber kann dann mithilfe der BUS_INTERFACE_STANDARD-Schnittstelle auf die Brücke zugreifen.
Eine Beispielimplementierung, die die Verwendung von BUS_INTERFACE_STANDARD für den Zugriff auf den PCI-Konfigurationsraum veranschaulicht, finden Sie im Beispiel für PCIDRV-Treiber.