IPortWaveCyclic::NewMasterDmaChannel-Methode (portcls.h)
Die NewMasterDmaChannel
-Methode erstellt eine neue Instanz eines Busmaster-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, nichtNULL- Zeigerwert 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 keine Aggregation erforderlich ist, geben Sie diesen Parameter als NULL-an.
[in, optional] ResourceList
Zeiger auf die Ressourcenliste des Miniporttreibers, bei dem es sich um ein IResourceList--Objekt handelt. Dieser Parameter ist optional und kann als NULL-angegeben werden. Die NewMasterDmaChannel
-Methode verwendet derzeit keinen Parameter.
[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. Auf (DMA_WIDTH) (-1) festgelegt.
[in] DmaSpeed
Wird nicht verwendet. Festgelegt auf (DMA_SPEED)(-1).
Rückgabewert
NewMasterDmaChannel
gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück.
Bemerkungen
Parameter MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidthund DmaSpeed sind in der Bedeutung den Elementen der DEVICE_DESCRIPTION Struktur mit denselben Namen.
Ein WaveCyclic-Gerät mit integrierter Busmaster-DMA-Hardware wird als Mastergerätbezeichnet. Im Gegensatz dazu fehlt ein untergeordnetes Gerät an DMA-Hardware und muss sich auf den DMA-Systemcontroller verlassen, um alle erforderlichen Datenübertragungen durchzuführen. Die NewMasterDmaChannel
-Methode erstellt ein DMA-Kanalobjekt für ein Mastergerät. Rufen Sie zum Erstellen eines DMA-Kanalobjekts für ein untergeordnetes Gerät stattdessen die IPortWaveCyclic::NewSlaveDmaChannel-Methode auf. Weitere Informationen zu Master- und untergeordneten Geräten finden Sie unter IDmaChannel und IDmaChannelSlave.
Die parameter DmaChannel, OuterUnknownund ResourceList Parameter folgen den Referenzzählungskonventionen für COM-Objekte.
Anmerkung
Microsoft unterstützt eine vielfältige und inklusive Umgebung. Dieser Artikel enthält Verweise auf die Terminologie, die vom Microsoft-Stilleitfaden für die biasfreie Kommunikation als Ausschluss erkannt wird. Das Wort oder der Ausdruck wird in diesem Artikel zur Konsistenz verwendet, da es derzeit in der Software angezeigt wird. Wenn die Software aktualisiert wird, um die Sprache zu entfernen, wird dieser Artikel so aktualisiert, dass er in Übereinstimmung steht.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | portcls.h (include Portcls.h) |
IRQL- | PASSIVE_LEVEL |