Unterstützung von PnP und Energieverwaltung in reinen Softwaretreibern
Reine Softwaretreiber sind Treiber, die nicht auf Hardware zugreifen. Einige reine Softwaretreiber befinden sich in einem Treiberstapel, der nicht auf Hardware zugreift. Da diese Treiber nicht auf Hardware zugreifen, müssen sie in der Regel keine PnP- oder Energieverwaltungsvorgänge ausführen.
Andere reine Softwaretreiber sind Filtertreiber: Sie befinden sich in einem Stapel von Treibern, die auf Hardware zugreifen, aber die Filtertreiber greifen nicht auf Die Hardware zu. Wenn ein Filtertreiber eine E/A-Anforderung empfängt, die einen PnP- oder Energieverwaltungsvorgang angibt, übergibt der Treiber die Anforderung in der Regel einfach an den nächsten Treiber. Das Framework fängt diese Anforderungen ab und übergibt sie, sodass frameworkbasierte Treiber die Anforderungen nie sehen.
Wenn Sie einen rein softwarebasierten Treiber schreiben, erstellt Ihr Treiber Geräteobjekte , aber Sie müssen in der Regel keine Ereignisrückruffunktionen bereitstellen, um PnP- oder Energieverwaltungsereignisse zu behandeln. Wenn der Treiber Framework-Warteschlangenobjekte verwendet, müssen Sie den PowerManaged-Member der WDF_IO_QUEUE_CONFIG-Struktur der Warteschlange auf WdfFalse oder WdfUseDefault festlegen.
Einige nur softwarebasierte Treiber sind ebenfalls Funktionstreiber. Anders ausgedrückt: Ein einzelner Treiber kann als rein softwarebasierter Treiber fungieren, um ein virtuelles Gerät zu unterstützen, das nicht auf Hardware zugreift, und als Funktionstreiber zur Unterstützung eines Hardwaregeräts.