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 介面中的數個方法。
DmaChannel、OuterUnknown和 ResourceList 參數遵循 COM 物件的 參考計數慣例。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | portcls.h (包括 Portcls.h) |
IRQL | PASSIVE_LEVEL |