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


структура WDF_DMA_SYSTEM_PROFILE_CONFIG (wdfdmaenabler.h)

[Применимо только к KMDF]

Структура WDF_DMA_SYSTEM_PROFILE_CONFIG описывает параметры, связанные с аппаратным модулем DMA.

Синтаксис

typedef struct _WDF_DMA_SYSTEM_PROFILE_CONFIG {
  ULONG                           Size;
  BOOLEAN                         DemandMode;
  BOOLEAN                         LoopedTransfer;
  DMA_WIDTH                       DmaWidth;
  PHYSICAL_ADDRESS                DeviceAddress;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR DmaDescriptor;
} WDF_DMA_SYSTEM_PROFILE_CONFIG, *PWDF_DMA_SYSTEM_PROFILE_CONFIG;

Члены

Size

Размер этой структуры в байтах.

DemandMode

Указывает, что передача управляется DMA устройства
строка запроса, указанная в DmaDescriptor член этой структуры. Дополнительные сведения см. в примечаниях.

LoopedTransfer

Указывает, что адаптер DMA должен циклироваться вокруг указанной передачи, если длина превышает размер буфера.

DmaWidth

Ширина регистра, указанного DeviceAddress. Возможные значения: Width8Bits, Width16Bits, Width32Bits и Width64Bits.

DeviceAddress

Преобразованный адрес или из которого передает контроллер DMA. Драйвер может указать смещение из этого базового адреса для каждой транзакции, вызвав WdfDmaTransactionSetDeviceAddressOffset.

DmaDescriptor

Переведенный дескриптор ресурсов для канала DMA, назначенный устройству во время EvtDevicePrepareHardware. Это обеспечивает строку запроса DMA для адаптера.

Замечания

Драйвер предоставляет эту структуру для WdfDmaEnablerConfigureSystemProfile после создания включения DMA для системного профиля.

Как правило, драйверы задают DemandMode значение TRUE. Функция обратного вызова драйвера EvtProgramDma затем программирует устройство, чтобы подтвердить строку запроса DMA и инициировать передачу. В этом случае передача может начаться, пока EvtProgramDma по-прежнему выполняется.

Драйвер должен убедиться, что строка запроса DMA устройства не утверждается до начала выполнения функции обратного вызова драйвера EvtProgramDma. В противном случае передача DMA может начинаться до вызова платформы EvtProgramDma.

Если DemandMode имеет значение FALSE, передача DMA может начинаться до вызова платформы функции EvtProgramDma драйвера.

Требования

Требование Ценность
Минимально поддерживаемый клиент Windows 8
минимальная версия KMDF 1.11
Заголовок wdfdmaenabler.h (include Wdf.h)

См. также

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile