AcxCircuitCreate-Funktion (acxcircuit.h)
Die AcxCircuitCreate-Funktion wird verwendet, um eine ACXCIRCUIT-Funktion zu erstellen.
Syntax
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
Parameter
Device
Ein WDFDEVICE-Objekt (beschrieben in Zusammenfassung der Frameworkobjekte), das der Verbindung zugeordnet wird.
Attributes
Zusätzliche Attribute, die mithilfe eines WDF_OBJECT_ATTRIBUTES definiert werden, die verwendet werden, um die Werte des verschiedenen Objekts festzulegen: Cleanup und Destroy-Rückrufe, Kontexttyp und angeben des übergeordneten WDF-Objekts.
Config
Die ACXCIRCUIT_INIT Struktur, die die Initialisierung der Circuit Factory definiert. ACXCIRCUIT_INIT ist ein undurchsichtiges Objekt, das für die Initialisierung der Verbindungsfactory verwendet wird. Verwenden Sie AcxCircuitInitAllocate , um die ACXCIRCUIT_INIT-Struktur zu initialisieren.
Circuit
Ein Zeiger auf eine Position, die ein Handle auf das neue ACXCIRCUIT-Objekt empfängt. Weitere Informationen finden Sie unter Zusammenfassung von ACX-Objekten.
Rückgabewert
Gibt zurück STATUS_SUCCESS
, wenn der Aufruf erfolgreich war. Andernfalls wird ein geeigneter Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.
Hinweise
Ein ACXCIRCUIT stellt einen vollständigen oder teilweisen Audiopfad (multi-circuit) zu einem vom Benutzer wahrgenommenen Audiogerät (Lautsprecher, Mikrofon usw.) dar.
Ein ACXCIRCUIT verfügt über mindestens einen Eingabepin (ACXPIN) und einen Ausgabepin (ACXPIN) und kann ein oder mehrere ACXELEMENTS-Objekte aggregieren. Standardmäßig sind ACXELEMENTs in derselben Assemblyreihenfolge "verbunden".
Beispiel
Das Beispiel für die Verwendung ist unten dargestellt.
status = AcxCircuitInitAssignName(circuitInit, &circuitName);
//
// Add circuit type.
//
AcxCircuitInitSetCircuitType(circuitInit, AcxCircuitTypeRender);
//
// Assign the circuit's pnp-power callbacks.
//
ACX_CIRCUIT_PNPPOWER_CALLBACKS_INIT(&powerCallbacks);
powerCallbacks.EvtAcxCircuitPowerUp = SdcaR_EvtCircuitPowerUp;
powerCallbacks.EvtAcxCircuitPowerDown = SdcaR_EvtCircuitPowerDown;
AcxCircuitInitSetAcxCircuitPnpPowerCallbacks(circuitInit, &powerCallbacks);
//
// Set circuit-callbacks.
//
status = AcxCircuitInitAssignAcxCreateStreamCallback(
circuitInit,
SdcaR_EvtCircuitCreateStream);
//
// Create the circuit.
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, SDCA_RENDER_CIRCUIT_CONTEXT);
status = AcxCircuitCreate(Device, &attributes, &circuitInit, &circuit);
ACX-Anforderungen
ACX-Mindestversion: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |