Поделиться через


Функция AcxDeviceAddFactoryCircuit (acxdevice.h)

Функция AcxDeviceAddFactoryCircuit добавляет фабричный канал в WDFDEVICE для создания звуковых каналов.

Синтаксис

NTSTATUS AcxDeviceAddFactoryCircuit(
  WDFDEVICE         Device,
  ACXFACTORYCIRCUIT Factory
);

Параметры

Device

Объект WDFDEVICE, в который будет добавлен фабричный канал ACX.

Factory

Заводской канал ACX для добавления в WDFDEVICE, указанный параметром Device .

Возвращаемое значение

AcxDeviceAddFactoryCircuit возвращает STATUS_SUCCESS, если вызов был успешным. В противном случае возвращается код ошибки NTSTATUS .

Комментарии

Драйвер ACX может создать один или несколько каналов в следующих сценариях:

  • Во время инициализации
  • Во время выполнения , как побочный эффект внешнего события, например обнаружение нового звукового компонента
  • Потому что он зарегистрировал себя в ACX как фабрика цепи. Платформа ACX использует зарегистрированную фабрику, чтобы запросить у драйвера создание нового канала.

Используйте AcxDeviceRemoveFactoryCircuit , чтобы удалить фабричный канал из WDFDEVICE.

Эту функцию можно вызывать только из функции обратного вызова EVT_WDF_DEVICE_PREPARE_HARDWARE для этого устройства.

Пример

WDFDEVICE                Device;
NTSTATUS                 status;
PCAPTURE_DEVICE_CONTEXT  devCtx;

// Code to initialize WDFDEVICE...

//
// Add control circuit to child's list.
//
status = AcxDeviceAddFactoryCircuit(Device, devCtx->CtrlCircuit);

if (!NT_SUCCESS(status))
{
    ASSERT(FALSE);
    goto exit;
}

Требования ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxdevice.h
IRQL PASSIVE_LEVEL

См. также раздел