Metodo IPortWaveCyclic::NewMasterDmaChannel (portcls.h)
Il NewMasterDmaChannel
metodo 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 al nuovo oggetto IDmaChannel . Specificare un valore puntatore non NULL valido per questo parametro.
[in] OuterUnknown
Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto DMA-channel. Questo parametro è facoltativo e, 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 NewMasterDmaChannel
metodo attualmente non usa questo parametro.
[in] MaximumLength
Lunghezza massima in byte del buffer DMA ciclico 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 usato. Impostare su (DMA_WIDTH)(-1).
[in] DmaSpeed
Non usato. Impostare su (DMA_SPEED)(-1).
Valore restituito
NewMasterDmaChannel
restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato.
Commenti
I parametri MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidth e DmaSpeed sono simili ai membri della struttura DEVICE_DESCRIPTION con gli stessi nomi.
Un dispositivo WaveCyclic con hardware DMA predefinito per il bus master è definito dispositivo master. Al contrario, un dispositivo subordinato non dispone dell'hardware DMA e deve basarsi sul controller DMA di sistema per eseguire eventuali trasferimenti di dati necessari. Il NewMasterDmaChannel
metodo 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, OuterUnknown e 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 che la guida allo stile Microsoft per la comunicazione senza pregiudizi riconosce come esclusioni. La parola o la frase viene usata in questo articolo per la coerenza perché attualmente viene visualizzata nel software. Quando il software viene aggiornato per rimuovere la lingua, questo articolo verrà aggiornato in allineamento.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | portcls.h (includere Portcls.h) |
IRQL | PASSIVE_LEVEL |