2010-12-06 7 views
2

Ist es möglich, einen Treiber zu schreiben, um auf einem anderen Treiber zu sitzen, die Ausgabe des niedrigeren Treibers zu nehmen und es zu bearbeiten.Kann ein Windows-Audiotreiber auf dem Standard-Windows-Treiber sitzen und seine Ausgabe nachbearbeiten?

Ich wollte einen Treiber schreiben, um sicherzustellen, dass die Lautstärke immer konstant war. In meinem Kopf würde dieser Treiber oben auf dem Audiokartentreiber platziert werden und den Ausgang nachbearbeiten, bevor er an das Betriebssystem zurückgegeben wird, um es an die Lautsprecher zu senden.

Ich lese über MS Miniport und dies scheint einige grundlegende garantierte Expositionen zu bieten.

Die konstante Lautstärke-Implementierung ist nicht das, worüber ich mich in dieser Frage wirklich Sorgen mache. Ich frage mich, ob es sogar möglich ist, einen 'Filter'-Treiber zu schreiben, weil es kein besseres Wort gibt, damit ich eine Sound-Nachbearbeitung machen kann.

Edit: OK, ich bin schuldig, nicht zuerst googeln, stellt sich heraus, es ist eigentlich ein Filter-Treiber, der mich wie ein Idiot aussieht. Ich würde jedoch ein totaler Noob sein, also würde jede gute Richtung oder Text geschätzt werden.

Antwort

2

Für Windows Vista und darüber hinaus ist es ziemlich schwierig, einen solchen Audiotreiber zu schreiben. Das liegt daran, dass Windows Vista-Audiogeräte hauptsächlich einen I/O-Mechanismus verwenden, bei dem der Audiotreiber die DMA-Puffer direkt dem Audio-Subsystem oder der Audio-Anwendung zur Verfügung stellt. Die Audiomaschine schreibt also direkt in die DMA-Puffer des Audioadapters, und es besteht keine Möglichkeit für einen Filtertreiber, die an die Audiolösung gesendeten Samples zu überprüfen.

Für Vista und darüber hinaus können Sie dasselbe Ergebnis mit einem sAPO erzielen, das ein Verarbeitungselement ist, das ein Treiberpaket begleitet, das es dem sAPO ermöglicht, Audio-Samples zu prüfen und zu modifizieren.

Verwandte Themen