Audiotopologieknoten

Das WDM-Audiotreiberframework definiert einen Standardsatz von Topologieknoten für Audiogeräte. Ein Miniporttreiber beschreibt die Audiotopologie des Geräts, indem er eine Reihe von Knoten und die Verbindungen zwischen den Knoten angibt. Der SysAudio-Systemtreiber verwendet diese Informationen, um die Audiofiltergraphen zu erstellen, die er Clientanwendungen präsentiert.

Jeder Datenpfad in der Topologie beginnt oder endet mit einem Pin und durchläuft eine Reihe von Knoten, die als Perlen betrachtet werden können, die entlang des Datenpfads gesteiht werden. Jeder Knoten im Datenpfad wird durch eine Knoten-ID (im Wesentlichen einen Index) identifiziert, die diesen Knoten innerhalb des Datenpfads eindeutig identifiziert. Zwei Pininstanzen können Knoten mit derselben ID haben, aber die Kombination aus Pin instance und Knoten-ID identifiziert jeden Knoten innerhalb der Audiotopologie eindeutig.

Ein Topologieknoten unterstützt eine Reihe von Knoteneigenschaften. Knoteneigenschaften unterscheiden sich von Pineigenschaften durch die Aufnahme einer Knoten-ID, die den internen Knoten identifiziert, zu dem die Eigenschaft gehört. Um eine Get- oder Set-Property-Anforderung an einen bestimmten Knoten zu senden, gibt der Client die Zielknoten-ID zusätzlich zum Ziel-Pin instance an. Wenn der Eigenschaftenhandler des Pins die Anforderung empfängt, wird die Knoten-ID überprüft und die Anforderung an den Handler für diesen Knoten weiterverweisen.

Die folgende Liste enthält die am häufigsten verwendeten Audiotopologieknotentypen:

KSNODETYPE_3D_EFFECTS

KSNODETYPE_ACOUSTIC_ECHO_CANCEL

KSNODETYPE_ADC

KSNODETYPE_AGC

KSNODETYPE_AUDIO_ENGINE

KSNODETYPE_AUDIO_KEYWORDDETECTOR

KSNODETYPE_CHORUS

KSNODETYPE_DAC

KSNODETYPE_DELAY

KSNODETYPE_DEMUX

KSNODETYPE_DEV_SPECIFIC

KSNODETYPE_DMSYNTH

KSNODETYPE_DMSYNTH_CAPS

KSNODETYPE_DRM_DESCRAMBLE

KSNODETYPE_EQUALIZER

KSNODETYPE_FM_RX

KSNODETYPE_LOUDNESS

KSNODETYPE_MICROPHONE_ARRAY_PROCESSOR

KSNODETYPE_MUTE

KSNODETYPE_MUX

KSNODETYPE_NOISE_SUPPRESS

KSNODETYPE_PEAKMETER

KSNODETYPE_PROLOGIC_DECODER

KSNODETYPE_PROLOGIC_ENCODER

KSNODETYPE_REVERB

KSNODETYPE_SRC

KSNODETYPE_STEREO_ENHANCE

KSNODETYPE_STEREO_WIDE

KSNODETYPE_SUM

KSNODETYPE_SUPERMIX

KSNODETYPE_SWMIDI

KSNODETYPE_SWSYNTH

KSNODETYPE_SYNTHESIZER

KSNODETYPE_TELEPHONY_BIDI

KSNODETYPE_TONE

KSNODETYPE_VOLUME