IPortWaveCyclic::NewMasterDmaChannel 方法 (portcls.h)

方法 NewMasterDmaChannel 會建立總線主機 DMA 通道的新實例。

語法

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
);

參數

[out] DmaChannel

呼叫端配置的指標變數的指標,方法會將指標寫入新的 IDmaChannel 物件。 指定此參數的有效非NULL 指標值。

[in] OuterUnknown

需要匯總 DMA 信道物件之物件的 IUnknown 介面指標。 這是選擇性參數。 如果不需要匯總,請將此參數指定為 NULL

[in, optional] ResourceList

迷你埠驅動程序的資源清單指標,這是 IResourceList 物件。 此參數是選擇性的,可以指定為 NULL。 方法 NewMasterDmaChannel 目前不會使用此參數。

[in] MaximumLength

與這個通道相關聯的迴圈 DMA 緩衝區長度上限,以位元組為單位。

[in] Dma32BitAddresses

指定使用32位位址。

[in] Dma64BitAddresses

指定64位位址的使用。

[in] DmaWidth

未使用。 設定為 (DMA_WIDTH) (-1) 。

[in] DmaSpeed

未使用。 設定為 (DMA_SPEED) (-1) 。

傳回值

NewMasterDmaChannel 如果呼叫成功,則會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。

備註

Parameters MaximumLengthDma32BitAddressesDma64BitAddressesDmaWidthDmaSpeed 在意義上類似於 具有相同名稱之DEVICE_DESCRIPTION 結構的成員。

具有內建總線主控 DMA 硬體的 WaveCyclic 裝置稱為 主要裝置。 相反地, 次級裝置 缺少 DMA 硬體,而且必須依賴系統 DMA 控制器來執行所需的任何數據傳輸。 方法 NewMasterDmaChannel 會為主要裝置建立 DMA 通道物件。 若要為次級裝置建立 DMA 通道物件,請改為呼叫 IPortWaveCyclic::NewAlleDmaChannel 方法。 如需主要和次級裝置的詳細資訊,請參閱 IDmaChannelIDmaChannel一文。

DmaChannelOuterUnknownResourceList 參數會遵循 COM 物件的參考計數慣例

注意

Microsoft 支援多元且包容性的環境。 本文包含 Microsoft 適用於無偏差通訊 的術語參考,可辨識為排除。 本文中會使用單字或片語進行一致性,因為它目前會出現在軟體中。 當軟體更新為移除語言時,本文將會更新為一致。

規格需求

需求
目標平台 Universal
標頭 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL

另請參閱

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSchedulee

IPortWaveCyclic

IPortWaveCyclic::NewSettingeDmaChannel

IResourceList