Typen von WDM-Geräteobjekten
Es gibt drei Arten von WDM-Geräteobjekten:
Physical Device Object (PDO): Stellt ein Gerät in einem Bus zu einem Bustreiber dar.
Functional Device Object (FDO): Stellt ein Gerät für einen Funktionstreiber dar.
Filter Device Object (filter DO) – stellt ein Gerät für einen Filtertreiber dar.
Die drei Arten von Geräteobjekten sind alle vom Typ DEVICE_OBJECT, werden jedoch unterschiedlich verwendet und können unterschiedliche Geräteerweiterungen aufweisen.
Ein Treiber fügt sich selbst zum Stapel von Treibern hinzu, die E/A für ein Gerät verarbeiten, indem ein Geräteobjekt (IoCreateDevice) erstellt und an den Gerätestapel angefügt wird (IoAttachDeviceToDeviceStack). IoAttachDeviceToDeviceStack bestimmt den aktuellen Oberen des Gerätestapels und fügt das neue Geräteobjekt am Anfang des Gerätestapels an.