Compartilhar via


Função PcNewDmaChannel (portcls.h)

A função PcNewDmaChannel cria um novo objeto de canal DMA. Essa função está obsoleta; para obter mais informações, consulte os comentários a seguir.

Sintaxe

PORTCLASSAPI NTSTATUS PcNewDmaChannel(
  [out]          PDMACHANNEL         *OutDmaChannel,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           PDEVICE_DESCRIPTION DeviceDescription,
  [in]           PDEVICE_OBJECT      DeviceObject
);

Parâmetros

[out] OutDmaChannel

Ponteiro de saída para o objeto DMA-channel criado por essa função. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual a função gera uma referência ao objeto IDmaChannel recém-criado. Especifique um valor de ponteiro não NULL válido para esse parâmetro.

[in, optional] OuterUnknown

Ponteiro para a interface IUnknown de um objeto que precisa agregar o objeto. A menos que a agregação seja necessária, defina 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] DeviceDescription

Ponteiro para uma descrição do dispositivo físico para o qual o chamador está solicitando um objeto DMA. Esse parâmetro aponta para uma estrutura do tipo DEVICE_DESCRIPTION.

[in] DeviceObject

Ponteiro para o objeto do dispositivo para o dispositivo adaptador físico. Esse parâmetro aponta para uma estrutura do sistema do tipo DEVICE_OBJECT.

Retornar valor

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

Comentários

PcNewDmaChannel está obsoleto. Para todos os novos drivers de áudio, use um dos seguintes métodos IPortWave Xxx::NewXxxDmaChannel no lugar de PcNewDmaChannel:

IPortWavePci::NewMasterDmaChannel

IPortWaveCyclic::NewMasterDmaChannel

IPortWaveCyclic::NewSlaveDmaChannel

Para fins de compatibilidade com versões anteriores, o driver do sistema PortCls continuará a dar suporte a PcNewDmaChannel, e os drivers existentes podem continuar a usar essa função.

Especifique o parâmetro PoolType como 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 OutDmaChannel e OuterUnknown seguem as convenções de contagem de referência para objetos COM.

Observação

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 em alinhamento.

Requisitos

Requisito Valor
Cliente mínimo com suporte Obsoleto. Para todos os novos drivers de áudio, use um método IPortWaveXxx::NewXxxDmaChannel. O driver do sistema PortCls implementa a função PcNewDmaChannel no Microsoft Windows 98/Me e no Windows 2000 e em sistemas operacionais posteriores.
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
Biblioteca Portcls.lib
IRQL PASSIVE_LEVEL

Confira também

DEVICE_DESCRIPTION

DEVICE_OBJECT

IDmaChannel

POOL_TYPE