структура 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 (включая Wdf.h)

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

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile