PcNewDmaChannel-Funktion (portcls.h)

Die PcNewDmaChannel-Funktion erstellt ein neues DMA-Kanalobjekt. Diese Funktion ist veraltet. Weitere Informationen finden Sie in den folgenden Kommentaren.

Syntax

PORTCLASSAPI NTSTATUS PcNewDmaChannel(
  [out]          PDMACHANNEL         *OutDmaChannel,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           PDEVICE_DESCRIPTION DeviceDescription,
  [in]           PDEVICE_OBJECT      DeviceObject
);

Parameter

[out] OutDmaChannel

Ausgabezeiger für das von dieser Funktion erstellte DMA-Kanalobjekt. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Funktion einen Verweis auf das neu erstellte IDmaChannel-Objekt ausgibt. Geben Sie einen gültigen Zeigerwert ohne NULL für diesen Parameter an.

[in, optional] OuterUnknown

Zeiger auf die IUnknown-Schnittstelle eines Objekts, das das Objekt aggregieren muss. Legen Sie diesen Parameter auf NULL fest, sofern keine Aggregation erforderlich ist.

[in] PoolType

Gibt den Typ des Speicherpools an, aus dem das Objekt zugeordnet werden soll. Dies ist ein POOL_TYPE Enumerationswert. Geben Sie einen nicht ausseitigen Pooltyp für diesen Parameter an.

[in] DeviceDescription

Zeiger auf eine Beschreibung des physischen Geräts, für das der Aufrufer ein DMA-Objekt anfordert. Dieser Parameter verweist auf eine Struktur vom Typ DEVICE_DESCRIPTION.

[in] DeviceObject

Zeiger auf das Geräteobjekt für das physische Adaptergerät. Dieser Parameter verweist auf eine Systemstruktur vom Typ DEVICE_OBJECT.

Rückgabewert

PcNewDmaChannel gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Hinweise

PcNewDmaChannel ist veraltet. Verwenden Sie für alle neuen Audiotreiber eine der folgenden IPortWave Xxx::NewXxxDmaChannel-Methoden anstelle von PcNewDmaChannel:

IPortWavePci::NewMasterDmaChannel

IPortWaveCyclic::NewMasterDmaChannel

IPortWaveCyclic::NewSlaveDmaChannel

Aus Gründen der Abwärtskompatibilität unterstützt der PortCls-Systemtreiber weiterhin PcNewDmaChannel, und vorhandene Treiber können diese Funktion weiterhin verwenden.

Geben Sie den PoolType-Parameter als einen der in der POOL_TYPE-Enumeration definierten Nicht-Auslagerpooltypen an. Das DMA-Channel-Objekt darf sich nicht im ausgelagerten Speicher befinden, da mehrere Methoden in der IDmaChannel-Schnittstelle von IRQL DISPATCH_LEVEL aufgerufen werden können.

Die Parameter OutDmaChannel und OuterUnknown 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
Unterstützte Mindestversion (Client) Veraltet. Verwenden Sie für alle neuen Audiotreiber stattdessen eine IPortWaveXxx::NewXxxDmaChannel-Methode. Der PortCls-Systemtreiber implementiert die PcNewDmaChannel-Funktion in Microsoft Windows 98/Me und in Windows 2000 und höheren Betriebssystemen.
Zielplattform Universell
Header portcls.h (include Portcls.h)
Bibliothek Portcls.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

DEVICE_DESCRIPTION

DEVICE_OBJECT

IDmaChannel

POOL_TYPE