estructura WDF_DMA_SYSTEM_PROFILE_CONFIG (wdfdmaenabler.h)

[Solo se aplica a KMDF]

La estructura de WDF_DMA_SYSTEM_PROFILE_CONFIG describe la configuración específica del hardware relacionada con un habilitador DMA en modo del sistema.

Sintaxis

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;

Miembros

Size

Tamaño de esta estructura en bytes.

DemandMode

Especifica que la transferencia se controla mediante DMA del dispositivo.
línea de solicitud especificada en el miembro DmaDescriptor de esta estructura. Vea más información en Comentarios.

LoopedTransfer

Especifica que el adaptador DMA debe recorrer en bucle la transferencia especificada si la longitud es mayor que el tamaño del búfer.

DmaWidth

Ancho del registro especificado por DeviceAddress. Los valores posibles son Width8Bits, Width16Bits, Width32Bits y Width64Bits.

DeviceAddress

Dirección traducida a o desde la que transfiere el controlador DMA. El controlador puede especificar un desplazamiento de esta dirección base en cada transacción llamando a WdfDmaTransactionSetDeviceAddressOffset.

DmaDescriptor

Descriptor de recursos traducido para el canal DMA asignado al dispositivo durante EvtDevicePrepareHardware. Esto proporciona la línea de solicitud DMA para el adaptador.

Comentarios

El controlador proporciona esta estructura a WdfDmaEnablerConfigureSystemProfile después de crear un habilitador DMA de perfil del sistema.

Normalmente, los controladores establecen DemandMode en TRUE. La función de devolución de llamada EvtProgramDma del controlador programa el dispositivo para declarar su línea de solicitud DMA e iniciar la transferencia. En este caso, la transferencia podría comenzar mientras EvtProgramDma todavía se está ejecutando.

El controlador debe asegurarse de que la línea de solicitud DMA del dispositivo no se aserte antes de que la función de devolución de llamada EvtProgramDma del controlador comience a ejecutarse. De lo contrario, es posible que la transferencia DMA comience antes de que el marco llame a EvtProgramDma.

Si DemandMode se establece en FALSE, la transferencia DMA puede comenzar antes de que el marco llame a la función EvtProgramDma del controlador.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Versión mínima de KMDF 1.11
Encabezado wdfdmaenabler.h (include Wdf.h)

Consulte también

WDF_DMA_SYSTEM_PROFILE_CONFIG_INIT

WdfDmaEnablerConfigureSystemProfile