Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma obsahuje souhrnný přehled objektů ACX (Audio Class Extensions), které tvoří základ zvukového ovladače ACX. Obecný přehled rozšíření audio třídy ACX naleznete v tématu přehled.
Objekty ACX jsou objekty WDF (Windows Driver Framework) – WDFOBJECT. Další informace o službě WDF naleznete v tématu Úvod do objektů architektury. Souhrn objektů WDF naleznete v části Souhrn objektů rozhraní Framework.
Hierarchie objektů ACX
V ACX (stejně jako ve WDF) je objekt ovladače kořenovým objektem a všechny ostatní objekty jsou jeho podřízené/potomky. Všechny objekty ACX jsou hierarchicky podřízené objektu ovladače, a to buď přímo, nebo nepřímo prostřednictvím jiných objektů ACX nebo WDF. Ovladač ACX může během vytváření určit nadřazený prvek objektu ACX. Pokud není zadaný nadřazený objekt, ACX použije výchozí nadřazenou položku, jak je popsáno v těchto sekcích.
Vytváření objektů WDF bez ACX
Kromě objektů ACX může zvukový ovladač podle potřeby vytvářet a používat i jiné objekty WDF. Pokud ovladač plánuje vytvořit výčet jiných zařízení než ACX, měl by to udělat pomocí jiného podřízeného seznamu než výchozí podřízený seznam WDF vytvořený při vytvoření zařízení ACX/WDF. Ovladač může vytvořit nový podřízený seznam WDF pomocí WdfChildListCreate , jak je popsáno v části Vytváření objektů zařízení v ovladači funkce. Obecné informace o objektech WDF naleznete v tématu Úvod k objektům rozhraní, rozhraní WDF architektura a vývoj ovladačů pomocí Windows Driver Foundation. Informace o inicializaci zařízení ACX naleznete v tématu AcxDeviceInitialize.
Okruh ACX
AcxCircuit představuje částečnou nebo úplnou zvukovou cestu k uživatelem vnímanému zvukovému zařízení (reproduktory, mikrofon, atd.). AcxCircuit má alespoň jeden vstupní pin a jeden výstupní pin (ACXPIN) a může agregovat jeden nebo více objektů typu AcxElements. Ve výchozím nastavení jsou acxElements "připojeny" ve stejném pořadí sestavení.
Zvukový okruh je základním stavebním blokem ACX. V nové rozhraní ACX vytvoří ovladač zvuku jeden nebo více objektů okruhu ACX, které představují částečnou nebo úplnou zvukovou data / řídicí cestu. ACX sestaví tyto objekty okruhu ACX dohromady a vytvoří úplnou zvukovou cestu, která představuje koncový bod zvuku. ACX zodpovídá za správu okruhů ACX a jejich závislostí. Pořadí sestavení těchto obvodů lze staticky definovat v inicializační době nebo dynamicky definovat za běhu.
Zvukový koncový bod v architekturách ACX je kolekce jednoho nebo více okruhů ACX. Každý okruh ACX ve víceokruhové zvukové cestě musí patřit do jiné vrstvy zařízení PnP. Ovladač ACX může při inicializaci vytvořit jeden nebo více okruhů nebo může vytvořit okruhy za běhu, jako vedlejší účinek externí události, například po zjištění nové zvukové komponenty, nebo protože se zaregistroval v ACX jako továrna pro určitý typ okruhu, a architektura ACX požádala komponentu továrny, aby vytvořila nový okruh tohoto typu (viz správce okruhů ACX nebo továrna popsaná dále v tomto tématu).
AcxCircuit může mít jeden nebo více datových proudů.
AcxCircuit má vyhrazenou frontu WDF. Další informace o frontách WDF naleznete v tématu Framework Queue Objects.
DDI pro obvody ACX jsou popsány v hlavičce acxcircuit.h .
Kolík ACX
Stejně jako u zvukových ovladačů WDM Portcls, objekt AcxPin představuje logická, nikoli fyzická, spojení, kterými datové proudy vstupují do adaptéru ze sběrnice systémové komunikace nebo do systémové komunikační sběrnice z adaptéru.
DDI pro pin jsou popsány v hlavičce acxpin.h .
ACX Stream
AcxStream představuje zvukový stream na hardwaru konkrétního okruhu. AcxStream může agregovat jeden nebo více objektů podobných AcxElements. Ve výchozím nastavení jsou acxElements "připojeny" ve stejném pořadí sestavení. AcxStream je přidružen pouze k jednomu okruhu ACX.
- AcxStream má vyhrazenou frontu WDF. Pro podrobnější informace o frontách WDF se podívejte na Framework Queue Objects
- AcxStream podporuje různé stavy. Tyto stavy indikují, kdy zvuk teče (stav SPUSTIT) nebo kdy ne (stav POZASTAVENÍ nebo ZASTAVENÍ).
- V současné době ACX podporuje dva typy datových proudů: základní objekty streamu ACX používané nestreamovými okruhy a objekty streamu ACX RT používané streamovacími okruhy.
DDI pro stream jsou definovány v záhlaví acxstreams.h .
Cíle ACX
WdfIoTarget je abstrakce WDF, která usnadňuje komunikaci mezi dvěma různými zásobníky. Další informace o cílech vstupně-výstupních operací WDF naleznete v tématu Úvod do vstupně-výstupních cílů.
- Ovladače používají AcxTargetCircuit ke komunikaci se vzdáleným okruhem vystaveným jiným zásobníkem. AcxTargetCircuit se implementuje pomocí WdfIoTarget.
- Ovladače používají AcxTargetPin ke komunikaci s pinem vzdáleného okruhu vystaveným jiným stackem. AcxTargetPin je implementován pomocí WdfIoTarget pro odesílání zpráv ke vzdálené pinové entitě.
- Ovladače používají AcxTargetElement ke komunikaci s prvkem vzdáleného okruhu zpřístupněným jinou vrstvou. AcxTargetElement je implementován pomocí WdfIoTarget k odesílání zpráv vzdálené elementární entitě.
- Ovladače používají AcxTargetStream ke komunikaci s datovým proudem od vzdáleného okruhu, který vystavuje jiná vrstva. AcxTargetStream se implementuje pomocí WdfIoTarget k vytvoření vzdáleného datového proudu a změně stavu vzdáleného datového proudu.
- Ovladače používají AcxTargetFactoryCircuit ke komunikaci s instancí vzdálené továrny na obvody. AcxTargetFactoryCircuit je implementován pomocí WdfTarget k odesílání zpráv do vzdálené okruhové továrny.
Každý z výše uvedených typů ACX podporuje vlastnosti, metody a události pro interakci se vzdáleným okruhem. Všechny tyto typy jsou postaveny na WdfIoTarget objektu.
DDI pro cíle jsou definovány v hlavičce acxtargets.h .
ACX Stream Bridge
Objekt AcxStreamBridge používá okruh k propagaci vytvoření datového proudu, přechodů stavů tohoto proudu a nastavení DRM mezi segmenty okruhu. Tento objekt se používá pouze ve scénáři s více okruhy (složeného zvuku). Ovladač může přiřadit jeden nebo více objektů ACXSTREAMBRIDGE ke kolíku mostu. Spojovací kolík je ACXPIN, který se logicky připojuje k odpovídajícímu ACXPIN na druhém obvodu.
DDI pro Stream jsou popsány v záhlaví acxstreams.h .
Příklad rozložení okruhu uzlu zvukového stroje ACX
Následující diagram znázorňuje okruh ACX. Piny hostu a odlehčení jsou vstupy do obvodu s pinem pro zpětnou smyčku, který může být použit pro odstranění ozvěny. Výstupem může být propojovací kolík, který vede na reproduktor.
Všimněte si, že ovladač nemusí provádět krok explicitního připojení, pokud jsou okruh nebo jeho prvky připojeny ve stejném pořadí, v jakém byly do okruhu přidány.
Ve výchozím nastavení ACX připojí prvky od pinu pro žádost ACX obvodu a končící u pinu mostu zařízení obvodu pro vykreslovací i zachytávací zařízení.
ACX Manager
Správce ACX se používá pro systémové úlohy, jako je podpora složených zvukových koncových bodů. Tyto typy koncových bodů spravuje jeden nebo více zásobníků ovladačů od stejných nebo různých dodavatelů. Klienti mohou tuto konfiguraci předem nakonfigurovat v ACPI nebo přímo použít rozhraní DDI správce ACX. DDI pro správce ACX jsou popsány v záhlaví acxmanager.h .
ACX objektový kontejner
Taška objektu ACX slouží k ukládání různých datových typů. ACXOBJECTBAG lze předat jako argument v různých DDI. Identifikátory DDI pro Object Bag jsou popsány v záhlaví acxmisc.h.
Souhrn objektů ACX
V následující tabulce jsou uvedeny všechny objekty ACX a poskytují některé základní informace o jednotlivých objektech.
| Rukojeť | Název | Účel |
|---|---|---|
| ACXMANAGER | Správce ACX | Objekt ACX Manager, který slouží ke správě a řízení jiných objektů. |
| ACXOBJECTBAG | Objektový balíček | Používá se k ukládání dat pro použití s objekty. |
| ACXEVENT | Událost ACX | Pro události KS (kernel-streaming) |
| ACXEVENTDATA | Data událostí | Data přidružená k události. |
| ACXPNPEVENT | Událost PnP | Pro události plug-and play. |
| ACXCIRCUIT | Circuit | Okruh ACX popsaný výše v tomto tématu. |
| ACXPIN | Špendlík | Objekt kolíku ACX představuje logická připojení a je popsán výše v této části. |
| ACXELEMENT | prvek | Používá se k reprezentaci libovolného prvku, který lze přidat do AcxCircuit nebo AcxStream, například AcxVolume. |
| ACXAUDIOENGINE | Audio Engine | Zvukový modul ACX, který se používá ve vykreslovacím okruhu k reprezentaci DSP. |
| ACXSTREAMAUDIOENGINE | Stream Audio Engine | Používá se při vykreslování streamu k reprezentaci DSP. |
| ACXKEYWORDSPOTTER | Detektor klíčových slov | Detektor klíčového slova, který se používá v zachytávacím obvodu pro detekci klíčových slov ve zvukovém proudu. |
| ACXVOLUME | Objem | Používá se k reprezentaci hlasitosti, zisku, zesilovacího účinku. |
| ACXMUTE | Ztišit | Používá se k reprezentaci ztlumeného prvku. |
| ACXJACK | Jack | Používá se k reprezentaci zvukového konektoru nebo jiného fyzického konektoru. |
| ACXMICARRAYGEOMETRY | Geometrie pole mikrofonu | Používá se k reprezentaci geometrie pole mikrofonu, například umístění mikrofonů. |
| ACXPEAKMETER | Měřič špičky | Používá se, když hardware podporuje funkce měření ve špičce. |
| ACXSTREAM | Stream | Používá se k reprezentaci zvukového streamu vytvořeného okruhem, který je popsaný výše v tomto tématu. |
| ACXDATAFORMAT | Formát dat | Formát dat představuje datový formát podporovaný zvukovým zařízením. |
| ACXDATAFORMATLIST | Seznam formátů dat | Seznam formátů zvukových dat, které lze použít. |
| ACXTARGETCIRCUIT | Cílový obvod | Používá se ke komunikaci se vzdáleným obvodem vystaveným jinou sadou. |
| ACXTARGETPIN | Cílový pin | Používá se ke komunikaci s pinem vzdáleného okruhu vystaveným jiným technologickým stackem. |
| ACXTARGETELEMENT | Cílový prvek | Používá se k reprezentaci cílového prvku, který lze přidat do AcxCircuit nebo AcxStream, například AcxVolume. |
| ACXTARGETSTREAM | Cílový proud | Používá se ke komunikaci s datovým proudem vzdáleného okruhu vystaveného jiným vrstveným zásobníkem. |
| ACXTARGETFACTORYCIRCUIT | Cílová továrna okruhu | Používá se ke komunikaci s výrobním závodem vzdáleného zařízení. |
| ACXSTREAMBRIDGE | Propojení streamů | Používá se v okruhu pro šíření vytváření toků dat, změn stavů a řízení přístupu, jako je DRM, mezi segmenty. |
| ACXCOMPOSITE | Kompozitní | Používá se k reprezentaci architektur proudů s více okruhy, více vrstvami nebo dodavatelskými strukturami. |
| ACXCOMPOSITEFACTORY | Složená továrna | Továrna, která vytváří složené zvukové obvody. |
| ACXFACTORYCIRCUIT | Okruh továrny | Továrna, která vytváří okruhy pomocí konkrétní šablony. |
| ACXCIRCUITMANAGER | Správce okruhů | Poskytovatel okruhu, který se používá pro dynamické vytváření okruhů. |
| ACXCOMPOSITETEMPLATE | Složená šablona | Složená šablona představuje částečnou nebo úplnou zvukovou vazbu. Složená šablona může mít jednu nebo více šablon okruhů. |
| ACXCIRCUITTEMPLATE | Šablona okruhu | Šablona obvodu představuje částečnou zvukovou cestu. |
| ACXAUDIOMODULE | Zvukový modul | Pro funkčnost přídavných modulů třetích stran. |
Následující objekty ACX slouží k ukládání informací o okruhu, datovém proudu a objektu pro vytváření okruhů.
| Rukojeť | Účel |
|---|---|
| ACXCIRCUIT_INIT | Ukládá data inicializace okruhu ACX. |
| ACXSTREAM_INIT | Ukládá data inicializace streamu ACX. |
| ACXFACTORYCIRCUIT_INIT | Ukládá data inicializace používaná továrnou okruhu ACX. |
Viz také
Přehled rozšíření zvukových tříd ACX
referenční dokumentace ACX