Freigeben über


IPortWavePci::NewMasterDmaChannel-Methode (portcls.h)

Die NewMasterDmaChannel -Methode erstellt eine neue instance eines bus-master DMA-Kanals.

Syntax

NTSTATUS NewMasterDmaChannel(
                 PDMACHANNEL   *OutDmaChannel,
  [in, optional] PUNKNOWN      OuterUnknown,
  [in]           POOL_TYPE     PoolType,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           BOOLEAN       ScatterGather,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           BOOLEAN       IgnoreCount,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed,
  [in]           ULONG         MaximumLength,
  [in]           ULONG         DmaPort
);

Parameter

OutDmaChannel

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

Fordert an, dass der DMA-Kanal scatter/gather DMA unterstützt. Legen Sie diesen Parameter immer auf TRUE fest.

[in] Dma32BitAddresses

Gibt die Verwendung von 32-Bit-Adressen für DMA-Vorgänge an.

[in] Dma64BitAddresses

Gibt die Verwendung von 64-Bit-Adressen für DMA-Vorgänge an.

[in] IgnoreCount

Gibt an, ob der Übertragungsindikator des DMA-Controllers ignoriert werden soll. Legen Sie auf TRUE fest, wenn der DMA-Controller auf dieser Plattform keinen genauen Übertragungsindikator beisteuert und daher eine Problemumgehung erfordert.

[in] DmaWidth

Wird nicht verwendet. Legen Sie auf (DMA_WIDTH)(-1) fest.

[in] DmaSpeed

Wird nicht verwendet. Auf (DMA_SPEED)(-1) festgelegt.

[in] MaximumLength

Maximale Anzahl von Bytes im Puffer, die diesem DMA-Kanal zugeordnet werden.

[in] DmaPort

Nicht verwendet. Auf 0 festlegen.

Rückgabewert

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

Hinweise

Die Definitionen der Aufrufparameter für die NewMasterDmaChannel -Methode ähneln denen für die Member der DEVICE_DESCRIPTION-Struktur mit denselben Namen.

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 DmaChannel, OuterUnknown und ResourceList folgen den Referenzzählungskonventionen für COM-Objekte.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE