共用方式為


IPortWavePci::NewMasterDmaChannel 方法 (portcls.h)

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

語法

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

參數

OutDmaChannel

[in, optional] OuterUnknown

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

[in] PoolType

指定要從中配置物件的存放集區類型。 這是 POOL_TYPE 列舉值。 指定此參數的非分頁集區類型。

[in, optional] ResourceList

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

[in] ScatterGather

要求 DMA 通道支援散佈/收集 DMA。 一律將此參數設定為 TRUE

[in] Dma32BitAddresses

指定 DMA 作業使用 32 位位址。

[in] Dma64BitAddresses

指定 DMA 作業使用 64 位位址。

[in] IgnoreCount

指出是否忽略 DMA 控制器的傳輸計數器。 如果此平臺中的 DMA 控制器未維護精確的傳輸計數器,請設定為 TRUE,因此需要因應措施。

[in] DmaWidth

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

[in] DmaSpeed

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

[in] MaximumLength

緩衝區中與這個 DMA 通道相關聯的位元組數目上限。

[in] DmaPort

未使用。 設定為 0。

傳回值

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

言論

NewMasterDmaChannel 方法之呼叫參數的定義,類似於具有相同名稱之 DEVICE_DESCRIPTION 結構成員的定義。

指定 PoolType 參數,成為POOL_TYPE列舉中定義的其中一個非分頁集區類型。 DMA 信道物件不能位於分頁記憶體中,因為可以從 IRQL DISPATCH_LEVEL呼叫 IDmaChannel 介面中的數個方法。

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

要求

要求 價值
目標平臺 普遍
標頭 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL

另請參閱

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE