Função WdfDmaTransactionSetMaximumLength (wdfdmatransaction.h)
[Aplica-se somente ao KMDF]
O método WdfDmaTransactionSetMaximumLength define o comprimento máximo para as transferências de DMA associadas a uma transação de DMA especificada.
Sintaxe
void WdfDmaTransactionSetMaximumLength(
[in] WDFDMATRANSACTION DmaTransaction,
[in] size_t MaximumLength
);
Parâmetros
[in] DmaTransaction
Um identificador para um objeto de transação DMA que o driver obteve de uma chamada anterior para WdfDmaTransactionCreate.
[in] MaximumLength
O tamanho máximo, em bytes, que o dispositivo pode manipular em uma única operação de transferência de DMA. Se o driver precisar ser executado em versões dos sistemas operacionais Microsoft Windows que dão suporte a um máximo de 16 registros de mapa, MaximumLength deverá ser menor que 65536.
O valor MaximumLength aplica-se somente à transação de DMA especificada, da seguinte maneira:
- Se o valor especificado for menor que o valor padrão especificado pelo driver em sua estrutura WDF_DMA_ENABLER_CONFIG , o valor especificado substituirá o valor padrão.
- Se o valor especificado for maior que o valor padrão, o valor especificado será ignorado.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Seu driver deve inicializar a transação de DMA antes de chamar WdfDmaTransactionSetMaximumLength.
Para obter informações sobre como inicializar uma transação de DMA, consulte Criando e inicializando uma transação de DMA.
Exemplos
O exemplo de código a seguir define o comprimento máximo de transferência para um valor definido pelo driver para uma transação de DMA especificada.
WdfDmaTransactionSetMaximumLength(
dmaTransaction,
MAX_TRANSFER_LENGTH/2,
);
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfdmatransaction.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.) |
IRQL | <=DISPATCH_LEVEL |
Regras de conformidade de DDI | DriverCreate(kmdf) |