Condividi tramite


Metodo IPortWavePci::NewMasterDmaChannel (portcls.h)

Il metodo NewMasterDmaChannel crea una nuova istanza di un canale DMA master del bus.

Sintassi

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
);

Parametri

OutDmaChannel

[in, optional] OuterUnknown

Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto canale DMA. Questo parametro è facoltativo. Se l'aggregazione non è necessaria, specificare questo parametro come NULL.

[in] PoolType

Specifica il tipo di pool di archiviazione da cui deve essere allocato l'oggetto. Si tratta di un valore di enumerazione POOL_TYPE. Specificare un tipo di pool non di paging per questo parametro.

[in, optional] ResourceList

Puntatore all'elenco di risorse del driver miniport, ovvero un oggetto IResourceList. Questo parametro è facoltativo e può essere specificato come NULL. Il metodo NewMasterDmaChannel attualmente non usa questo parametro.

[in] ScatterGather

Richiede che il canale DMA supporti DMA dispersione/raccolta DMA. Impostare sempre questo parametro su TRUE.

[in] Dma32BitAddresses

Specifica l'uso di indirizzi a 32 bit per le operazioni DMA.

[in] Dma64BitAddresses

Specifica l'uso di indirizzi a 64 bit per le operazioni DMA.

[in] IgnoreCount

Indica se ignorare il contatore di trasferimento del controller DMA. Impostare su TRUE se il controller DMA in questa piattaforma non gestisce un contatore di trasferimento accurato e pertanto richiede una soluzione alternativa.

[in] DmaWidth

Non utilizzato. Impostare su (DMA_WIDTH)(-1).

[in] DmaSpeed

Non utilizzato. Impostare su (DMA_SPEED)(-1).

[in] MaximumLength

Numero massimo di byte nel buffer che verrà associato a questo canale DMA.

[in] DmaPort

Non utilizzato. Impostare su 0.

Valore restituito

NewMasterDmaChannel restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Osservazioni

Le definizioni dei parametri di chiamata per il metodo NewMasterDmaChannel sono simili a quelle per i membri della struttura DEVICE_DESCRIPTION con gli stessi nomi.

Specificare il parametro PoolType come uno dei tipi di pool non di paging definiti nell'enumerazione POOL_TYPE. L'oggetto canale DMA non deve risiedere nella memoria di paging perché è possibile chiamare diversi metodi nell'interfaccia IDmaChannel IRQ DISPATCH_LEVEL L.

I parametri DmaChannel, OuterUnknowne ResourceList seguono le convenzioni di conteggio dei riferimenti per gli oggetti COM.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedere anche

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE