Método IPortWaveCyclic::NewMasterDmaChannel (portcls.h)
O método NewMasterDmaChannel
cria uma nova instância de um canal DMA mestre de barramento.
Sintaxe
NTSTATUS NewMasterDmaChannel(
[out] PDMACHANNEL *DmaChannel,
[in] PUNKNOWN OuterUnknown,
[in, optional] PRESOURCELIST ResourceList,
[in] ULONG MaximumLength,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed
);
Parâmetros
[out] DmaChannel
Ponteiro para uma variável de ponteiro alocada por chamador na qual o método grava um ponteiro no novo objeto IDmaChannel. Especifique um valor de ponteiro NULL nulo válido para esse parâmetro.
[in] 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, 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] MaximumLength
Comprimento máximo em bytes do buffer de DMA cíclico que será associado a esse canal.
[in] Dma32BitAddresses
Especifica o uso de endereços de 32 bits.
[in] Dma64BitAddresses
Especifica o uso de endereços de 64 bits.
[in] DmaWidth
Não usado. Set to (DMA_WIDTH)(-1).
[in] DmaSpeed
Não usado. Set to (DMA_SPEED)(-1).
Valor de retorno
NewMasterDmaChannel
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.
Observações
Os parâmetros MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidthe DmaSpeed são semelhantes aos membros da estrutura DEVICE_DESCRIPTION com os mesmos nomes.
Um dispositivo WaveCyclic com hardware de DMA de domínio de barramento interno é conhecido como um dispositivo mestre . Por outro lado, um dispositivo subordinado não tem hardware DMA e precisa contar com o controlador DMA do sistema para executar as transferências de dados necessárias. O método NewMasterDmaChannel
cria um objeto de canal DMA para um dispositivo mestre. Para criar um objeto de canal DMA para um dispositivo subordinado, chame o método IPortWaveCyclic::NewSlaveDmaChannel. Para obter mais informações sobre dispositivos mestres e subordinados, consulte IDmaChannel e IDmaChannelSlave.
Os parâmetros DmaChannel, OuterUnknowne ResourceList seguem as convenções de contagem de referência para objetos COM.
Nota
A Microsoft dá suporte a um ambiente diversificado e inclusivo. Este artigo contém referências à terminologia que o guia de estilo da Microsoft para comunicação sem preconceitos reconhece como excludente. A palavra ou frase é usada neste artigo para consistência porque ela aparece atualmente no software. Quando o software for atualizado para remover o idioma, este artigo será atualizado para estar alinhado.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |