Condividi tramite


Metodo IPortWaveCyclic::NewMasterDmaChannel (portcls.h)

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

Sintassi

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

Parametri

[out] DmaChannel

Puntatore a una variabile puntatore allocata dal chiamante in cui il metodo scrive un puntatore nel nuovo oggetto IDmaChannel. Specificare un valore valido, nonNULL valore del puntatore per questo parametro.

[in] 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, 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] MaximumLength

Lunghezza massima in byte del buffer DMA ciclico che verrà associato a questo canale.

[in] Dma32BitAddresses

Specifica l'uso di indirizzi a 32 bit.

[in] Dma64BitAddresses

Specifica l'uso di indirizzi a 64 bit.

[in] DmaWidth

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

[in] DmaSpeed

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

Valore restituito

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

Osservazioni

I parametri MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidthe DmaSpeed sono simili ai membri della struttura DEVICE_DESCRIPTION con gli stessi nomi.

Un dispositivo WaveCyclic con hardware DMA di mastering bus incorporato viene definito dispositivo master . Al contrario, un dispositivo subordinato manca l'hardware DMA e deve basarsi sul controller DMA di sistema per eseguire eventuali trasferimenti di dati necessari. Il metodo NewMasterDmaChannel crea un oggetto canale DMA per un dispositivo master. Per creare un oggetto canale DMA per un dispositivo subordinato, chiamare invece il metodo IPortWaveCyclic::NewSlaveDmaChannel. Per altre informazioni sui dispositivi master e subordinati, vedere IDmaChannel e IDmaChannelSlave.

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

Nota

Microsoft supporta un ambiente diversificato e inclusivo. Questo articolo contiene riferimenti alla terminologia riconosciuta dalla guida di stile Microsoft per la comunicazione senza pregiudizi come esclusioni. La parola o la frase viene usata in questo articolo per coerenza perché è attualmente presente nel software. Quando il software viene aggiornato per rimuovere la lingua, questo articolo verrà aggiornato per essere allineato.

Fabbisogno

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

Vedere anche

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewSlaveDmaChannel

IResourceList