Recupero di informazioni di configurazione da altri stack di driver
A volte è necessario ottenere informazioni dallo spazio di configurazione di un dispositivo il cui driver si trova in uno stack diverso da quello in cui si trova il driver. Si supponga, ad esempio, di voler impostare un bit nello spazio di configurazione di un bridge PCI-to-PCI e non si dispone di un puntatore al PDO del bridge. Anche se il sistema operativo enumera bridge PCI-to-PCI e crea un PDO per ogni bridge nel sistema, non registra le interfacce del dispositivo per questi dispositivi. Pertanto, non è possibile usare il meccanismo di interfaccia del dispositivo per accedere allo spazio di configurazione di questi bridge. Per altre informazioni sulle interfacce del dispositivo, vedere Introduzione alle interfacce del dispositivo.
Un modo per consentire a un driver di accedere all'hardware appartenente ad altri stack di driver consiste nel scrivere un driver di filtro. Per accedere all'hardware bridge, ad esempio, è possibile progettare un driver di filtro che implementa le operazioni necessarie nello spazio di configurazione del bridge. È anche necessario specificare un file INF che specifica gli ID hardware del bridge possibili, in modo che il gestore PnP possa caricare il driver di filtro nello stack di driver del bridge quando rileva l'ID dispositivo del bridge.
In alternativa, è possibile installare un filtro a livello di codice usando le funzioni SetupDiXxx nel co-programma di installazione per il dispositivo.
Il driver di filtro può quindi accedere al bridge usando l'interfaccia BUS_INTERFACE_STANDARD .