Unterschiede zwischen Dateisystemfiltertreibern und Gerätetreibern

Dateisystemfiltertreiber und Gerätetreiber im Microsoft Windows-Betriebssystem unterscheiden sich auf folgende Weise:

  • Keine Energieverwaltung

    Da Dateisystemfiltertreiber keine Gerätetreiber sind und daher Hardwaregeräte nicht direkt steuern, erhalten sie keine IRP_MJ_POWER Anforderungen. Stattdessen werden Power IRPs direkt an den Speichergerätestapel gesendet. In seltenen Fällen können Dateisystemfiltertreiber jedoch die Energieverwaltung beeinträchtigen. Aus diesem Grund sollten Dateisystemfiltertreiber keine Dispatchroutinen für IRP_MJ_POWER in der DriverEntry-Routine registrieren und keine PoXxx-Routinen aufrufen.

  • Kein WDM

    Dateisystemfiltertreiber können nicht WDM-Treiber (Windows Driver Model) sein. Das Microsoft Windows-Treibermodell ist nur für Gerätetreiber vorgesehen.

  • Kein AddDevice oder StartIo

    Da Dateisystemfiltertreiber keine Gerätetreiber sind und daher Hardwaregeräte nicht direkt steuern, sollten sie keine AddDevice - oder StartIo-Routinen aufweisen.

  • Verschiedene Geräteobjekte erstellt

    Obwohl Dateisystemfiltertreiber und Gerätetreiber Geräteobjekte erstellen, unterscheiden sie sich in der Anzahl und den Arten von Geräteobjekten, die sie erstellen.

    Gerätetreiber erstellen physische und funktionale Geräteobjekte, um Geräte darzustellen. Der Plug & Play -Manager (PnP) erstellt und verwaltet eine globale Gerätestruktur, die alle Geräteobjekte enthält, die von Gerätetreibern erstellt werden. Die Geräteobjekte, die Dateisystemfiltertreiber erstellen, sind nicht in dieser Gerätestruktur enthalten.

    Dateisystemfiltertreiber erstellen keine physischen oder funktionalen Geräteobjekte. Stattdessen erstellen sie Steuerungsgeräteobjekte und filtern Geräteobjekte. Das Steuerelementgerätobjekt stellt den Filtertreiber für das System und für Benutzermodusanwendungen dar. Das Filtergerätobjekt führt die eigentliche Arbeit zum Filtern eines bestimmten Dateisystems oder Volumes aus. Ein Dateisystemfiltertreiber erstellt normalerweise ein Steuerelementgerätobjekt und ein oder mehrere Filtergeräteobjekte.

  • Weitere Unterschiede

    • Da Dateisystemfiltertreiber keine Gerätetreiber sind, führen sie keinen direkten Speicherzugriff (DMA) aus.

    • Im Gegensatz zu Gerätefiltertreibern, die oberhalb oder unterhalb des Funktionstreibers eines Zielgeräts anfügen können, können Dateisystemfiltertreiber nur oberhalb eines Zieldateisystemtreibers anfügen. Daher kann ein Dateisystemfiltertreiber im Sinne von Gerätetreibern nur ein oberer Filter sein, niemals ein niedrigerer Filter.