IPortWaveCyclic::NewMasterDmaChannel-Methode (portcls.h)
Die NewMasterDmaChannel
-Methode erstellt eine neue instance eines bus-master DMA-Kanals.
Syntax
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
);
Parameter
[out] DmaChannel
Zeiger auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Methode einen Zeiger auf das neue IDmaChannel-Objekt schreibt. Geben Sie einen gültigen Zeigerwert ohne NULL für diesen Parameter an.
[in] OuterUnknown
Zeiger auf die IUnknown-Schnittstelle eines Objekts, das das DMA-Kanalobjekt aggregieren muss. Dieser Parameter ist optional. Wenn die Aggregation nicht erforderlich ist, geben Sie diesen Parameter als NULL an.
[in, optional] ResourceList
Zeiger auf die Ressourcenliste des Miniporttreibers, bei der es sich um ein IResourceList-Objekt handelt. Dieser Parameter ist optional und kann als NULL angegeben werden. Die NewMasterDmaChannel
-Methode verwendet diesen Parameter derzeit nicht.
[in] MaximumLength
Maximale Länge in Bytes des zyklischen DMA-Puffers, der diesem Kanal zugeordnet wird.
[in] Dma32BitAddresses
Gibt die Verwendung von 32-Bit-Adressen an.
[in] Dma64BitAddresses
Gibt die Verwendung von 64-Bit-Adressen an.
[in] DmaWidth
Wird nicht verwendet. Legen Sie auf (DMA_WIDTH)(-1) fest.
[in] DmaSpeed
Wird nicht verwendet. Auf (DMA_SPEED)(-1) festgelegt.
Rückgabewert
NewMasterDmaChannel
gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück.
Hinweise
Die Parameter MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidth und DmaSpeed ähneln den Elementen der DEVICE_DESCRIPTION-Struktur mit denselben Namen.
Ein WaveCyclic-Gerät mit integrierter Busmastering-DMA-Hardware wird als master-Gerät bezeichnet. Im Gegensatz dazu fehlt einem untergeordneten Gerät die DMA-Hardware und muss sich auf den DMA-Controller des Systems verlassen, um alle benötigten Datenübertragungen durchzuführen. Die NewMasterDmaChannel
-Methode erstellt ein DMA-Kanalobjekt für ein master-Gerät. Um ein DMA-Kanalobjekt für ein untergeordnetes Gerät zu erstellen, rufen Sie stattdessen die IPortWaveCyclic::NewSlaveDmaChannel-Methode auf. Weitere Informationen zu master und untergeordneten Geräten finden Sie unter IDmaChannel und IDmaChannelSlave.
Die Parameter DmaChannel, OuterUnknown und ResourceList folgen den Referenzzählungskonventionen für COM-Objekte.
Hinweis
Microsoft unterstützt eine vielfältige und inklusive Umgebung. Dieser Artikel enthält Verweise auf Terminologie, die im Microsoft-Stilleitfaden für biasfreie Kommunikation als ausschließend anerkannt wird. Das Wort oder der Ausdruck wird in diesem Artikel aus Gründen der Konsistenz verwendet, da er derzeit in der Software angezeigt wird. Wenn die Software aktualisiert wird, um die Sprache zu entfernen, wird dieser Artikel entsprechend aktualisiert.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |