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

El NewMasterDmaChannel método 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 de canal DMA. Este parámetro es opcional. Si no se requiere la agregación, especifique este parámetro como NULL.

[in] PoolType

Especifica el tipo de bloque 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 NewMasterDmaChannel método 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 omite el contador de transferencia del controlador DMA. Se establece 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 utiliza. Establecer en 0.

Valor devuelto

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

Comentarios

Las definiciones de los parámetros de llamada para el NewMasterDmaChannel método 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 memoria paginada porque se puede llamar a varios de los métodos de la interfaz IDmaChannel desde IRQL DISPATCH_LEVEL.

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

Requisitos

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

Consulte también

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE