Ändern einer Ressourcenbedarfsliste

Nachdem der PnP-Manager sichergestellt hat, dass alle Treiber eines neu verbundenen Geräts geladen wurden, sendet er die Liste der Hardwareanforderungen des Geräts an den Treiberstapel des Geräts.

Während die Liste den Stapel hinunter wandert, ruft das Framework jede Funktion und jede Filtertreiber-Rückruffunktion EvtDeviceFilterRemoveResourceRequirerements auf und übergibt die Hardwareanforderungenliste als Eingabeargument. Mit dieser Rückruffunktion können Hardwareressourcen aus der Liste der Hardwareanforderungen entfernt werden, die vom Bustreiber angegeben wurden, der Funktionstreiber jedoch feststellt, dass sie für den Betrieb des Geräts nicht erforderlich sind.

Beispielsweise kann ein PCI-Bustreiber gemäß der PCI-Spezifikation eine E/A-Speicherplatzressource im Arbeitsspeicher replizieren. Wenn Ihr Gerät ohne Verwendung der E/A-Speicherplatzressource arbeiten kann, kann der Funktionstreiber des Geräts die E/A-Speicherplatzressource aus der Liste der Hardwareanforderungen entfernen.

Um Elemente aus der Anforderungsliste zu entfernen, kann ein Treiber die folgenden Schritte ausführen:

Während die Liste den Treiberstapel sichert, ruft das Framework jede Funktion auf und filtert die Rückruffunktion EvtDeviceFilterAddRequirements des Treibers und übergibt die Hardwareanforderungenliste als Eingabeargument. Diese Rückruffunktion kann zusätzliche Hardwareressourcen hinzufügen, die der Funktionstreiber benötigt, um das Gerät betriebsbereit zu machen.

Um der Liste der Hardwareanforderungen Elemente hinzuzufügen, kann ein Treiber die folgenden Aktionen ausführen: