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


функция обратного вызова PCONFIGURE_ADAPTER_CHANNEL (wdm.h)

Подпрограмма ConfigureAdapterChannel вызывает пользовательскую функцию, реализованную контроллером DMA, представленным объектом адаптера.

Синтаксис

PCONFIGURE_ADAPTER_CHANNEL PconfigureAdapterChannel;

NTSTATUS PconfigureAdapterChannel(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG FunctionNumber,
  [in] PVOID Context
)
{...}

Параметры

[in] DmaAdapter

Указатель на структуру DMA_ADAPTER . Эта структура представляет собой объект адаптера, представляющий системный канал DMA драйвера. Вызывающий объект получил этот указатель из предыдущего вызова процедуры IoGetDmaAdapter .

[in] FunctionNumber

Номер настраиваемой функции для выбора. Дополнительные сведения см. в разделе «Примечания».

[in] Context

Указатель на параметры конфигурации для настраиваемой функции, указанной параметром FunctionNumber. Функция реализуется контроллером DMA и может быть доступна драйверу устройства через объект адаптера. Контроллер DMA и драйвер устройства должны согласовать значение этих параметров конфигурации. Данные, на которые указывает Контекст , непрозрачны для операционной системы.

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

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

Возвращаемое значение Описание
STATUS_NOT_IMPLEMENTED
Расширение DMA не реализует функцию, заданную FunctionNumber.

Комментарии

ConfigureAdapterChannel не является системной подпрограммой, которую можно вызывать напрямую по имени. Эта подпрограмма может вызываться только указателем из адреса, возвращаемого в структуре DMA_OPERATIONS . Драйверы получают адрес этой подпрограммы, вызывая IoGetDmaAdapter с элементом Version параметра DeviceDescription , для DEVICE_DESCRIPTION_VERSION3. Если IoGetDmaAdapter возвращает значение NULL, подпрограмма недоступна на вашей платформе.

Используйте ConfigureAdapterChannel только для системных адаптеров DMA. Не используйте эту подпрограмму для адаптера master автобуса.

Определенный системный контроллер DMA может иметь специальные аппаратные функции, к которым драйверы устройств могут получить доступ через набор из одной или нескольких пользовательских функций. Контроллер может реализовать несколько пользовательских функций, в этом случае каждая функция идентифицируется по другому номеру функции. Эти функции абстрагируют аппаратные функции DMA, чтобы одни и те же функции можно было поддерживать на разных аппаратных платформах.

Как правило, пользовательская функция задает сведения о состоянии в контроллере DMA, чтобы настроить аппаратные функции для использования в последующих передачах DMA.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
IRQL <= DISPATCH_LEVEL

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

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter