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) |