Compartir a través de


Método IPortWaveCíclico::NewMasterDmaChannel (portcls.h)

El método NewMasterDmaChannel crea una nueva instancia de un canal DMA maestro de bus.

Sintaxis

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

Puntero a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero al nuevo objeto IDmaChannel. Especifique un valor de punteroNULL válido que no sea null para este parámetro.

[in] OuterUnknown

Puntero a la interfaz IUnknown de un objeto que necesita agregar el objeto DMA-channel. Este parámetro es opcional. Si no se requiere la agregación, especifique este parámetro como NULL.

[in, optional] ResourceList

Puntero a la lista de recursos del controlador de miniport, que es un objeto IResourceList. Este parámetro es opcional y se puede especificar como NULL. Actualmente, el método NewMasterDmaChannel no usa este parámetro.

[in] MaximumLength

Longitud máxima en bytes del búfer DMA cíclico que se asociará a este canal.

[in] Dma32BitAddresses

Especifica el uso de direcciones de 32 bits.

[in] Dma64BitAddresses

Especifica el uso de direcciones de 64 bits.

[in] DmaWidth

No se usa. Establezca en (DMA_WIDTH)(-1).

[in] DmaSpeed

No se usa. Establezca en (DMA_SPEED)(-1).

Valor devuelto

NewMasterDmaChannel devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado.

Observaciones

Los parámetros MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidthy DmaSpeed son similares a los miembros de la estructura DEVICE_DESCRIPTION con los mismos nombres.

Un dispositivo WaveCíclico con hardware DMA integrado de bus mastering se conoce como un dispositivo maestro de . Por el contrario, un dispositivo subordinado carece de hardware DMA y tiene que confiar en el controlador DMA del sistema para realizar las transferencias de datos que requiere. El método NewMasterDmaChannel crea un objeto de canal DMA para un dispositivo maestro. Para crear un objeto de canal DMA para un dispositivo subordinado, llame al método IPortWaveCíclico::NewSlaveDmaChannel en su lugar. Para obtener más información sobre los dispositivos maestros y subordinados, consulte IDmaChannel y IDmaChannelSlave.

Los parámetros DmaChannel , OuterUnknowny ResourceList siguen las convenciones de recuento de referencias para objetos COM.

Nota

Microsoft admite un entorno diverso e inclusivo. Este artículo contiene referencias a la terminología que la guía de estilo de Microsoft para la comunicación sin sesgos reconoce como excluyente. La palabra o frase se usa en este artículo para la coherencia porque aparece actualmente en el software. Cuando el software se actualiza para quitar el idioma, este artículo se actualizará para que esté en alineación.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de portcls.h (incluya Portcls.h)
irQL PASSIVE_LEVEL

Consulte también

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCíclico

IPortWaveCíclico::NewSlaveDmaChannel

IResourceList