estrutura WDF_DMA_ENABLER_CONFIG (wdfdmaenabler.h)
[Aplica-se somente ao KMDF]
A estrutura WDF_DMA_ENABLER_CONFIG fornece características para um objeto habilitador de DMA.
Sintaxe
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;
Membros
Size
O tamanho, em bytes, dessa estrutura.
Profile
Um valor de tipo WDF_DMA_PROFILE, que identifica o tipo de operação de DMA master barramento que será associada ao objeto habilitador de DMA.
MaximumLength
O tamanho máximo padrão, em bytes, que o dispositivo pode manipular em uma única transferência de DMA. (Os drivers podem substituir esse valor padrão para transações de DMA individuais chamando WdfDmaTransactionSetMaximumLength.) Se o driver precisar ser executado em versões de sistemas operacionais Microsoft Windows que dão suporte a um máximo de 16 registros de mapa, MaximumLength deverá ter menos de 65.536.
EvtDmaEnablerFill
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerFill do driver ou NULL.
EvtDmaEnablerFlush
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerFlush do driver ou NULL.
EvtDmaEnablerDisable
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerDisable do driver ou NULL.
EvtDmaEnablerEnable
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerEnable do driver ou NULL.
EvtDmaEnablerSelfManagedIoStart
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerSelfManagedIoStart do driver ou NULL.
EvtDmaEnablerSelfManagedIoStop
Um ponteiro para a função de retorno de chamada de evento EvtDmaEnablerSelfManagedIoStop do driver ou NULL.
AddressWidthOverride
Defina como zero para aceitar a largura do endereço especificada em Perfil. Um driver pode substituir a largura do endereço de perfil definindo esse membro como um valor entre 24 e 63. Se o driver especificar um perfil de DMA no modo do sistema, AddressWidthOverride deverá ser zero. Se o driver especificar um perfil DMA de 32 bits, AddressWidthOverride não poderá ser maior que 32. O membro AddressWidthOverride está disponível na versão 1.11 e versões posteriores do KMDF. Confira mais informações em Comentários.
WdmDmaVersionOverride
Defina como zero para aceitar a versão padrão do DMA. Para solicitar o DMA versão 3, defina como 3. O membro WdmDmaVersionOverride está disponível na versão 1.11 e em versões posteriores do KMDF. O DMA versão 3 está disponível a partir de Windows 8.
Flags
Um OR bit a bit de um ou mais valores da enumeração WDF_DMA_ENABLER_CONFIG_FLAGS . O membro Flags está disponível na versão 1.11 e em versões posteriores do KMDF.
Comentários
A estrutura WDF_DMA_ENABLER_CONFIG é usada como um parâmetro de entrada para o método WdfDmaEnablerCreate .
Os drivers devem chamar WDF_DMA_ENABLER_CONFIG_INIT para inicializar a estrutura de WDF_DMA_ENABLER_CONFIG .
Em Windows 8 e posterior, quando o driver fornece um valor diferente de zero para AddressWidthOverride, a estrutura solicita o DMA versão 3 e passa o valor AddressWidthOverride para o HAL.
No Windows 7 e no Windows Vista, quando o driver fornece um valor diferente de zero para AddressWidthOverride, a estrutura usa DMA de 32 bits ou 24 bits. Por exemplo, se o driver especificar um perfil de 64 bits e fornecer um AddressWidthOverride de 32, a estrutura usará o DMA de 32 bits. Se o driver especificar um perfil de 32 bits e fornecer um AddressWidthOverride de 24, a estrutura usará o DMA de 24 bits.
Requisitos
Requisito | Valor |
---|---|
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdmaenabler.h (inclua Wdf.h) |
Confira também
EvtDmaEnablerSelfManagedIoStart