Функция AcxCircuitCreate (acxcircuit.h)
Функция AcxCircuitCreate используется для создания ACXCIRCUIT.
Синтаксис
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
Параметры
Device
Объект WDFDEVICE ( описанный в разделе Сводка объектов платформы), который будет связан с каналом.
Attributes
Дополнительные атрибуты, определенные с помощью WDF_OBJECT_ATTRIBUTES , которые используются для задания значений различных объектов: очистки и уничтожения обратных вызовов, типа контекста, а также для указания родительского объекта WDF.
Config
Структура ACXCIRCUIT_INIT, которая определяет инициализацию фабрики каналов. ACXCIRCUIT_INIT — это непрозрачный объект, используемый для инициализации фабрики каналов. Используйте AcxCircuitInitAllocate для инициализации структуры ACXCIRCUIT_INIT.
Circuit
Указатель на расположение, которое получает дескриптор нового объекта ACXCIRCUIT. Дополнительные сведения см. в разделе Сводка по объектам ACX.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Комментарии
ACXCIRCUIT представляет собой полный или частичный (многоканальные) звуковые пути к звуковому устройству, воспринимаемого пользователем (динамики, микрофон и т. д.).
ACXCIRCUIT имеет по крайней мере один входной контакт (ACXPIN) и один выходной контакт (ACXPIN), и он может агрегировать один или несколько объектов ACXELEMENTS. По умолчанию ACXELEMENTs подключены в том же порядке сборки.
Пример
Ниже приведен пример использования.
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
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxcircuit.h |
IRQL | PASSIVE_LEVEL |