Unterstützung von Mehrschicht-Registrierungsfiltertreibern

Windows Vista und höhere Betriebssystemversionen unterstützen einen mehrstufigen Stapel von Registrierungsfiltertreibern. Jeder Treiber im Stapel kann am Filtern von Registrierungsvorgängen teilnehmen, indem er eine RegistryCallback-Routine registriert. Jedem Registrierungsfiltertreiber wird eine Höhe zugewiesen, und Treiber können nur eine RegistryCallback-Routine für jede Höhe registrieren. Wenn Ihr Treiber CmRegisterCallbackEx aufruft, gibt der Treiber seine Höhe an. Weitere Informationen zu Höhen finden Sie unter Ladereihenfolgegruppen und Höhen für Minifiltertreiber.

Wenn ein Thread einen Registrierungsaufruf durchführt, ruft der Konfigurations-Manager jede RegistryCallback-Routine in der Reihenfolge auf, von der höchsten Höhe bis zur niedrigsten, bis alle Treiber aufgerufen wurden oder eine RegistryCallback-Routine einen status Wert zurückgibt, für den NT_SUCCESS(status) gleich FALSE ist. Wenn ein Treiber auf höherer Ebene einen Registrierungsvorgang blockiert oder ändert, werden die Treiber der niedrigeren Ebene daher nicht aufgerufen. (Wenn ein Treiber einen Vorgang durch Aufrufen einer anderen Registrierungsfunktion ändert, wird der Konfigurations-Manager nicht am Anfang des Filterstapels neu gestartet.)

Registrierungsfiltertreiber, die vor Windows Vista geschrieben wurden und daher keine Höhenzuweisung haben, werden am oberen Rand des Windows Vista-Filterstapels in der Reihenfolge eingefügt, in der sie CmRegisterCallback aufrufen.