共用方式為


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 物件的參考計數慣例

規格需求

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

另請參閱

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE