структура 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) |