Compartir a través de


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

El NewMasterDmaChannel método 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 en el nuevo objeto IDmaChannel . Especifique un valor de puntero 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 de canal DMA. 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 minipuerto, que es un objeto IResourceList . Este parámetro es opcional y se puede especificar como NULL. Actualmente, el NewMasterDmaChannel método 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. Establézcalo 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.

Comentarios

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

Un dispositivo WaveCíclico con hardware DMA de maestro de bus integrado se conoce como dispositivo maestro. 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 NewMasterDmaChannel método 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 e IDmaChannelSlave.

Los parámetros DmaChannel, OuterUnknown y 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 sesgo reconoce como exclusionary. La palabra o frase se usa en este artículo para la coherencia porque aparece actualmente en el software. Cuando el software se actualice para quitar el idioma, este artículo se actualizará para que esté en alineación.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
IRQL PASSIVE_LEVEL

Consulte también

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCíclico

IPortWaveCíclico::NewSlaveDmaChannel

IResourceList