estructura WDF_DMA_ENABLER_CONFIG (wdfdmaenabler.h)
[Solo se aplica a KMDF]
La estructura WDF_DMA_ENABLER_CONFIG proporciona características para un objeto de habilitador DMA.
Sintaxis
typedef struct _WDF_DMA_ENABLER_CONFIG {
ULONG Size;
WDF_DMA_PROFILE Profile;
size_t MaximumLength;
PFN_WDF_DMA_ENABLER_FILL EvtDmaEnablerFill;
PFN_WDF_DMA_ENABLER_FLUSH EvtDmaEnablerFlush;
PFN_WDF_DMA_ENABLER_DISABLE EvtDmaEnablerDisable;
PFN_WDF_DMA_ENABLER_ENABLE EvtDmaEnablerEnable;
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_START EvtDmaEnablerSelfManagedIoStart;
PFN_WDF_DMA_ENABLER_SELFMANAGED_IO_STOP EvtDmaEnablerSelfManagedIoStop;
ULONG AddressWidthOverride;
ULONG WdmDmaVersionOverride;
ULONG Flags;
} WDF_DMA_ENABLER_CONFIG, *PWDF_DMA_ENABLER_CONFIG;
Miembros
Size
Tamaño, en bytes, de esta estructura.
Profile
Valor WDF_DMA_PROFILE con tipo, que identifica el tipo de operación DMA de bus-master que se asociará al objeto de habilitador DMA.
MaximumLength
Tamaño máximo predeterminado, en bytes, que el dispositivo puede controlar en una única transferencia DMA. (Los controladores pueden invalidar este valor predeterminado para transacciones DMA individuales llamando a WdfDmaTransactionSetMaximumLength). Si el controlador debe ejecutarse en versiones de sistemas operativos Microsoft Windows que admitan un máximo de 16 registros de asignación, MaximumLength debe ser inferior a 65 536.
EvtDmaEnablerFill
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerFill del controlador o NULL.
EvtDmaEnablerFlush
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerFlush del controlador o NULL.
EvtDmaEnablerDisable
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerDisable del controlador o NULL.
EvtDmaEnablerEnable
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerEnable del controlador o NULL.
EvtDmaEnablerSelfManagedIoStart
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerSelfManagedIoStart del controlador o NULL.
EvtDmaEnablerSelfManagedIoStop
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerSelfManagedIoStop del controlador o NULL.
AddressWidthOverride
Establezca en cero para aceptar el ancho de dirección especificado en Perfil. Un controlador puede invalidar el ancho de dirección del perfil estableciendo este miembro en un valor entre 24 y 63. Si el controlador especifica un perfil DMA en modo del sistema, AddressWidthOverride debe ser cero. Si el controlador especifica un perfil DMA de 32 bits, AddressWidthOverride no puede ser mayor que 32. El miembro AddressWidthOverride está disponible en la versión 1.11 y versiones posteriores de KMDF. Vea más información en Comentarios.
WdmDmaVersionOverride
Establezca en cero para aceptar la versión predeterminada de DMA. Para solicitar la versión 3 de DMA, establezca en 3. El miembro WdmDmaVersionOverride está disponible en la versión 1.11 y en versiones posteriores de KMDF. La versión 3 de DMA está disponible a partir de Windows 8.
Flags
OR bit a bit de uno o varios valores de la enumeración WDF_DMA_ENABLER_CONFIG_FLAGS . El miembro Flags está disponible en la versión 1.11 y en versiones posteriores de KMDF.
Comentarios
La estructura WDF_DMA_ENABLER_CONFIG se usa como parámetro de entrada para el método WdfDmaEnablerCreate .
Los controladores deben llamar a WDF_DMA_ENABLER_CONFIG_INIT para inicializar la estructura de WDF_DMA_ENABLER_CONFIG .
En Windows 8 y versiones posteriores, cuando el controlador proporciona un valor distinto de cero para AddressWidthOverride, el marco solicita la versión 3 de DMA y pasa el valor AddressWidthOverride a HAL.
En Windows 7 y Windows Vista, cuando el controlador proporciona un valor distinto de cero para AddressWidthOverride, el marco usa DMA de 32 o 24 bits. Por ejemplo, si el controlador especifica un perfil de 64 bits y proporciona un AddressWidthOverride de 32, el marco usa DMA de 32 bits. Si el controlador especifica un perfil de 32 bits y proporciona addressWidthOverride de 24, el marco usa DMA de 24 bits.
Requisitos
Requisito | Value |
---|---|
Versión mínima de KMDF | 1.0 |
Encabezado | wdfdmaenabler.h (incluya Wdf.h) |
Consulte también
EvtDmaEnablerSelfManagedIoStart