Compartilhar via


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

EvtDmaEnablerDisable

EvtDmaEnablerEnable

EvtDmaEnablerFill

EvtDmaEnablerFlush

EvtDmaEnablerSelfManagedIoStart

EvtDmaEnablerSelfManagedIoStop

WDF_DMA_ENABLER_CONFIG_INIT

WDF_DMA_PROFILE

WdfDmaEnablerCreate

WdfDmaTransactionSetMaximumLength