Compartir a través de


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

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

Sintaxis

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

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] PoolType

Especifica el tipo de grupo de almacenamiento desde el que se va a asignar el objeto. Se trata de un valor de enumeración POOL_TYPE. Especifique un tipo de grupo no paginado para este parámetro.

[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] ScatterGather

Solicita que el canal DMA admita dispersión o recopilación de DMA. Establezca siempre este parámetro en TRUE.

[in] Dma32BitAddresses

Especifica el uso de direcciones de 32 bits para las operaciones DMA.

[in] Dma64BitAddresses

Especifica el uso de direcciones de 64 bits para las operaciones DMA.

[in] IgnoreCount

Indica si se omitirá el contador de transferencia del controlador DMA. Establézcalo en TRUE si el controlador DMA de esta plataforma no mantiene un contador de transferencia preciso y, por tanto, requiere una solución alternativa.

[in] DmaWidth

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

[in] DmaSpeed

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

[in] MaximumLength

Número máximo de bytes en el búfer que se asociará a este canal DMA.

[in] DmaPort

No se usa. Establezca en 0.

Valor devuelto

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

Observaciones

Las definiciones de los parámetros de llamada para el método NewMasterDmaChannel son similares a las de los miembros de la estructura DEVICE_DESCRIPTION con los mismos nombres.

Especifique el parámetro PoolType para que sea uno de los tipos de grupo no paginados definidos en la enumeración POOL_TYPE. El objeto DMA-channel no debe residir en la memoria paginada porque se pueden llamar a varios de los métodos de la interfaz IDmaChannel desde IRQL DISPATCH_LEVEL.

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

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

IPortWavePci

IResourceList

POOL_TYPE