Método IPortWavePci::NewMasterDmaChannel (portcls.h)
O método NewMasterDmaChannel
cria uma nova instância de um canal DMA mestre de barramento.
Sintaxe
NTSTATUS NewMasterDmaChannel(
PDMACHANNEL *OutDmaChannel,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in, optional] PRESOURCELIST ResourceList,
[in] BOOLEAN ScatterGather,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] BOOLEAN IgnoreCount,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed,
[in] ULONG MaximumLength,
[in] ULONG DmaPort
);
Parâmetros
OutDmaChannel
[in, optional] OuterUnknown
Ponteiro para a interface IUnknown de um objeto que precisa agregar o objeto de canal DMA. Esse parâmetro é opcional. Se a agregação não for necessária, especifique esse parâmetro como NULL.
[in] PoolType
Especifica o tipo de pool de armazenamento do qual o objeto deve ser alocado. Esse é um valor de enumeração POOL_TYPE. Especifique um tipo de pool nãopagado para esse parâmetro.
[in, optional] ResourceList
Ponteiro para a lista de recursos do driver de miniporto, que é um objeto IResourceList. Esse parâmetro é opcional e pode ser especificado como NULL. O método NewMasterDmaChannel
atualmente não usa esse parâmetro.
[in] ScatterGather
Solicita que o canal DMA dê suporte ao DMA de dispersão/coleta. Sempre defina esse parâmetro como VERDADEIRO.
[in] Dma32BitAddresses
Especifica o uso de endereços de 32 bits para operações de DMA.
[in] Dma64BitAddresses
Especifica o uso de endereços de 64 bits para operações de DMA.
[in] IgnoreCount
Indica se o contador de transferência do controlador DMA deve ser ignorado. Defina como VERDADEIRO se o controlador DMA nesta plataforma não mantiver um contador de transferência preciso e, portanto, exigir uma solução alternativa.
[in] DmaWidth
Não usado. Set to (DMA_WIDTH)(-1).
[in] DmaSpeed
Não usado. Set to (DMA_SPEED)(-1).
[in] MaximumLength
Número máximo de bytes no buffer que serão associados a esse canal DMA.
[in] DmaPort
Não usado. Definido como 0.
Valor de retorno
NewMasterDmaChannel
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.
Observações
As definições dos parâmetros de chamada para o método NewMasterDmaChannel
são semelhantes às dos membros da estrutura DEVICE_DESCRIPTION com os mesmos nomes.
Especifique o parâmetro PoolType para ser um dos tipos de pool nãopagados definidos na enumeração POOL_TYPE. O objeto de canal DMA não deve residir na memória paginada porque vários dos métodos na interface de IDmaChannel podem ser chamados do IRQL DISPATCH_LEVEL.
Os parâmetros DmaChannel, OuterUnknowne ResourceList seguem as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |