estructura WDF_DMA_ENABLER_CONFIG (wdfdmaenabler.h)
[Solo se aplica a KMDF]
La estructura WDF_DMA_ENABLER_CONFIG proporciona características para un objeto enabler 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 de tipo WDF_DMA_PROFILE, que identifica el tipo de operación DMA de bus-master que se asociará con el objeto enabler DMA.
MaximumLength
Tamaño máximo predeterminado, en bytes, que el dispositivo puede controlar en una sola transferencia de 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 mapa, MaximumLength debe ser inferior a 65 536.
EvtDmaEnablerFill
Puntero a la función de devolución de llamada de eventos EvtDmaEnabler Fill del controlador o null.
EvtDmaEnablerFlush
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerFl ush del controlador o NULL.
EvtDmaEnablerDisable
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerDis able del controlador o NULL.
EvtDmaEnablerEnable
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerEn able del controlador o null.
EvtDmaEnablerSelfManagedIoStart
Puntero a la función de devolución de llamada de eventos EvtDmaEnablerSelfManagedIo Start 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 perfil ancho de dirección 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 de DMA de 32 bits, addressWidthOverride no puede ser mayor que 32. El miembro addressWidthOverride de 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.
Observaciones
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 AddressWidthOverride valor 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 una AddressWidthOverride de 32, el marco usa DMA de 32 bits. Si el controlador especifica un perfil de 32 bits y proporciona una AddressWidthOverride de 24, el marco usa DMA de 24 bits.
Requisitos
Requisito | Valor |
---|---|
versión mínima de KMDF | 1.0 |
encabezado | wdfdmaenabler.h (incluya Wdf.h) |
Consulte también
EvtDmaEnablerSelfManagedIoStart