Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Функция 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 |