Share via


Método IPortWavePci::NewMasterDmaChannel (portcls.h)

O NewMasterDmaChannel método cria uma nova instância de um canal DMA master 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 DMA-channel. 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 miniport, que é um objeto IResourceList . Esse parâmetro é opcional e pode ser especificado como NULL. Atualmente NewMasterDmaChannel , o método 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 TRUE.

[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 TRUE 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. Defina como (DMA_WIDTH)(-1).

[in] DmaSpeed

Não usado. Defina como (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. Defina como 0.

Retornar valor

NewMasterDmaChannel retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, ele retornará um código de erro apropriado.

Comentários

As definições dos parâmetros de chamada para o NewMasterDmaChannel método 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 IDmaChannel podem ser chamados do IRQL DISPATCH_LEVEL.

Os parâmetros DmaChannel, OuterUnknown e ResourceList seguem as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
IRQL PASSIVE_LEVEL

Confira também

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE